@tachybase/plugin-workflow-approval 1.4.0 → 1.5.1
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.
package/dist/client/index.js
CHANGED
|
@@ -98,7 +98,7 @@ Error generating stack: `+p.message+`
|
|
|
98
98
|
*
|
|
99
99
|
* This source code is licensed under the MIT license found in the
|
|
100
100
|
* LICENSE file in the root directory of this source tree.
|
|
101
|
-
*/var Ef;function qC(){if(Ef)return Ra;Ef=1;var n=y;function o(S,w){return S===w&&(S!==0||1/S===1/w)||S!==S&&w!==w}var r=typeof Object.is=="function"?Object.is:o,i=n.useState,a=n.useEffect,c=n.useLayoutEffect,d=n.useDebugValue;function f(S,w){var k=w(),b=i({inst:{value:k,getSnapshot:w}}),E=b[0].inst,P=b[1];return c(function(){E.value=k,E.getSnapshot=w,g(E)&&P({inst:E})},[S,k,w]),a(function(){return g(E)&&P({inst:E}),S(function(){g(E)&&P({inst:E})})},[S]),d(k),k}function g(S){var w=S.getSnapshot;S=S.value;try{var k=w();return!r(S,k)}catch(b){return!0}}function h(S,w){return w()}var x=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?h:f;return Ra.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:x,Ra}var Pf;function QC(){return Pf||(Pf=1,Za.exports=qC()),Za.exports}var GC=QC();let XC=!1;const If=new Set;function Tf(){return XC}function JC(n){return If.add(n),()=>{If.delete(n)}}function ZC(){return GC.useSyncExternalStore(JC,Tf,Tf)}const ec="adm-spin-loading",RC={default:"var(--adm-color-weak)",primary:"var(--adm-color-primary)",white:"var(--adm-color-white)"},ew={color:"default"},tw=15*3.14159265358979*2,_f=y.memo(n=>{var o;const r=qe(ew,n),i=ZC(),{percent:a}=ho({cancel:i,loop:{reverse:!0},from:{percent:80},to:{percent:30},config:{duration:1200}});return Pe(r,y.createElement(Cn.div,{className:ec,style:{"--color":(o=RC[r.color])!==null&&o!==void 0?o:r.color,"--percent":a}},y.createElement("svg",{className:`${ec}-svg`,viewBox:"0 0 32 32"},y.createElement(Cn.circle,{className:`${ec}-fill`,fill:"transparent",strokeWidth:"2",strokeDasharray:tw,strokeDashoffset:a,strokeLinecap:"square",r:15,cx:16,cy:16}))))}),Go="adm-picker-view",nw={defaultValue:[],renderLabel:Af,mouseWheel:!1,loadingContent:y.createElement("div",{className:`${Go}-loading-content`},y.createElement(_f,null))},Ff=y.memo(n=>{const o=qe(nw,n),[r,i]=y.useState(o.value===void 0?o.defaultValue:o.value);y.useEffect(()=>{o.value!==void 0&&o.value!==r&&i(o.value)},[o.value]),y.useEffect(()=>{if(o.value===r)return;const f=window.setTimeout(()=>{o.value!==void 0&&o.value!==r&&i(o.value)},1e3);return()=>{window.clearTimeout(f)}},[o.value,r]);const a=bf(o.columns,r),c=a.columns;Ue.useDebounceEffect(()=>{var f;o.value!==r&&((f=o.onChange)===null||f===void 0||f.call(o,r,a))},[r],{wait:0,leading:!1,trailing:!0});const d=y.useCallback((f,g)=>{i(h=>{const x=[...h];return x[g]=f,x})},[]);return Pe(o,y.createElement("div",{className:`${Go}`},o.loading?o.loadingContent:y.createElement(y.Fragment,null,c.map((f,g)=>y.createElement(wf,{key:g,index:g,column:f,value:r[g],onSelect:d,renderLabel:o.renderLabel,mouseWheel:o.mouseWheel})),y.createElement("div",{className:`${Go}-mask`},y.createElement("div",{className:`${Go}-mask-top`}),y.createElement("div",{className:`${Go}-mask-middle`}),y.createElement("div",{className:`${Go}-mask-bottom`})))))});Ff.displayName="PickerView";const zn="adm-picker",ow={defaultValue:[],closeOnMaskClick:!0,renderLabel:Af,destroyOnClose:!1,forceRender:!1},tc=y.memo(y.forwardRef((n,o)=>{var r;const{locale:i}=yn(),a=qe(ow,{confirmText:i.common.confirm,cancelText:i.common.cancel},n),[c,d]=Mn({value:a.visible,defaultValue:!1,onChange:P=>{var _;P===!1&&((_=a.onClose)===null||_===void 0||_.call(a))}}),f={toggle:()=>{d(P=>!P)},open:()=>{d(!0)},close:()=>{d(!1)}};y.useImperativeHandle(o,()=>f);const[g,h]=Mn(Object.assign(Object.assign({},a),{onChange:P=>{var _;const B=kf(a.columns,P);(_=a.onConfirm)===null||_===void 0||_.call(a,P,B)}})),x=bf(a.columns,g),[S,w]=y.useState(g);y.useEffect(()=>{S!==g&&w(g)},[c]),y.useEffect(()=>{c||w(g)},[g]);const k=Ue.useMemoizedFn((P,_)=>{var B;w(P),c&&((B=a.onSelect)===null||B===void 0||B.call(a,P,_))}),b=Pe(a,y.createElement("div",{className:zn},y.createElement("div",{className:`${zn}-header`},y.createElement("a",{role:"button",className:`${zn}-header-button`,onClick:()=>{var P;(P=a.onCancel)===null||P===void 0||P.call(a),d(!1)}},a.cancelText),y.createElement("div",{className:`${zn}-header-title`},a.title),y.createElement("a",{role:"button",className:be(`${zn}-header-button`,a.loading&&`${zn}-header-button-disabled`),onClick:()=>{a.loading||(h(S,!0),d(!1))},"aria-disabled":a.loading},a.confirmText)),y.createElement("div",{className:`${zn}-body`},y.createElement(Ff,{loading:a.loading,loadingContent:a.loadingContent,columns:a.columns,renderLabel:a.renderLabel,value:S,mouseWheel:a.mouseWheel,onChange:k})))),E=y.createElement(of,{style:a.popupStyle,className:be(`${zn}-popup`,a.popupClassName),visible:c,position:"bottom",onMaskClick:()=>{var P;a.closeOnMaskClick&&((P=a.onCancel)===null||P===void 0||P.call(a),d(!1))},getContainer:a.getContainer,destroyOnClose:a.destroyOnClose,afterShow:a.afterShow,afterClose:a.afterClose,onClick:a.onClick,forceRender:a.forceRender,stopPropagation:a.stopPropagation},b,y.createElement(sf,{position:"bottom"}));return y.createElement(y.Fragment,null,E,(r=a.children)===null||r===void 0?void 0:r.call(a,x.items,f))}));tc.displayName="Picker";function rw(n){return new Promise(o=>{const r=()=>{const[a,c]=y.useState(!1);return y.useEffect(()=>{c(!0)},[]),y.createElement(tc,Object.assign({},n,{visible:a,onConfirm:(d,f)=>{var g;(g=n.onConfirm)===null||g===void 0||g.call(n,d,f),o(d)},onClose:()=>{var d;(d=n.onClose)===null||d===void 0||d.call(n),c(!1),o(null)},afterClose:()=>{var d;(d=n.afterClose)===null||d===void 0||d.call(n),i()}}))},i=qa(y.createElement(r,null))})}const Jr=gn(tc,{prompt:rw}),bt="adm-tabs",sw=()=>null,iw={activeLineMode:"auto",stretch:!0,direction:"ltr"},yo=gn(n=>{var o;const r=qe(iw,n),i=y.useRef(null),a=y.useRef(null),c={};let d=null;const f=[],g=r.direction==="rtl";yf(r.children,(z,K)=>{if(!y.isValidElement(z))return;const Y=z.key;if(typeof Y!="string")return;K===0&&(d=Y);const Q=f.push(z);c[Y]=Q-1});const[h,x]=Mn({value:r.activeKey,defaultValue:(o=r.defaultActiveKey)!==null&&o!==void 0?o:d,onChange:z=>{var K;z!==null&&((K=r.onChange)===null||K===void 0||K.call(r,z))}}),[{x:S,width:w},k]=ho(()=>({x:0,width:0,config:{tension:300,clamp:!0}})),[{scrollLeft:b},E]=ho(()=>({scrollLeft:0,config:{tension:300,clamp:!0}})),[{leftMaskOpacity:P,rightMaskOpacity:_},B]=ho(()=>({leftMaskOpacity:0,rightMaskOpacity:0,config:{clamp:!0}}));function $(z=!1,K=!1){const Y=i.current;if(!Y)return;const Q=c[h];if(Q===void 0){k.start({x:0,width:0,immediate:!0});return}const ce=a.current;if(!ce)return;const ne=Y.children.item(Q+1),me=ne.children.item(0),ye=me.offsetLeft,xe=me.offsetWidth,Ee=ne.offsetLeft,at=ne.offsetWidth,He=Y.offsetWidth,Jt=Y.scrollWidth,J=Y.scrollLeft,ue=ce.offsetWidth;let R=0,ke=0;if(r.activeLineMode==="auto"?(R=ye,ke=xe):r.activeLineMode==="full"?(R=Ee,ke=at):R=ye+(xe-ue)/2,g){const Ne=["auto","full"].includes(r.activeLineMode)?ke:ue;R=-(He-R-Ne)}k.start({x:R,width:ke,immediate:z});const Ce=Jt-He;if(Ce<=0)return;let Xe=0;g?Xe=-vo(He/2-ye+xe/2-ue,0,Ce):Xe=vo(ye-(He-xe)/2,0,Ce),(!K||r.autoScroll!==!1)&&E.start({scrollLeft:Xe,from:{scrollLeft:J},immediate:z})}Ue.useIsomorphicLayoutEffect(()=>{$(!S.isAnimating)},[]),AC(()=>{$()},[h,g,r.activeLineMode]),zC(()=>{$(!S.isAnimating)},i),jC(()=>{$(!S.isAnimating,!0)},i,{subtree:!0,childList:!0,characterData:!0});const{run:L}=Ue.useThrottleFn((z=!1)=>{const K=i.current;if(!K)return;const Y=K.scrollLeft;let Q=!1,ce=!1;g?(Q=Math.round(-Y)+K.offsetWidth<K.scrollWidth,ce=Y<0):(Q=Y>0,ce=Y+K.offsetWidth<K.scrollWidth),B.start({leftMaskOpacity:Q?1:0,rightMaskOpacity:ce?1:0,immediate:z})},{wait:100,trailing:!0,leading:!0});return Ue.useIsomorphicLayoutEffect(()=>{L(!0)},[]),Pe(r,y.createElement("div",{className:bt,style:{direction:r.direction}},y.createElement("div",{className:`${bt}-header`},y.createElement(Cn.div,{className:be(`${bt}-header-mask`,`${bt}-header-mask-left`),style:{opacity:P}}),y.createElement(Cn.div,{className:be(`${bt}-header-mask`,`${bt}-header-mask-right`),style:{opacity:_}}),y.createElement(Cn.div,{className:`${bt}-tab-list`,ref:i,scrollLeft:b,onScroll:L,role:"tablist"},y.createElement(Cn.div,{ref:a,className:`${bt}-tab-line`,style:{width:r.activeLineMode==="fixed"?"var(--fixed-active-line-width, 30px)":w,x:S}}),f.map(z=>Pe(z.props,y.createElement("div",{key:z.key,className:be(`${bt}-tab-wrapper`,{[`${bt}-tab-wrapper-stretch`]:r.stretch})},y.createElement("div",{onClick:()=>{const{key:K}=z;z.props.disabled||K!=null&&x(K.toString())},className:be(`${bt}-tab`,{[`${bt}-tab-active`]:z.key===h,[`${bt}-tab-disabled`]:z.props.disabled}),role:"tab","aria-selected":z.key===h},z.props.title)))))),f.map(z=>{if(z.props.children===void 0)return null;const K=z.key===h;return y.createElement(Wa,{key:z.key,active:K,forceRender:z.props.forceRender,destroyOnClose:z.props.destroyOnClose},y.createElement("div",{className:`${bt}-content`,style:{display:K?"block":"none"}},z.props.children))})))},{Tab:sw}),Zr="adm-list",lw={mode:"default"},aw=y.forwardRef((n,o)=>{const r=qe(lw,n),i=y.useRef(null);return y.useImperativeHandle(o,()=>({get nativeElement(){return i.current}})),Pe(r,y.createElement("div",{className:be(Zr,`${Zr}-${r.mode}`),ref:i},r.header&&y.createElement("div",{className:`${Zr}-header`},r.header),y.createElement("div",{className:`${Zr}-body`},y.createElement("div",{className:`${Zr}-body-inner`},r.children))))});function bi(n){return n!=null&&n!==!1}const wn="adm-list-item",Ai=gn(aw,{Item:n=>{var o,r;const{arrow:i,arrowIcon:a}=n,{list:c={}}=yn(),d=(o=n.clickable)!==null&&o!==void 0?o:!!n.onClick,f=(r=i!=null?i:a)!==null&&r!==void 0?r:d,g=ia(c.arrowIcon,i!==!0?i:null,a!==!0?a:null),h=y.createElement("div",{className:`${wn}-content`},bi(n.prefix)&&y.createElement("div",{className:`${wn}-content-prefix`},n.prefix),y.createElement("div",{className:`${wn}-content-main`},bi(n.title)&&y.createElement("div",{className:`${wn}-title`},n.title),n.children,bi(n.description)&&y.createElement("div",{className:`${wn}-description`},n.description)),bi(n.extra)&&y.createElement("div",{className:`${wn}-content-extra`},n.extra),f&&y.createElement("div",{className:`${wn}-content-arrow`},g||y.createElement(Sg,null)));return Pe(n,y.createElement(d?"a":"div",{className:be(`${wn}`,d?["adm-plain-anchor"]:[],n.disabled&&`${wn}-disabled`),onClick:n.disabled?void 0:n.onClick},h))}});function cw(n,o){const r=[];for(let i=n;i<=o;i++)r.push(i);return r}const Rr="adm-skeleton",nc=n=>Pe(n,y.createElement("div",{className:be(Rr,{[`${Rr}-animated`]:n.animated})})),uw=n=>Pe(n,y.createElement(nc,{animated:n.animated,className:`${Rr}-title`})),dw={lineCount:3},Vn=gn(nc,{Title:uw,Paragraph:n=>{const o=qe(dw,n),r=cw(1,o.lineCount),i=y.createElement("div",{className:`${Rr}-paragraph`},r.map(a=>y.createElement(nc,{key:a,animated:o.animated,className:`${Rr}-paragraph-line`})));return Pe(o,i)}}),pw=(n={})=>y.useMemo(()=>{const{label:r="label",value:i="value",disabled:a="disabled",children:c="children"}=n;return[r,i,c,a]},[JSON.stringify(n)]);var Ei={exports:{}},fw=Ei.exports,Nf;function mw(){return Nf||(Nf=1,function(n,o){(function(r,i){n.exports=i()})(fw,function(){return function(r,i){i.prototype.isoWeeksInYear=function(){var a=this.isLeapYear(),c=this.endOf("y").day();return c===4||a&&c===5?53:52}}})}(Ei)),Ei.exports}var hw=mw();const Df=co(hw);var Pi={exports:{}},vw=Pi.exports,Of;function yw(){return Of||(Of=1,function(n,o){(function(r,i){n.exports=i()})(vw,function(){return function(r,i){i.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}})}(Pi)),Pi.exports}var gw=yw();const Bf=co(gw),es="TILL_NOW";Be.extend(mf),Be.extend(Df),Be.extend(Bf);const jn={year:0,month:1,day:2,hour:3,minute:4,second:5};function xw(n,o,r,i,a,c,d){const f=[],g=o.getFullYear(),h=o.getMonth()+1,x=o.getDate(),S=o.getHours(),w=o.getMinutes(),k=o.getSeconds(),b=r.getFullYear(),E=r.getMonth()+1,P=r.getDate(),_=r.getHours(),B=r.getMinutes(),$=r.getSeconds(),L=jn[i],z=parseInt(n[0]),K=Be(oc([n[0],n[1],"1"])),Y=parseInt(n[1]),Q=parseInt(n[2]),ce=parseInt(n[3]),ne=parseInt(n[4]),me=z===g,ye=z===b,xe=me&&Y===h,Ee=ye&&Y===E,at=xe&&Q===x,He=Ee&&Q===P,Jt=at&&ce===S,J=He&&ce===_,ue=Jt&&ne===w,R=J&&ne===B,ke=(Ce,Xe,Ne)=>{let De=[];for(let gt=Ce;gt<=Xe;gt++)De.push(gt);const Dt=n.slice(0,jn[Ne]),dn=c==null?void 0:c[Ne];return dn&&typeof dn=="function"&&(De=De.filter(gt=>dn(gt,{get date(){const ji=[...Dt,gt.toString()];return oc(ji)}}))),De};if(L>=jn.year){const Ne=ke(g,b,"year");f.push(Ne.map(De=>({label:a("year",De),value:De.toString()})))}if(L>=jn.month){const Ne=ke(me?h:1,ye?E:12,"month");f.push(Ne.map(De=>({label:a("month",De),value:De.toString()})))}if(L>=jn.day){const Ce=xe?x:1,Xe=Ee?P:K.daysInMonth(),Ne=ke(Ce,Xe,"day");f.push(Ne.map(De=>({label:a("day",De),value:De.toString()})))}if(L>=jn.hour){const Ne=ke(at?S:0,He?_:23,"hour");f.push(Ne.map(De=>({label:a("hour",De),value:De.toString()})))}if(L>=jn.minute){const Ne=ke(Jt?w:0,J?B:59,"minute");f.push(Ne.map(De=>({label:a("minute",De),value:De.toString()})))}if(L>=jn.second){const Ne=ke(ue?k:0,R?$:59,"second");f.push(Ne.map(De=>({label:a("second",De),value:De.toString()})))}if(d&&(f[0].push({label:a("now",null),value:es}),es===(n==null?void 0:n[0])))for(let Ce=1;Ce<f.length;Ce+=1)f[Ce]=[];return f}function Cw(n){return n?[n.getFullYear().toString(),(n.getMonth()+1).toString(),n.getDate().toString(),n.getHours().toString(),n.getMinutes().toString(),n.getSeconds().toString()]:[]}function oc(n){var o,r,i,a,c,d;const f=(o=n[0])!==null&&o!==void 0?o:"1900",g=(r=n[1])!==null&&r!==void 0?r:"1",h=(i=n[2])!==null&&i!==void 0?i:"1",x=(a=n[3])!==null&&a!==void 0?a:"0",S=(c=n[4])!==null&&c!==void 0?c:"0",w=(d=n[5])!==null&&d!==void 0?d:"0";return new Date(parseInt(f),parseInt(g)-1,parseInt(h),parseInt(x),parseInt(S),parseInt(w))}var Ii={exports:{}},ww=Ii.exports,Lf;function Sw(){return Lf||(Lf=1,function(n,o){(function(r,i){n.exports=i()})(ww,function(){var r="month",i="quarter";return function(a,c){var d=c.prototype;d.quarter=function(h){return this.$utils().u(h)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(h-1))};var f=d.add;d.add=function(h,x){return h=Number(h),this.$utils().p(x)===i?this.add(3*h,r):f.bind(this)(h,x)};var g=d.startOf;d.startOf=function(h,x){var S=this.$utils(),w=!!S.u(x)||x;if(S.p(h)===i){var k=this.quarter()-1;return w?this.month(3*k).startOf(r).startOf("day"):this.month(3*k+2).endOf(r).endOf("day")}return g.bind(this)(h,x)}}})}(Ii)),Ii.exports}var kw=Sw();const bw=co(kw);Be.extend(bw);const Ti={year:0,quarter:1};function Aw(n,o,r,i,a,c){const d=[],f=o.getFullYear(),g=r.getFullYear(),h=Ti[i],x=parseInt(n[0]),S=x===f,w=x===g,k=Be(o),b=Be(r),E=k.quarter(),P=b.quarter(),_=(B,$,L)=>{let z=[];for(let Q=B;Q<=$;Q++)z.push(Q);const K=n.slice(0,Ti[L]),Y=c==null?void 0:c[L];return Y&&typeof Y=="function"&&(z=z.filter(Q=>Y(Q,{get date(){const ce=[...K,Q.toString()];return $f(ce)}}))),z};if(h>=Ti.year){const L=_(f,g,"year");d.push(L.map(z=>({label:a("year",z),value:z.toString()})))}if(h>=Ti.quarter){const L=_(S?E:1,w?P:4,"quarter");d.push(L.map(z=>({label:a("quarter",z),value:z.toString()})))}return d}function Ew(n){if(!n)return[];const o=Be(n);return[o.year().toString(),o.quarter().toString()]}function $f(n){var o,r;const i=(o=n[0])!==null&&o!==void 0?o:"1900",a=(r=n[1])!==null&&r!==void 0?r:"1";return Be().year(parseInt(i)).quarter(parseInt(a)).hour(0).minute(0).second(0).toDate()}Be.extend(mf),Be.extend(Df),Be.extend(Bf);const ts={year:0,week:1,"week-day":2};function Pw(n,o,r,i,a,c){const d=[],f=o.getFullYear(),g=r.getFullYear(),h=ts[i],x=parseInt(n[0]),S=x===f,w=x===g,k=Be(o),b=Be(r),E=k.isoWeek(),P=b.isoWeek(),_=k.isoWeekday(),B=b.isoWeekday(),$=parseInt(n[1]),L=S&&$===E,z=w&&$===P,K=Be(`${x}-01-01`).isoWeeksInYear(),Y=(Q,ce,ne)=>{let me=[];for(let Ee=Q;Ee<=ce;Ee++)me.push(Ee);const ye=n.slice(0,ts[ne]),xe=c==null?void 0:c[ne];return xe&&typeof xe=="function"&&(me=me.filter(Ee=>xe(Ee,{get date(){const at=[...ye,Ee.toString()];return Mf(at)}}))),me};if(h>=ts.year){const ne=Y(f,g,"year");d.push(ne.map(me=>({label:a("year",me),value:me.toString()})))}if(h>=ts.week){const ne=Y(S?E:1,w?P:K,"week");d.push(ne.map(me=>({label:a("week",me),value:me.toString()})))}if(h>=ts["week-day"]){const ne=Y(L?_:1,z?B:7,"week-day");d.push(ne.map(me=>({label:a("week-day",me),value:me.toString()})))}return d}function Iw(n){if(!n)return[];const o=Be(n);return[o.isoWeekYear().toString(),o.isoWeek().toString(),o.isoWeekday().toString()]}function Mf(n){var o,r,i;const a=(o=n[0])!==null&&o!==void 0?o:"1900",c=(r=n[1])!==null&&r!==void 0?r:"1",d=(i=n[2])!==null&&i!==void 0?i:"1";return Be(`${parseInt(a)}-01-01`).isoWeek(parseInt(c)).isoWeekday(parseInt(d)).hour(0).minute(0).second(0).toDate()}const Tw={year:1,month:2,day:3,hour:4,minute:5,second:6},_w=(n,o)=>{if(o.includes("week"))return Iw(n);if(o.includes("quarter"))return Ew(n);{const r=o;return Cw(n).slice(0,Tw[r])}},zf=(n,o)=>{if((n==null?void 0:n[0])===es){const r=new Date;return r.tillNow=!0,r}return o.includes("week")?Mf(n):o.includes("quarter")?$f(n):oc(n)},Fw=(n,o,r,i,a,c,d)=>i.startsWith("week")?Pw(n,o,r,i,a,c):i.startsWith("quarter")?Aw(n,o,r,i,a,c):xw(n,o,r,i,a,c,d);function Nw(n){const{locale:o}=yn();return y.useCallback((r,i)=>{if(n)return n(r,i);switch(r){case"minute":case"second":case"hour":return("0"+i.toString()).slice(-2);case"now":return o.DatePicker.tillNow;default:return i.toString()}},[n])}const Vf=new Date().getFullYear(),Dw={min:new Date(new Date().setFullYear(Vf-10)),max:new Date(new Date().setFullYear(Vf+10)),precision:"day",defaultValue:null},jf=y.forwardRef((n,o)=>{const r=qe(Dw,n),{renderLabel:i}=r,[a,c]=Mn({value:r.value,defaultValue:r.defaultValue,onChange:w=>{var k;w!==null&&((k=r.onConfirm)===null||k===void 0||k.call(r,w))}}),d=y.useMemo(()=>new Date,[]),f=Nw(i),g=y.useMemo(()=>{let w=a!=null?a:d;return w.tillNow?[es]:(w=new Date(vo(w.getTime(),r.min.getTime(),r.max.getTime())),_w(w,r.precision))},[a,r.precision,r.min,r.max]),h=y.useCallback(w=>{const k=zf(w,r.precision);c(k,!0)},[c,r.precision]),x=Ue.useMemoizedFn(w=>{var k;const b=zf(w,r.precision);(k=r.onSelect)===null||k===void 0||k.call(r,b)}),S=y.useCallback(w=>Fw(w,r.min,r.max,r.precision,f,r.filter,r.tillNow),[r.min,r.max,r.precision,f,r.tillNow]);return Pe(r,y.createElement(Jr,{ref:o,columns:S,value:g,onCancel:r.onCancel,onClose:r.onClose,closeOnMaskClick:r.closeOnMaskClick,visible:r.visible,confirmText:r.confirmText,cancelText:r.cancelText,onConfirm:h,onSelect:x,getContainer:r.getContainer,loading:r.loading,loadingContent:r.loadingContent,afterShow:r.afterShow,afterClose:r.afterClose,onClick:r.onClick,title:r.title,stopPropagation:r.stopPropagation,mouseWheel:r.mouseWheel,destroyOnClose:r.destroyOnClose,forceRender:r.forceRender},(w,k)=>{var b;return(b=r.children)===null||b===void 0?void 0:b.call(r,a,k)}))});function Ow(n){return new Promise(o=>{const r=()=>{const[a,c]=y.useState(!1);return y.useEffect(()=>{c(!0)},[]),y.createElement(jf,Object.assign({},n,{visible:a,onConfirm:d=>{var f;(f=n.onConfirm)===null||f===void 0||f.call(n,d),o(d)},onClose:()=>{var d;(d=n.onClose)===null||d===void 0||d.call(n),c(!1),o(null)},afterClose:()=>{var d;(d=n.afterClose)===null||d===void 0||d.call(n),i()}}))},i=qa(y.createElement(r,null))})}const Bw=gn(jf,{prompt:Ow,DATE_NOW:es}),Lw=n=>Pe(n,y.createElement("svg",{viewBox:"0 0 64 41"},y.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},y.createElement("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),y.createElement("g",{stroke:"#d9d9d9"},y.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),y.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"#fafafa"}))))),ns="adm-empty",rc=n=>{function o(){const{image:r}=n;return r===void 0?y.createElement(Lw,{className:`${ns}-image`,style:n.imageStyle}):typeof r=="string"?y.createElement("img",{className:`${ns}-image`,style:n.imageStyle,src:r,alt:"empty"}):r}return Pe(n,y.createElement("div",{className:ns},y.createElement("div",{className:`${ns}-image-container`},o()),n.description&&y.createElement("div",{className:be(`${ns}-description`)},n.description)))},Uf="adm-grid",os=gn(n=>{const o={"--columns":n.columns.toString()},{gap:r}=n;return r!==void 0&&(Array.isArray(r)?(o["--gap-horizontal"]=Ga(r[0]),o["--gap-vertical"]=Ga(r[1])):o["--gap"]=Ga(r)),Pe(n,y.createElement("div",{className:Uf,style:o},n.children))},{Item:n=>{const o=qe({span:1},n),r={"--item-span":o.span};return Pe(o,y.createElement("div",{className:`${Uf}-item`,style:r,onClick:o.onClick},o.children))}}),go="adm-space",$w={direction:"horizontal"},yt=n=>{const o=qe($w,n),{direction:r,onClick:i}=o;return Pe(o,y.createElement("div",{className:be(go,{[`${go}-wrap`]:o.wrap,[`${go}-block`]:o.block,[`${go}-${r}`]:!0,[`${go}-align-${o.align}`]:!!o.align,[`${go}-justify-${o.justify}`]:!!o.justify}),onClick:i},y.Children.map(o.children,a=>a!=null&&y.createElement("div",{className:`${go}-item`},a))))};function Mw({onEnterPress:n,onKeyDown:o,nativeInputRef:r,enterKeyHint:i}){const a=c=>{n&&(c.code==="Enter"||c.keyCode===13)&&n(c),o==null||o(c)};return Ue.useIsomorphicLayoutEffect(()=>{const c=r.current;if(!(!i||!c))return c.setAttribute("enterkeyhint",i),()=>{c.removeAttribute("enterkeyhint")}},[i]),a}const _i="adm-input",zw={defaultValue:"",clearIcon:y.createElement(Cg,null),onlyShowClearWhenFocus:!0},Vw=y.forwardRef((n,o)=>{const{locale:r,input:i={}}=yn(),a=qe(zw,i,n),[c,d]=Mn(a),[f,g]=y.useState(!1),h=y.useRef(!1),x=y.useRef(null),S=Mw({onEnterPress:a.onEnterPress,onKeyDown:a.onKeyDown,nativeInputRef:x,enterKeyHint:a.enterKeyHint});y.useImperativeHandle(o,()=>({clear:()=>{d("")},focus:()=>{var b;(b=x.current)===null||b===void 0||b.focus()},blur:()=>{var b;(b=x.current)===null||b===void 0||b.blur()},get nativeElement(){return x.current}}));function w(){let b=c;if(a.type==="number"){const E=b&&vo(parseFloat(b),a.min,a.max).toString();Number(b)!==Number(E)&&(b=E)}b!==c&&d(b)}const k=!a.clearable||!c||a.readOnly?!1:a.onlyShowClearWhenFocus?f:!0;return Pe(a,y.createElement("div",{className:be(`${_i}`,a.disabled&&`${_i}-disabled`)},y.createElement("input",{ref:x,className:`${_i}-element`,value:c,onChange:b=>{d(b.target.value)},onFocus:b=>{var E;g(!0),(E=a.onFocus)===null||E===void 0||E.call(a,b)},onBlur:b=>{var E;g(!1),w(),(E=a.onBlur)===null||E===void 0||E.call(a,b)},onPaste:a.onPaste,id:a.id,placeholder:a.placeholder,disabled:a.disabled,readOnly:a.readOnly,maxLength:a.maxLength,minLength:a.minLength,max:a.max,min:a.min,autoComplete:a.autoComplete,enterKeyHint:a.enterKeyHint,autoFocus:a.autoFocus,pattern:a.pattern,inputMode:a.inputMode,type:a.type,name:a.name,autoCapitalize:a.autoCapitalize,autoCorrect:a.autoCorrect,onKeyDown:S,onKeyUp:a.onKeyUp,onCompositionStart:b=>{var E;h.current=!0,(E=a.onCompositionStart)===null||E===void 0||E.call(a,b)},onCompositionEnd:b=>{var E;h.current=!1,(E=a.onCompositionEnd)===null||E===void 0||E.call(a,b)},onClick:a.onClick,step:a.step,role:a.role,"aria-valuenow":a["aria-valuenow"],"aria-valuemax":a["aria-valuemax"],"aria-valuemin":a["aria-valuemin"],"aria-label":a["aria-label"]}),k&&y.createElement("div",{className:`${_i}-clear`,onMouseDown:b=>{b.preventDefault()},onClick:()=>{var b,E;d(""),(b=a.onClear)===null||b===void 0||b.call(a),FC()&&h.current&&(h.current=!1,(E=x.current)===null||E===void 0||E.blur())},"aria-label":r.Input.clear},a.clearIcon)))}),Xo="adm-nav-bar",Wf=y.createElement(wg,null),rs=n=>{const{navBar:o={}}=yn(),r=qe(o,n),{back:i,backIcon:a,backArrow:c}=r,d=o.backIcon||Wf,f=ia(Wf,o.backIcon,c===!0?d:c,a===!0?d:a);return Pe(r,y.createElement("div",{className:be(Xo)},y.createElement("div",{className:`${Xo}-left`,role:"button"},i!==null&&y.createElement("div",{className:`${Xo}-back`,onClick:r.onBack},f&&y.createElement("span",{className:`${Xo}-back-arrow`},f),y.createElement("span",{"aria-hidden":"true"},i)),r.left),y.createElement("div",{className:`${Xo}-title`},r.children),y.createElement("div",{className:`${Xo}-right`},r.right)))},Un="adm-search-bar",jw={clearable:!0,onlyShowClearWhenFocus:!1,showCancelButton:!1,defaultValue:"",clearOnCancel:!0},Hf=y.forwardRef((n,o)=>{const{locale:r,searchBar:i={}}=yn(),a=qe(jw,i,{cancelText:r.common.cancel},n),c=ia(y.createElement(kg,null),i.searchIcon,n.icon,n.searchIcon),[d,f]=Mn(a),[g,h]=y.useState(!1),x=y.useRef(null),S=y.useRef(!1);y.useImperativeHandle(o,()=>({clear:()=>{var k;return(k=x.current)===null||k===void 0?void 0:k.clear()},focus:()=>{var k;return(k=x.current)===null||k===void 0?void 0:k.focus()},blur:()=>{var k;return(k=x.current)===null||k===void 0?void 0:k.blur()},get nativeElement(){var k,b;return(b=(k=x.current)===null||k===void 0?void 0:k.nativeElement)!==null&&b!==void 0?b:null}}));const w=()=>{let k;return typeof a.showCancelButton=="function"?k=a.showCancelButton(g,d):k=a.showCancelButton&&g,k&&y.createElement("div",{className:`${Un}-suffix`},y.createElement(pf,{fill:"none",className:`${Un}-cancel-button`,onClick:()=>{var b,E,P;a.clearOnCancel&&((b=x.current)===null||b===void 0||b.clear()),(E=x.current)===null||E===void 0||E.blur(),(P=a.onCancel)===null||P===void 0||P.call(a)},onMouseDown:b=>{b.preventDefault()}},a.cancelText))};return Pe(a,y.createElement("div",{className:be(Un,{[`${Un}-active`]:g})},y.createElement("div",{className:`${Un}-input-box`},c&&y.createElement("div",{className:`${Un}-input-box-icon`},c),y.createElement(Vw,{ref:x,className:be(`${Un}-input`,{[`${Un}-input-without-icon`]:!c}),value:d,onChange:f,maxLength:a.maxLength,autoFocus:a.autoFocus,placeholder:a.placeholder,clearable:a.clearable,onlyShowClearWhenFocus:a.onlyShowClearWhenFocus,onFocus:k=>{var b;h(!0),(b=a.onFocus)===null||b===void 0||b.call(a,k)},onBlur:k=>{var b;h(!1),(b=a.onBlur)===null||b===void 0||b.call(a,k)},onClear:a.onClear,type:"search",enterKeyHint:"search",onEnterPress:()=>{var k,b;S.current||((k=x.current)===null||k===void 0||k.blur(),(b=a.onSearch)===null||b===void 0||b.call(a,d))},"aria-label":r.SearchBar.name,onCompositionStart:k=>{var b;S.current=!0,(b=a.onCompositionStart)===null||b===void 0||b.call(a,k)},onCompositionEnd:k=>{var b;S.current=!1,(b=a.onCompositionEnd)===null||b===void 0||b.call(a,k)}})),w()))}),Uw=y.memo(()=>y.createElement("svg",{width:"17px",height:"13px",viewBox:"0 0 17 13",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},y.createElement("g",{stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},y.createElement("g",{transform:"translate(-2832.000000, -1103.000000)",stroke:"#FFFFFF",strokeWidth:"3"},y.createElement("g",{transform:"translate(2610.000000, 955.000000)"},y.createElement("g",{transform:"translate(24.000000, 91.000000)"},y.createElement("g",{transform:"translate(179.177408, 36.687816)"},y.createElement("polyline",{points:"34.2767388 22 24.797043 31.4796958 21 27.6826527"})))))))),xo="adm-selector",Ww={multiple:!1,defaultValue:[],showCheckMark:!0},Hw=n=>{const o=qe(Ww,n),[r,i,,a]=pw(o.fieldNames),[c,d]=Mn({value:o.value,defaultValue:o.defaultValue,onChange:h=>{var x;const S={get items(){return o.options.filter(w=>h.includes(w[i]))}};(x=o.onChange)===null||x===void 0||x.call(o,h,S)}}),{locale:f}=yn(),g=o.options.map(h=>{const x=(c||[]).includes(h[i]),S=h[a]||o.disabled,w=be(`${xo}-item`,{[`${xo}-item-active`]:x&&!o.multiple,[`${xo}-item-multiple-active`]:x&&o.multiple,[`${xo}-item-disabled`]:S});return y.createElement("div",{key:h[i],className:w,onClick:()=>{if(!S)if(o.multiple){const k=x?c.filter(b=>b!==h[i]):[...c,h[i]];d(k)}else{const k=x?[]:[h[i]];d(k)}},role:"option","aria-selected":x&&!o.multiple||x&&o.multiple},h[r],h.description&&y.createElement("div",{className:`${xo}-item-description`},h.description),x&&o.showCheckMark&&y.createElement("div",{className:`${xo}-check-mark-wrapper`},y.createElement(Uw,null)))});return Pe(o,y.createElement("div",{className:xo,role:"listbox","aria-label":f.Selector.name},o.columns?y.createElement(os,{columns:o.columns},g):y.createElement(yt,{wrap:!0},g)))},Co="adm-step",Kw=n=>{const{title:o,description:r,icon:i,status:a="wait"}=n;return Pe(n,y.createElement("div",{className:be(`${Co}`,`${Co}-status-${a}`)},y.createElement("div",{className:`${Co}-indicator`},y.createElement("div",{className:`${Co}-icon-container`},i)),y.createElement("div",{className:`${Co}-content`},y.createElement("div",{className:`${Co}-title`},o),!!r&&y.createElement("div",{className:`${Co}-description`},r))))},Kf="adm-steps",Yw=y.createElement("span",{className:"adm-step-icon-dot"}),qw={current:0,direction:"horizontal"},Yf=gn(n=>{const o=qe(qw,n),{direction:r,current:i}=o,a=be(Kf,`${Kf}-${r}`);return Pe(o,y.createElement("div",{className:a},y.Children.map(o.children,(c,d)=>{var f;if(!y.isValidElement(c))return c;const g=c.props;let h=g.status||"wait";d<i?h=g.status||"finish":d===i&&(h=g.status||"process");const x=(f=g.icon)!==null&&f!==void 0?f:Yw;return y.cloneElement(c,{status:h,icon:x})})))},{Step:Kw}),Qw=()=>null,Sn="adm-tab-bar",Gw={safeArea:!1},Xw=gn(n=>{var o;const r=qe(Gw,n);let i=null;const a=[];yf(r.children,(f,g)=>{if(!y.isValidElement(f))return;const h=f.key;typeof h=="string"&&(g===0&&(i=h),a.push(f))});const[c,d]=Mn({value:r.activeKey,defaultValue:(o=r.defaultActiveKey)!==null&&o!==void 0?o:i,onChange:f=>{var g;f!==null&&((g=r.onChange)===null||g===void 0||g.call(r,f))}});return Pe(r,y.createElement("div",{className:Sn},y.createElement("div",{className:`${Sn}-wrap`},a.map(f=>{const g=f.key===c;function h(){const x=f.props.icon&&y.createElement("div",{className:`${Sn}-item-icon`},typeof f.props.icon=="function"?f.props.icon(g):f.props.icon),S=f.props.title&&y.createElement("div",{className:be(`${Sn}-item-title`,!!x&&`${Sn}-item-title-with-icon`)},typeof f.props.title=="function"?f.props.title(g):f.props.title);return x?y.createElement(y.Fragment,null,y.createElement(df,{content:f.props.badge,className:`${Sn}-icon-badge`},x),S):S?y.createElement(df,{content:f.props.badge,className:`${Sn}-title-badge`},S):null}return Pe(f.props,y.createElement("div",{key:f.key,onClick:()=>{var x,S;const{key:w}=f;w!=null&&(d(w.toString()),(S=(x=f.props).onClick)===null||S===void 0||S.call(x))},className:be(`${Sn}-item`,{[`${Sn}-item-active`]:g})},h()))})),r.safeArea&&y.createElement(sf,{position:"bottom"})))},{Item:Qw}),qf="adm-tag",Jw={default:"var(--adm-color-text-secondary, #666666)",primary:"var(--adm-color-primary, #1677ff)",success:"var(--adm-color-success, #00b578)",warning:"var(--adm-color-warning, #ff8f1f)",danger:"var(--adm-color-danger, #ff3141)"},Zw={color:"default",fill:"solid",round:!1},Wn=n=>{var o;const r=qe(Zw,n),i=(o=Jw[r.color])!==null&&o!==void 0?o:r.color,a={"--border-color":i,"--text-color":r.fill==="outline"?i:"#ffffff","--background-color":r.fill==="outline"?"transparent":i};return Pe(r,y.createElement("span",{style:a,onClick:r.onClick,className:be(qf,{[`${qf}-round`]:r.round})},r.children))},kn="adm-toast",Rw={maskClickable:!0,stopPropagation:["click"]},eS=n=>{const o=qe(Rw,n),{maskClickable:r,content:i,icon:a,position:c}=o,d=y.useMemo(()=>{if(a==null)return null;switch(a){case"success":return y.createElement(xg,{className:`${kn}-icon-success`});case"fail":return y.createElement(kd,{className:`${kn}-icon-fail`});case"loading":return y.createElement(_f,{color:"white",className:`${kn}-loading`});default:return a}},[a]),f=y.useMemo(()=>{switch(c){case"top":return"20%";case"bottom":return"80%";default:return"50%"}},[c]);return y.createElement(Dp,{visible:o.visible,destroyOnClose:!0,opacity:0,disableBodyScroll:!r,getContainer:o.getContainer,afterClose:o.afterClose,style:Object.assign({pointerEvents:r?"none":"auto"},o.maskStyle),className:be(`${kn}-mask`,o.maskClassName),stopPropagation:o.stopPropagation},y.createElement("div",{className:be(`${kn}-wrap`)},y.createElement("div",{style:{top:f},className:be(`${kn}-main`,a?`${kn}-main-icon`:`${kn}-main-text`)},d&&y.createElement("div",{className:`${kn}-icon`},d),y.createElement(Qa,null,i))))};let Nt=null,sc=null;const Fi={duration:2e3,position:"center",maskClickable:!0},tS=n=>y.createElement(eS,Object.assign({},n));function nS(n){var o;const r=qe(Fi,typeof n=="string"?{content:n}:n),i=y.createElement(tS,Object.assign({},r,{onClose:()=>{Nt=null}}));return Nt?!((o=Nt.isRendered)===null||o===void 0)&&o.call(Nt)?Nt.replace(i):(Nt.close(),Nt=af(i)):Nt=af(i),sc&&window.clearTimeout(sc),r.duration!==0&&(sc=window.setTimeout(()=>{Qf()},r.duration)),Nt}function Qf(){Nt==null||Nt.close(),Nt=null}function oS(n){n.duration!==void 0&&(Fi.duration=n.duration),n.position!==void 0&&(Fi.position=n.position),n.maskClickable!==void 0&&(Fi.maskClickable=n.maskClickable)}const un={show:nS,clear:Qf,config:oS},wo=[{value:ae.DRAFT,label:W("Draft"),editable:!0},{value:ae.RETURNED,label:W("Returned"),color:"purple",editable:!0},{value:ae.SUBMITTED,label:W("Submitted"),color:"cyan"},{value:ae.PROCESSING,label:W("Processing"),color:"gold"},{value:ae.APPROVED,label:W("Approved"),color:"green"},{value:ae.RESUBMIT,label:W("Resubmit"),color:"blue",editable:!0},{value:ae.REJECTED,label:W("Rejected"),color:"red"},{value:ae.ERROR,label:W("ERROR"),color:"#FF0000"}],Ni=wo.reduce((n,o)=>Z(D({},n),{[o.value]:o}),{}),Jo=y.createContext({});function Qe(){return y.useContext(Jo)}const Gf=y.createContext({actionEnabled:!1}),rS=n=>{const o=v.useCompile(),{t:r}=we(),{approval:i}=Qe(),{data:a}=v.useCurrentUserContext(),{Step:c}=Yf,d=y.useMemo(()=>sS({approval:i,currentUser:a}),[i,a]),f=iS(d,r,{compile:o});return m.jsx(Gf.Provider,{value:{actionEnabled:n.actionEnabled},children:m.jsx(Yf,{direction:"vertical",children:f.map((g,h)=>m.jsx(c,{title:o(g.title),description:m.jsx(yt,{direction:"vertical",children:g.description.map((x,S)=>m.jsxs(yt,{children:[x.userName,m.jsx(Wn,{color:x.status.color,fill:"outline",children:o(x.status.label)}),x.date]},S))}),status:"finish"},h))})})};function sS({approval:n,currentUser:o}){const{workflow:r,approvalExecutions:i,records:a}=n;i.sort((f,g)=>Date.parse(f.createdAt)-Date.parse(g.createdAt));const c=i.reduce((f,g)=>Object.assign(f,{[g.id]:Object.assign(g,{records:[{groupCount:1,node:{title:Rl("Apply")},user:Z(D({},n.createdBy),{id:n.createdById}),status:g.status?ae.SUBMITTED:n.status,updatedAt:g.createdAt,execution:D({},g)}]})}),{});a.sort((f,g)=>{var S,w;const h=new Date((S=f.job)==null?void 0:S.createdAt),x=new Date((w=g.job)==null?void 0:w.createdAt);return h<x?-1:h>x?1:f.id-g.id}).forEach(f=>{const g=c[f.approvalExecutionId],h=Oe.omit(g,["records"]);f.workflow=r,f.execution=D({},h),g.records.push(f),g.jobs||(g.jobs={}),g.jobs[f.jobId]?g.jobs[f.jobId].first.groupCount+=1:(g.jobs[f.jobId]={first:f},f.groupCount=1,f.statusCount={[ae.APPROVED]:0,[ae.REJECTED]:0}),[ae.APPROVED,ae.REJECTED].includes(f.status)&&(g.jobs[f.jobId].first.statusCount[f.status]+=1)}),n.createdById===(o==null?void 0:o.data.id)&&i.forEach(f=>{f.status===M.EXECUTION_STATUS.CANCELED&&f.records.length===1&&(f.records[0].groupCount=2,f.records.push({user:{nickname:n.createdBy.nickname},status:ve.WITHDRAWN,updatedAt:f.updatedAt}))});const d=i.length;return i.filter((f,g)=>d-1===g&&(!f.status||f.status===M.EXECUTION_STATUS.CANCELED)||f.records.length>1)}const iS=(n,o,{compile:r})=>{const i=[];return n.forEach(a=>{const c={};a.records.forEach((f,g)=>{var x,S,w;const h={};if((!(f.workflow!=null&&f.workflow.enabled)||f.execution!=null&&f.execution.stauts||(x=f.job)!=null&&x.status)&&[ve.ASSIGNED,ve.PENDING].includes(f.status))h.label="Unprocessed",h.color="default";else{const k=Nn.find(E=>E.value===f.status),b=wo.find(E=>E.value===f.status);f.nodeId?(h.label=r(k==null?void 0:k.label)||r(b==null?void 0:b.label),h.color=(k==null?void 0:k.color)||(b==null?void 0:b.color)||"default"):(h.label=(b==null?void 0:b.label)||(k==null?void 0:k.label),h.color=(b==null?void 0:b.color)||(k==null?void 0:k.color)||"default")}Object.keys(c).includes(f.nodeId?f.nodeId.toString():"")?c[f.nodeId].description.push({userName:f.user.nickname,status:h,date:f.status===0?"":Be(f.updatedAt).format("YYYY-MM-DD HH:mm:ss")}):c[f.nodeId||((S=f.node)==null?void 0:S.title)||o(h.label)]={title:((w=f.node)==null?void 0:w.title)||o(h.label),index:g,description:[{userName:f.user.nickname,status:h,date:f.status===0?"":Be(f.updatedAt).format("YYYY-MM-DD HH:mm:ss")}]}});const d=Object.values(c).sort((f,g)=>f.index-g.index);i.push(...d)}),i.filter(Boolean)};function Xf(){const{t:n}=we(),o=v.useAPIClient(),r=j.useField(),{approval:i}=Qe();return{run(){return le(this,null,function*(){var c,d;try{r.data=(c=r.data)!=null?c:{},r.data.loading=!0;const{data:f}=yield o.resource("approvals").reminder({filterByTk:i.id});if((d=f.data)!=null&&d.success){const g=i.records.map(h=>h.user.nickname);te.message.success(n("Reminder {{user}} successful",{user:g.join(", ")}))}r.data.loading=!1}catch(f){r.data&&(r.data.loading=!1)}})}}}const Jf=y.createContext({}),lS=({children:n})=>{const[o,r]=y.useState(!1);return m.jsx(Jf.Provider,{value:{isResubmit:o,setResubmit:r},children:n})},Zo=()=>y.useContext(Jf);function Zf(){const{setResubmit:n}=Zo();return{run(){return le(this,null,function*(){n(!0)})}}}function Rf(){const n=j.useForm(),o=j.useField(),r=v.useCollection_deprecated(),i=pS(),a=v.useAPIClient(),c=ht.useParams(),{isResubmit:d}=Zo(),{id:f}=c,g=ht.useNavigate(),{approval:h}=Qe(),{workflow:x}=h||{};return{run(w){return le(this,null,function*(){try{yield n.submit(),o.data=o.data||{},o.data.loading=!0,delete n.values.createdAt,delete n.values.updatedAt,(yield a.resource("approvals").create({values:{collectionName:v.joinCollectionName(r.dataSource,r.name),data:n.values,status:typeof(w==null?void 0:w.approvalStatus)!="undefined"?w==null?void 0:w.approvalStatus:i,workflowId:d?x.id:f,workflowKey:d?x.key:void 0}})).status===200&&(un.show({icon:"success",content:"提交成功"}),n.reset(),setTimeout(()=>{g(-1)},1e3)),o.data.loading=!1}catch(k){o.data&&(o.data.loading=!1)}})}}}const em=n=>{const{data:o}=v.useCurrentUserContext(),{approval:r,id:i}=Qe()||{},{status:a,createdById:c,latestExecutionId:d}=r||{},f=o.data.id===c,g=d===i,h=a===ae.DRAFT,x=a===ae.RETURNED;return f&&!h&&!x&&g?n.children:null},aS=()=>{const n=ht.useParams(),o=ht.useNavigate(),{name:r,id:i}=n,a=y.useContext(v.SchemaComponentContext),c=v.useAPIClient(),[d,f]=y.useState({});return y.useEffect(()=>{c.request({url:"workflows:list",params:{paginate:!1,filter:{type:{$eq:"approval"},enabled:{$eq:!0},id:{$eq:i}}}}).then(g=>{const h=g.data.data[0],[x,S]=v.parseCollectionName(h.config.collection),w={type:"void","x-component":"MobileProvider",properties:{page:{type:"void","x-component":"MPage","x-designer":"MPage.Designer","x-decorator":"MobileProvider","x-component-props":{},properties:{Approval:{type:"void","x-decorator":"CollectionProvider_deprecated","x-decorator-props":{name:S,dataSource:x},"x-component":"RemoteSchemaComponent","x-component-props":{uid:h.config.applyForm,noForm:!0}}}}}};f(w)}).catch(()=>{})},[]),m.jsxs("div",{style:{minHeight:"100vh",backgroundColor:"#f3f3f3",overflow:"auto"},children:[m.jsx(rs,{onBack:()=>{o(-1)},className:"navBarStyle",children:r}),m.jsx(v.SchemaComponentContext.Provider,{value:Z(D({},a),{designable:!1}),children:m.jsx("div",{className:"approvalContext",children:m.jsx(v.SchemaComponent,{schema:d,components:{RemoteSchemaComponent:v.RemoteSchemaComponent,CollectionProvider_deprecated:v.CollectionProvider_deprecated,ApplyActionStatusProvider:fS,ActionBarProvider:dS,WithdrawActionProvider:cS,ProviderActionResubmit:()=>null,ProviderActionReminder:em,MobileProvider:v.MobileProvider},scope:{useSubmit:Rf,useWithdrawAction:uS,useActionResubmit:Zf,useActionReminder:Xf}})})})]})};function cS(){return null}function uS(){return{run(){}}}function dS(n){return n.children}const tm=y.createContext(ae.SUBMITTED);function pS(){return y.useContext(tm)}function fS(n){return m.jsx(tm.Provider,{value:n.value,children:n.children})}const nm=n=>{var B;const{approvalExecution:o,snapshot:r}=Qe(),i=(o==null?void 0:o.snapshot)||r,a=j.useFieldSchema(),c=j.useField(),d=y.useRef(null),{getAssociationAppends:f}=v.useAssociationNames(),{appends:g,updateAssociationValues:h}=f(),{findComponent:x}=v.useDesignable(),S=x((B=c.component)==null?void 0:B[0])||y.Fragment,w=y.useMemo(()=>j.createForm({initialValues:i}),[i]),k=y.useMemo(()=>D(D({},g),n.params),[g,n.params]),b=y.useMemo(()=>({loading:!1,data:{data:i}}),[i]),E=v.useAPIClient().resource(n.collection),P=y.useContext(v.BlockRequestContext_deprecated),_=y.useMemo(()=>({params:k,form:w,field:c,service:b,updateAssociationValues:h,formBlockRef:d}),[c,w,k,b,h]);return m.jsx(v.CollectionProvider_deprecated,{dataSource:n.dataSource,collection:n.collection,children:m.jsx(v.RecordProvider,{record:i,children:m.jsx(v.FormActiveFieldsProvider,{name:"form",children:m.jsx(v.BlockRequestContext_deprecated.Provider,{value:{block:"form",props:n,field:c,service:b,resource:E,__parent:P},children:m.jsx(v.FormBlockContext.Provider,{value:_,children:m.jsxs(S,Z(D({},c.componentProps),{children:[m.jsx(v.FormV2.Templates,{style:{marginBottom:18},form:w}),m.jsx(v.FormProvider,{form:w,children:m.jsx("div",{ref:d,children:m.jsx(j.RecursionField,{schema:a,onlyRenderProperties:!0})})})]}))})})})})})};function om({designable:n,children:o}){const r=v.useSchemaComponentContext();return m.jsx(v.SchemaComponentContext.Provider,{value:Z(D({},r),{designable:n}),children:o})}function mS(){const{approval:n,id:o}=Qe(),r=j.useForm(),{data:i}=v.useCurrentUserContext(),{isResubmit:a}=Zo(),{editable:c}=wo.find(f=>f.value===n.status),d=(a||c)&&(n==null?void 0:n.latestExecutionId)===o&&(n==null?void 0:n.createdById)===(i==null?void 0:i.data.id);return y.useEffect(()=>{n&&(d?r.setPattern("editable"):r.setPattern("readPretty"))},[r,n,d]),{form:r}}const rm=y.createContext(ae.SUBMITTED);function hS(){return y.useContext(rm)}function vS(n){const{value:o,children:r}=n,{approval:i}=Qe(),{status:a,createdById:c,workflow:d}=i,{data:f}=v.useCurrentUserContext(),{isResubmit:g}=Zo(),h=f.data.id===c,x=[ae.DRAFT,ae.RETURNED,ae.RESUBMIT].includes(a);return o===ae.DRAFT&&a===ae.DRAFT?null:h&&(x||g)?m.jsx(rm.Provider,{value:o,children:r}):null}function yS(){const n=j.useForm(),o=j.useField(),{approval:r}=Qe(),{setSubmitted:i}=v.useActionContext(),{workflow:a,id:c}=r,d=hS(),f=v.useAPIClient(),g=ht.useNavigate(),{isResubmit:h}=Zo(),{run:x}=Rf(),{updateAssociationValues:S}=v.useFormBlockContext();return{run(){return le(this,null,function*(){if(h)return yield x({approvalStatus:d});try{yield n.submit(),Oe.set(o,["data","loading"],!0),(yield f.resource("approvals").update({filterByTk:c,values:{collectionName:a.config.collection,data:n.values,status:d,summaryConfig:a.config.summary,updateAssociationValues:S}})).status===200?(un.show({icon:"success",content:"处理成功"}),setTimeout(()=>{g(-1)},1e3),i(!0)):un.show({icon:"fail",content:"处理失败"})}catch(k){Oe.set(o,["data","loading"],!1)}})}}}function gS(){const n=j.useField(),{approval:o}=Qe(),r=v.useAPIClient(),i=ht.useNavigate();return{run(){return le(this,null,function*(){var c;try{n.data=(c=n.data)!=null?c:{},n.data.loading=!0,(yield r.resource("approvals").withdraw({filterByTk:o.id})).status===202?(un.show({icon:"success",content:"撤回成功"}),setTimeout(()=>{i(-1)},1e3)):un.show({icon:"fail",content:"撤回失败"}),n.data.loading=!1}catch(d){n.data&&(n.data.loading=!1)}})}}}function xS(n){const{data:o}=v.useCurrentUserContext(),{approval:r,id:i}=Qe(),{status:a,createdById:c,latestExecutionId:d}=r;return!(o.data.id===c)||!(d===i)?null:n.children}function CS(n){const{data:o}=v.useCurrentUserContext(),{approval:r}=Qe(),{isResubmit:i}=Zo(),{status:a,createdById:c}=r,d=o.data.id===c,f=a===ae.DRAFT,g=a===ae.RETURNED;return d&&!i&&!f&&!g?n.children:null}function wS({children:n}){const{data:o}=v.useCurrentUserContext(),{approval:r}=Qe(),{status:i,createdById:a,workflow:c}=r,d=o.data.id===a,f=c.enabled&&c.config.withdrawable,g=ae.SUBMITTED===i;return d&&f&&g?n:null}const SS=()=>{const n=ht.useParams(),o=ht.useNavigate(),{id:r}=n,[i,a]=y.useState(!1),[c,d]=y.useState({}),{t:f}=we(),g=v.useAPIClient();y.useEffect(()=>{g.request({url:"approvalExecutions:get",params:{filterByTk:r,appends:["execution","execution.jobs","approval","approval.workflow","approval.workflow.nodes","approval.approvalExecutions","approval.createdBy.id","approval.createdBy.nickname","approval.records","approval.records.node.title","approval.records.node.config","approval.records.job","approval.records.user.nickname"],except:["approval.approvalExecutions.snapshot","approval.records.snapshot"]}}).then(b=>{var E;(E=b.data)!=null&&E.data?d(b.data.data):a(!0)}).catch(()=>{})},[r]);const k=c||{},{approval:h,execution:x}=k,S=et(k,["approval","execution"]),{workflow:w}=h||{};return m.jsxs("div",{style:{minHeight:"100vh",backgroundColor:"#f3f3f3",overflow:"auto"},children:[m.jsx(rs,{onBack:()=>{o(-1)},className:"navBarStyle",children:f("Approval")}),m.jsx(Jo.Provider,{value:c,children:m.jsx(lS,{children:m.jsx("div",{className:"approvalContext",children:Object.keys(c).length&&!i?m.jsx(Jo.Provider,{value:c,children:kS(w==null?void 0:w.config.applyForm)}):m.jsxs("div",{children:[m.jsx(Vn.Title,{animated:!0}),m.jsx(Vn.Paragraph,{lineCount:5,animated:!0})]})})})})]})},kS=n=>{const o={type:"void","x-component":"MobileProvider",properties:{page:{type:"void","x-component":"MPage","x-designer":"MPage.Designer","x-decorator":"MobileProvider","x-component-props":{},properties:{Approval:{type:"void","x-decorator":"SchemaComponentContextProvider","x-decorator-props":{designable:!1},"x-component":"RemoteSchemaComponent","x-component-props":{uid:n,noForm:!0}},process:{type:"void","x-decorator":"CardItem","x-component":"ApprovalCommon.ViewComponent.MApprovalProcess"}}}}};return m.jsx(v.SchemaComponent,{components:{SchemaComponentProvider:v.SchemaComponentProvider,RemoteSchemaComponent:v.RemoteSchemaComponent,SchemaComponentContextProvider:om,FormBlockProvider:nm,ActionBarProvider:xS,ApplyActionStatusProvider:vS,WithdrawActionProvider:wS,DetailsBlockProvider:M.DetailsBlockProvider,MobileProvider:v.MobileProvider,ProviderActionResubmit:CS,ProviderActionReminder:em},scope:{useForm:j.useForm,useSubmit:yS,useFormBlockProps:mS,useDetailsBlockProps:v.useFormBlockContext,useWithdrawAction:gS,useDestroyAction:v.useDestroyAction,useActionResubmit:Zf,useActionReminder:Xf},schema:o})},sm=()=>{const a=v.useSchemaInitializerItem(),{action:o,actionProps:r={}}=a,i=et(a,["action","actionProps"]);return m.jsx(v.ActionInitializer,Z(D({},i),{schema:{type:"void",title:i.title,"x-decorator":"ApplyActionStatusProvider","x-decorator-props":{value:o},"x-component":"Action","x-component-props":Z(D({},r),{useAction:"{{ useSubmit }}"}),"x-designer":"Action.Designer","x-action":`${o}`,"x-action-settings":{assignedValues:{}}}}))},bS=new v.SchemaInitializer({name:"ApprovalApplyAddActionButton",title:'{{t("Configure actions")}}',items:[{name:"submit",type:"item",title:'{{t("Submit")}}',Component:sm,action:ae.SUBMITTED,actionProps:{type:"primary"},disabled:!0},{name:"save",type:"item",title:`{{t("Save draft", { ns: "${X}" })}}`,Component:sm,action:ae.DRAFT}]}),ss={title:`{{t("Approval applications", { ns: "${X}" })}}`,name:"approvals",fields:[{type:"bigInt",name:"id",interface:"number",uiSchema:{type:"number",title:"ID","x-component":"InputNumber"}},{type:"belongsTo",name:"workflow",target:"workflows",foreignKey:"workflowId",interface:"m2o",uiSchema:{type:"number",title:'{{t("Workflow", { ns: "workflow" })}}',"x-component":"RemoteSelect","x-component-props":{fieldNames:{label:"title",value:"id"},service:{resource:"workflows"}}}},{type:"belongsTo",name:"createdBy",target:"users",foreignKey:"createdById",interface:"m2o",uiSchema:{type:"number",title:`{{t("Initiator", { ns: "${X}" })}}`,"x-component":"RemoteSelect","x-component-props":{fieldNames:{label:"nickname",value:"id"},service:{resource:"users"}}}},{type:"integer",name:"status",interface:"select",uiSchema:{type:"number",title:'{{t("Status", { ns: "workflow" })}}',"x-component":"Select",enum:wo}},{name:"createdAt",type:"date",interface:"createdAt",uiSchema:{type:"datetime",title:W("Launched time"),"x-component":"DatePicker","x-component-props":{showTime:!0}}},{name:"updatedAt",type:"date",interface:"updatedAt",uiSchema:{type:"datetime",title:W("Launched time"),"x-component":"DatePicker","x-component-props":{showTime:!0}}},{type:"jsonb",name:"summary",uiSchema:{type:"array",title:W("Summary"),"x-component":"ApprovalsSummary","x-component-props":{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}}}]},is={title:W("Node"),name:"flow_nodes",fields:[{type:"bigInt",name:"id",interface:"m2o",uiSchema:{type:"number",title:"ID","x-component":"RemoteSelect","x-component-props":{fieldNames:{label:"title",value:"id"},service:{resource:"flow_nodes",params:{filter:{type:"manual"}}}}}},{type:"string",name:"title",interface:"input",uiSchema:{type:"string",title:'{{t("Title")}}',"x-component":"Input"}}]},ls={title:`{{t("Approval Launch", { ns: "${X}" })}}`,name:"workflows",sortable:!0,fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Name")}}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{t("Description")}}',type:"string","x-component":"Input.TextArea"}},{type:"boolean",name:"enabled",interface:"select",uiSchema:{type:"boolean",title:'{{t("Status", { ns: "workflow" })}}',"x-component":"Select",enum:[{label:'{{t("On", { ns: "workflow" })}}',value:!0},{label:'{{t("Off", { ns: "workflow" })}}',value:!1}]}},{type:"sort",interface:"sort",name:"sort",uiSchema:{title:'{{t("Sort")}}',type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:1},"x-validator":"integer"}}]},AS=j.observer(n=>{const{params:o,tabKey:r}=n,[i,a]=y.useState([]),c=v.useAPIClient(),d=ht.useNavigate(),f=y.useContext(ic),g=f.key==="initiations"?f.inputFilter:"";return y.useEffect(()=>{c.request({url:"workflows:list",params:{paginate:!1,filter:{$and:[{type:{$eq:"approval"}},{enabled:{$eq:!0}},D({},o==null?void 0:o[r])]},sort:"createdAt"}}).then(h=>{var S;const x=(S=h==null?void 0:h.data)==null?void 0:S.data.map(w=>Z(D({},w),{value:w.id,label:m.jsxs("div",{style:{display:"flex",flexDirection:"column",alignContent:"center"},onClick:k=>{d(`/mobile/${w.title||""}/approval/${w.id}/page`)},children:[m.jsx("div",{children:m.jsx(bg,{})}),w.title||""]})}));if(g&&i.length){const w=x.filter(k=>{var b;return(b=k.title)==null?void 0:b.includes(g)});a(w)}else a(x)}).catch(()=>{})},[o]),m.jsx(v.BlockItem,{children:m.jsx(UC,{className:"initiationsItemCard",children:i.length?m.jsx(Hw,{style:{"--color":"#ffffff","--gap":"1px"},columns:3,showCheckMark:!1,options:i}):m.jsx(rc,{description:"暂无数据"})})})}),Di=j.observer(n=>{const{changeFilter:o,filter:r}=n,[i,a]=y.useState(!1),[c,d]=y.useState(!1),f=new Date,[g,h]=y.useState("start"),[x,S]=y.useState(Be(f).startOf("date").toISOString()),[w,k]=y.useState(f);return m.jsxs(m.Fragment,{children:[m.jsxs(yt,{onClick:()=>{d(!0)},children:[r!=null&&r.createdAt?`${Oi(x)}-${Oi(w)} `:"到达日期",m.jsx(_r,{})]}),m.jsxs(of,{visible:c,bodyStyle:{borderTopLeftRadius:"8px",borderTopRightRadius:"8px",minHeight:"15vh"},onMaskClick:()=>{d(!1)},children:[m.jsxs(os,{columns:9,style:{height:"10vh"},children:[m.jsx(os.Item,{span:4,onClick:()=>{a(!0),h("start")},children:m.jsx(Qa,{style:{lineHeight:"10vh"},children:Oi(x)||""})}),m.jsx(os.Item,{style:{lineHeight:"10vh"},children:"——"}),m.jsx(os.Item,{style:{lineHeight:"10vh"},span:4,onClick:()=>{a(!0),h("end")},children:m.jsx(Qa,{children:Oi(w)||""})})]}),m.jsx(pf,{block:!0,color:"primary",style:{width:"99%"},onClick:()=>{if(!x||!w)un.show({content:"请将时间范围填写完整"});else{const b=D({},r);b.createdAt={$dateBetween:[x,w]},o(b),d(!1)}},children:"确定"}),m.jsx(Bw,{visible:i,onClose:()=>{a(!1)},max:f,onConfirm:b=>{g==="start"?S(b):k(Be(b).endOf("date").toISOString())}})]})]})}),Oi=n=>Be(n).format("YYYY-MM-DD"),Bi=j.observer(n=>{const{changeFilter:o,filter:r}=n,[i,a]=y.useState(!1),[c,d]=y.useState([]),f=v.useAPIClient(),{t:g}=we();return y.useEffect(()=>{f.request({url:"workflows:list",params:{paginate:!1,filter:{type:{$eq:"approval"},enabled:{$eq:!0}}}}).then(h=>{const x=h.data.data.map(S=>({label:S.title||"",value:S.id}));x.unshift({value:"all",label:g("All")}),d(x)}).catch(()=>{})},[]),m.jsxs(m.Fragment,{children:[m.jsxs(yt,{onClick:()=>{a(!0)},children:[c.length&&(r!=null&&r.workflowId)&&(r==null?void 0:r.workflowId)!=="all"?c.find(h=>h.value===r.workflowId).label:"模版类型",m.jsx(_r,{})]}),m.jsx(Jr,{columns:[c],visible:i,onClose:()=>{a(!1)},onConfirm:h=>{const x=D({},r);h[0]==="all"?delete x.workflowId:x.workflowId=h[0],o(x)}})]})}),ES=[1,2,-1,-3],Li=[{value:"1",label:"一般",color:"cyan"},{value:"2",label:"紧急",color:"gold"},{value:"3",label:"非常紧急",color:"red"}],im=[{value:M.EXECUTION_STATUS.QUEUEING,label:"Queueing",color:"blue",icon:m.jsx($e.HourglassOutlined,{}),description:"Triggered but still waiting in queue to execute."},{value:M.EXECUTION_STATUS.STARTED,label:"On going",color:"gold",icon:m.jsx($e.LoadingOutlined,{}),description:"Started and executing, maybe waiting for an async callback (manual, delay etc.)."},{value:M.EXECUTION_STATUS.RESOLVED,label:"Resolved",color:"green",icon:m.jsx($e.CheckOutlined,{}),description:"Successfully finished."},{value:M.EXECUTION_STATUS.FAILED,label:"Failed",color:"red",icon:m.jsx($e.ExclamationOutlined,{}),description:"Failed to satisfy node configurations."},{value:M.EXECUTION_STATUS.ERROR,label:"Error",color:"red",icon:m.jsx($e.CloseOutlined,{}),description:"Some node meets error."},{value:M.EXECUTION_STATUS.ABORTED,label:"Aborted",color:"red",icon:m.jsx($e.MinusOutlined,{rotate:90}),description:"Running of some node was aborted by program flow."},{value:M.EXECUTION_STATUS.CANCELED,label:"Canceled",color:"volcano",icon:m.jsx($e.MinusOutlined,{rotate:45}),description:"Manually canceled whole execution when waiting."},{value:M.EXECUTION_STATUS.REJECTED,label:"Rejected",color:"volcano",icon:m.jsx($e.MinusOutlined,{}),description:"Rejected from a manual node."},{value:M.EXECUTION_STATUS.RETRY_NEEDED,label:"Retry needed",color:"volcano",icon:m.jsx($e.RedoOutlined,{}),description:"General failed but should do another try."}];M.EXECUTION_STATUS.QUEUEING,M.EXECUTION_STATUS.STARTED,M.EXECUTION_STATUS.REJECTED;const PS=j.observer(n=>{const{filter:o,params:r,tabKey:i}=n,a=v.useAPIClient(),[c,d]=y.useState([]),[f,g]=y.useState([]),{t:h}=we(),x=ht.useNavigate(),S=v.useCurrentUserContext(),w=y.useContext(ic),k=w.key==="userInitiations"?w.inputFilter:"",b=v.useCollectionManager(),E=v.useCompile();return Ue.useDeepCompareEffect(()=>{TS(a,g,S,D(D({},r==null?void 0:r[i]),o),h,d,b,E)},[o,r]),y.useEffect(()=>{if(k&&c.length){const P=c.filter(_=>{const B=_==null?void 0:_.reason.find($=>{var L;return(L=$==null?void 0:$.value)==null?void 0:L.toString().includes(k)});return _.title.includes(k)||B});P.sort((_,B)=>Date.parse(B.createdAt)-Date.parse(_.createdAt)),g(P)}else g(c)},[w]),m.jsx("div",{style:{minHeight:"73vh"},children:f.length?m.jsx(Ai,{style:{"--font-size":"12px"},children:f.map((P,_)=>{var B;return m.jsxs(Ai.Item,{onClick:()=>{x(`/mobile/approval/${P.latestExecutionId}/page`)},children:[m.jsxs(yt,{block:!0,children:[m.jsx(Wn,{color:"success",fill:"solid",children:P.id}),P.title,m.jsx(Wn,{color:P.statusColor,fill:"outline",children:P.statusTitle}),m.jsx(Wn,{color:P.priorityColor,fill:"outline",children:P.priorityTitle})]}),(B=P.reason)==null?void 0:B.map(($,L)=>m.jsxs("div",{className:"approvalsSummaryStyle-item",children:[m.jsxs("div",{className:"approvalsSummaryStyle-label",children:[`${$.label}:`," "]}),m.jsx("div",{className:"approvalsSummaryStyle-value",children:`${$.value}`})]},L))]},_)})}):m.jsx(rc,{description:"暂无数据"})})}),IS=(n,o)=>{const{status:r}=n;return wo.find(i=>i.value===r)},TS=(n,o,r,i,a,c,d,f)=>{n.request({url:"approvals:listCentralized",params:{paginate:!1,appends:["workflow"],filter:i}}).then(g=>{var x;const h=(x=g.data)==null?void 0:x.data.map(S=>{var _,B,$,L,z,K;const w=Li.find(Y=>Y.value===S.data.priority),k=IS(S),b=(_=S.workflow)==null?void 0:_.title,E=(($=(B=S.workflow)==null?void 0:B.config)==null?void 0:$.collection)||((z=(L=S.execution)==null?void 0:L.context)==null?void 0:z.collectionName),P=[];return(K=Object.entries(S.summary))==null||K.forEach(([Y,Q])=>{var me,ye;const ce=d.getCollectionField(`${E}.${Y}`);let ne=Q;ce.type==="date"&&Q&&(ne=Be(Q).format("YYYY-MM-DD HH:mm:ss")),Y==="createdAt"?P.unshift({label:f(((me=ce==null?void 0:ce.uiSchema)==null?void 0:me.title)||Y),value:(Object.prototype.toString.call(Q)==="[object Object]"?ne==null?void 0:ne.name:ne)||""}):P.push({label:f(((ye=ce==null?void 0:ce.uiSchema)==null?void 0:ye.title)||Y),value:(Object.prototype.toString.call(Q)==="[object Object]"?ne==null?void 0:ne.name:ne)||""})}),Z(D({},S),{title:`${r.data.data.nickname}的${b}`,categoryTitle:b,statusTitle:f(k==null?void 0:k.label),statusColor:(k==null?void 0:k.color)||"default",reason:P||[],priorityTitle:w==null?void 0:w.label,priorityColor:w==null?void 0:w.color})});h.sort((S,w)=>Date.parse(w.createdAt)-Date.parse(S.createdAt)),o(h),c(h)}).catch(()=>{})},_S=j.observer(n=>{const{changeFilter:o,filter:r}=n,[i,a]=y.useState(!1),{t:c}=we();return m.jsxs(m.Fragment,{children:[m.jsxs(yt,{onClick:()=>{a(!0)},children:[r!=null&&r.status&&(r==null?void 0:r.status)!=="all"?c(lm.find(d=>d.value===r.status).label):"申请状态",m.jsx(_r,{})]}),m.jsx(Jr,{columns:[lm.map(d=>Z(D({},d),{label:c(d.label)}))],visible:i,onClose:()=>{a(!1)},value:[(r==null?void 0:r.status)||"all"],onConfirm:d=>{const f=D({},r);d[0]==="all"?delete f.status:f.status=d[0],o(f)}})]})}),lm=[{label:"All",value:"all"},{label:"Draft",value:"0"},{label:"Returned",value:"1"},{label:"Submitted",value:"2"},{label:"Processing",value:"3"},{label:"Approved",value:"4"},{label:"Rejected",value:"-1"}],FS=j.observer(n=>{const[o,r]=y.useState([]),i=c=>{r(c)},a=Z(D({},n),{filter:o,changeFilter:i});return m.jsxs(v.BlockItem,{children:[m.jsxs(yt,{justify:"evenly",className:"userInitiationsStyle",children:[m.jsx(Bi,D({},a)),m.jsx(Di,D({},a)),m.jsx(_S,D({},a))]}),m.jsx(PS,D({},a))]})}),ic=y.createContext({}),NS=j.observer(n=>{const o=j.useFieldSchema(),{t:r}=we(),[i,a]=y.useState({key:"userInitiations",inputFilter:""}),[c,d]=y.useState("");return m.jsx(v.ExtendCollectionsProvider,{collections:[ls,is,ss,Lo],children:m.jsx(v.BlockItem,{children:m.jsxs(ic.Provider,{value:i,children:[m.jsx(Hf,{placeholder:"搜索内容",clearable:!0,style:{"--background":"#ffffff",padding:"10px",marginBottom:"10px "},onChange:f=>{if(!f){const g=D({},i);g.inputFilter="",a(g)}d(f)},value:c,onSearch:f=>{const g=D({},i);g.inputFilter=f,a(g)}}),m.jsxs(yo,{className:v.css`
|
|
101
|
+
*/var Ef;function qC(){if(Ef)return Ra;Ef=1;var n=y;function o(S,w){return S===w&&(S!==0||1/S===1/w)||S!==S&&w!==w}var r=typeof Object.is=="function"?Object.is:o,i=n.useState,a=n.useEffect,c=n.useLayoutEffect,d=n.useDebugValue;function f(S,w){var k=w(),b=i({inst:{value:k,getSnapshot:w}}),E=b[0].inst,P=b[1];return c(function(){E.value=k,E.getSnapshot=w,g(E)&&P({inst:E})},[S,k,w]),a(function(){return g(E)&&P({inst:E}),S(function(){g(E)&&P({inst:E})})},[S]),d(k),k}function g(S){var w=S.getSnapshot;S=S.value;try{var k=w();return!r(S,k)}catch(b){return!0}}function h(S,w){return w()}var x=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?h:f;return Ra.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:x,Ra}var Pf;function QC(){return Pf||(Pf=1,Za.exports=qC()),Za.exports}var GC=QC();let XC=!1;const If=new Set;function Tf(){return XC}function JC(n){return If.add(n),()=>{If.delete(n)}}function ZC(){return GC.useSyncExternalStore(JC,Tf,Tf)}const ec="adm-spin-loading",RC={default:"var(--adm-color-weak)",primary:"var(--adm-color-primary)",white:"var(--adm-color-white)"},ew={color:"default"},tw=15*3.14159265358979*2,_f=y.memo(n=>{var o;const r=qe(ew,n),i=ZC(),{percent:a}=ho({cancel:i,loop:{reverse:!0},from:{percent:80},to:{percent:30},config:{duration:1200}});return Pe(r,y.createElement(Cn.div,{className:ec,style:{"--color":(o=RC[r.color])!==null&&o!==void 0?o:r.color,"--percent":a}},y.createElement("svg",{className:`${ec}-svg`,viewBox:"0 0 32 32"},y.createElement(Cn.circle,{className:`${ec}-fill`,fill:"transparent",strokeWidth:"2",strokeDasharray:tw,strokeDashoffset:a,strokeLinecap:"square",r:15,cx:16,cy:16}))))}),Go="adm-picker-view",nw={defaultValue:[],renderLabel:Af,mouseWheel:!1,loadingContent:y.createElement("div",{className:`${Go}-loading-content`},y.createElement(_f,null))},Ff=y.memo(n=>{const o=qe(nw,n),[r,i]=y.useState(o.value===void 0?o.defaultValue:o.value);y.useEffect(()=>{o.value!==void 0&&o.value!==r&&i(o.value)},[o.value]),y.useEffect(()=>{if(o.value===r)return;const f=window.setTimeout(()=>{o.value!==void 0&&o.value!==r&&i(o.value)},1e3);return()=>{window.clearTimeout(f)}},[o.value,r]);const a=bf(o.columns,r),c=a.columns;Ue.useDebounceEffect(()=>{var f;o.value!==r&&((f=o.onChange)===null||f===void 0||f.call(o,r,a))},[r],{wait:0,leading:!1,trailing:!0});const d=y.useCallback((f,g)=>{i(h=>{const x=[...h];return x[g]=f,x})},[]);return Pe(o,y.createElement("div",{className:`${Go}`},o.loading?o.loadingContent:y.createElement(y.Fragment,null,c.map((f,g)=>y.createElement(wf,{key:g,index:g,column:f,value:r[g],onSelect:d,renderLabel:o.renderLabel,mouseWheel:o.mouseWheel})),y.createElement("div",{className:`${Go}-mask`},y.createElement("div",{className:`${Go}-mask-top`}),y.createElement("div",{className:`${Go}-mask-middle`}),y.createElement("div",{className:`${Go}-mask-bottom`})))))});Ff.displayName="PickerView";const zn="adm-picker",ow={defaultValue:[],closeOnMaskClick:!0,renderLabel:Af,destroyOnClose:!1,forceRender:!1},tc=y.memo(y.forwardRef((n,o)=>{var r;const{locale:i}=yn(),a=qe(ow,{confirmText:i.common.confirm,cancelText:i.common.cancel},n),[c,d]=Mn({value:a.visible,defaultValue:!1,onChange:P=>{var _;P===!1&&((_=a.onClose)===null||_===void 0||_.call(a))}}),f={toggle:()=>{d(P=>!P)},open:()=>{d(!0)},close:()=>{d(!1)}};y.useImperativeHandle(o,()=>f);const[g,h]=Mn(Object.assign(Object.assign({},a),{onChange:P=>{var _;const B=kf(a.columns,P);(_=a.onConfirm)===null||_===void 0||_.call(a,P,B)}})),x=bf(a.columns,g),[S,w]=y.useState(g);y.useEffect(()=>{S!==g&&w(g)},[c]),y.useEffect(()=>{c||w(g)},[g]);const k=Ue.useMemoizedFn((P,_)=>{var B;w(P),c&&((B=a.onSelect)===null||B===void 0||B.call(a,P,_))}),b=Pe(a,y.createElement("div",{className:zn},y.createElement("div",{className:`${zn}-header`},y.createElement("a",{role:"button",className:`${zn}-header-button`,onClick:()=>{var P;(P=a.onCancel)===null||P===void 0||P.call(a),d(!1)}},a.cancelText),y.createElement("div",{className:`${zn}-header-title`},a.title),y.createElement("a",{role:"button",className:be(`${zn}-header-button`,a.loading&&`${zn}-header-button-disabled`),onClick:()=>{a.loading||(h(S,!0),d(!1))},"aria-disabled":a.loading},a.confirmText)),y.createElement("div",{className:`${zn}-body`},y.createElement(Ff,{loading:a.loading,loadingContent:a.loadingContent,columns:a.columns,renderLabel:a.renderLabel,value:S,mouseWheel:a.mouseWheel,onChange:k})))),E=y.createElement(of,{style:a.popupStyle,className:be(`${zn}-popup`,a.popupClassName),visible:c,position:"bottom",onMaskClick:()=>{var P;a.closeOnMaskClick&&((P=a.onCancel)===null||P===void 0||P.call(a),d(!1))},getContainer:a.getContainer,destroyOnClose:a.destroyOnClose,afterShow:a.afterShow,afterClose:a.afterClose,onClick:a.onClick,forceRender:a.forceRender,stopPropagation:a.stopPropagation},b,y.createElement(sf,{position:"bottom"}));return y.createElement(y.Fragment,null,E,(r=a.children)===null||r===void 0?void 0:r.call(a,x.items,f))}));tc.displayName="Picker";function rw(n){return new Promise(o=>{const r=()=>{const[a,c]=y.useState(!1);return y.useEffect(()=>{c(!0)},[]),y.createElement(tc,Object.assign({},n,{visible:a,onConfirm:(d,f)=>{var g;(g=n.onConfirm)===null||g===void 0||g.call(n,d,f),o(d)},onClose:()=>{var d;(d=n.onClose)===null||d===void 0||d.call(n),c(!1),o(null)},afterClose:()=>{var d;(d=n.afterClose)===null||d===void 0||d.call(n),i()}}))},i=qa(y.createElement(r,null))})}const Jr=gn(tc,{prompt:rw}),bt="adm-tabs",sw=()=>null,iw={activeLineMode:"auto",stretch:!0,direction:"ltr"},yo=gn(n=>{var o;const r=qe(iw,n),i=y.useRef(null),a=y.useRef(null),c={};let d=null;const f=[],g=r.direction==="rtl";yf(r.children,(z,K)=>{if(!y.isValidElement(z))return;const Y=z.key;if(typeof Y!="string")return;K===0&&(d=Y);const Q=f.push(z);c[Y]=Q-1});const[h,x]=Mn({value:r.activeKey,defaultValue:(o=r.defaultActiveKey)!==null&&o!==void 0?o:d,onChange:z=>{var K;z!==null&&((K=r.onChange)===null||K===void 0||K.call(r,z))}}),[{x:S,width:w},k]=ho(()=>({x:0,width:0,config:{tension:300,clamp:!0}})),[{scrollLeft:b},E]=ho(()=>({scrollLeft:0,config:{tension:300,clamp:!0}})),[{leftMaskOpacity:P,rightMaskOpacity:_},B]=ho(()=>({leftMaskOpacity:0,rightMaskOpacity:0,config:{clamp:!0}}));function $(z=!1,K=!1){const Y=i.current;if(!Y)return;const Q=c[h];if(Q===void 0){k.start({x:0,width:0,immediate:!0});return}const ce=a.current;if(!ce)return;const ne=Y.children.item(Q+1),me=ne.children.item(0),ye=me.offsetLeft,xe=me.offsetWidth,Ee=ne.offsetLeft,at=ne.offsetWidth,He=Y.offsetWidth,Jt=Y.scrollWidth,J=Y.scrollLeft,ue=ce.offsetWidth;let R=0,ke=0;if(r.activeLineMode==="auto"?(R=ye,ke=xe):r.activeLineMode==="full"?(R=Ee,ke=at):R=ye+(xe-ue)/2,g){const Ne=["auto","full"].includes(r.activeLineMode)?ke:ue;R=-(He-R-Ne)}k.start({x:R,width:ke,immediate:z});const Ce=Jt-He;if(Ce<=0)return;let Xe=0;g?Xe=-vo(He/2-ye+xe/2-ue,0,Ce):Xe=vo(ye-(He-xe)/2,0,Ce),(!K||r.autoScroll!==!1)&&E.start({scrollLeft:Xe,from:{scrollLeft:J},immediate:z})}Ue.useIsomorphicLayoutEffect(()=>{$(!S.isAnimating)},[]),AC(()=>{$()},[h,g,r.activeLineMode]),zC(()=>{$(!S.isAnimating)},i),jC(()=>{$(!S.isAnimating,!0)},i,{subtree:!0,childList:!0,characterData:!0});const{run:L}=Ue.useThrottleFn((z=!1)=>{const K=i.current;if(!K)return;const Y=K.scrollLeft;let Q=!1,ce=!1;g?(Q=Math.round(-Y)+K.offsetWidth<K.scrollWidth,ce=Y<0):(Q=Y>0,ce=Y+K.offsetWidth<K.scrollWidth),B.start({leftMaskOpacity:Q?1:0,rightMaskOpacity:ce?1:0,immediate:z})},{wait:100,trailing:!0,leading:!0});return Ue.useIsomorphicLayoutEffect(()=>{L(!0)},[]),Pe(r,y.createElement("div",{className:bt,style:{direction:r.direction}},y.createElement("div",{className:`${bt}-header`},y.createElement(Cn.div,{className:be(`${bt}-header-mask`,`${bt}-header-mask-left`),style:{opacity:P}}),y.createElement(Cn.div,{className:be(`${bt}-header-mask`,`${bt}-header-mask-right`),style:{opacity:_}}),y.createElement(Cn.div,{className:`${bt}-tab-list`,ref:i,scrollLeft:b,onScroll:L,role:"tablist"},y.createElement(Cn.div,{ref:a,className:`${bt}-tab-line`,style:{width:r.activeLineMode==="fixed"?"var(--fixed-active-line-width, 30px)":w,x:S}}),f.map(z=>Pe(z.props,y.createElement("div",{key:z.key,className:be(`${bt}-tab-wrapper`,{[`${bt}-tab-wrapper-stretch`]:r.stretch})},y.createElement("div",{onClick:()=>{const{key:K}=z;z.props.disabled||K!=null&&x(K.toString())},className:be(`${bt}-tab`,{[`${bt}-tab-active`]:z.key===h,[`${bt}-tab-disabled`]:z.props.disabled}),role:"tab","aria-selected":z.key===h},z.props.title)))))),f.map(z=>{if(z.props.children===void 0)return null;const K=z.key===h;return y.createElement(Wa,{key:z.key,active:K,forceRender:z.props.forceRender,destroyOnClose:z.props.destroyOnClose},y.createElement("div",{className:`${bt}-content`,style:{display:K?"block":"none"}},z.props.children))})))},{Tab:sw}),Zr="adm-list",lw={mode:"default"},aw=y.forwardRef((n,o)=>{const r=qe(lw,n),i=y.useRef(null);return y.useImperativeHandle(o,()=>({get nativeElement(){return i.current}})),Pe(r,y.createElement("div",{className:be(Zr,`${Zr}-${r.mode}`),ref:i},r.header&&y.createElement("div",{className:`${Zr}-header`},r.header),y.createElement("div",{className:`${Zr}-body`},y.createElement("div",{className:`${Zr}-body-inner`},r.children))))});function bi(n){return n!=null&&n!==!1}const wn="adm-list-item",Ai=gn(aw,{Item:n=>{var o,r;const{arrow:i,arrowIcon:a}=n,{list:c={}}=yn(),d=(o=n.clickable)!==null&&o!==void 0?o:!!n.onClick,f=(r=i!=null?i:a)!==null&&r!==void 0?r:d,g=ia(c.arrowIcon,i!==!0?i:null,a!==!0?a:null),h=y.createElement("div",{className:`${wn}-content`},bi(n.prefix)&&y.createElement("div",{className:`${wn}-content-prefix`},n.prefix),y.createElement("div",{className:`${wn}-content-main`},bi(n.title)&&y.createElement("div",{className:`${wn}-title`},n.title),n.children,bi(n.description)&&y.createElement("div",{className:`${wn}-description`},n.description)),bi(n.extra)&&y.createElement("div",{className:`${wn}-content-extra`},n.extra),f&&y.createElement("div",{className:`${wn}-content-arrow`},g||y.createElement(Sg,null)));return Pe(n,y.createElement(d?"a":"div",{className:be(`${wn}`,d?["adm-plain-anchor"]:[],n.disabled&&`${wn}-disabled`),onClick:n.disabled?void 0:n.onClick},h))}});function cw(n,o){const r=[];for(let i=n;i<=o;i++)r.push(i);return r}const Rr="adm-skeleton",nc=n=>Pe(n,y.createElement("div",{className:be(Rr,{[`${Rr}-animated`]:n.animated})})),uw=n=>Pe(n,y.createElement(nc,{animated:n.animated,className:`${Rr}-title`})),dw={lineCount:3},Vn=gn(nc,{Title:uw,Paragraph:n=>{const o=qe(dw,n),r=cw(1,o.lineCount),i=y.createElement("div",{className:`${Rr}-paragraph`},r.map(a=>y.createElement(nc,{key:a,animated:o.animated,className:`${Rr}-paragraph-line`})));return Pe(o,i)}}),pw=(n={})=>y.useMemo(()=>{const{label:r="label",value:i="value",disabled:a="disabled",children:c="children"}=n;return[r,i,c,a]},[JSON.stringify(n)]);var Ei={exports:{}},fw=Ei.exports,Nf;function mw(){return Nf||(Nf=1,function(n,o){(function(r,i){n.exports=i()})(fw,function(){return function(r,i){i.prototype.isoWeeksInYear=function(){var a=this.isLeapYear(),c=this.endOf("y").day();return c===4||a&&c===5?53:52}}})}(Ei)),Ei.exports}var hw=mw();const Df=co(hw);var Pi={exports:{}},vw=Pi.exports,Of;function yw(){return Of||(Of=1,function(n,o){(function(r,i){n.exports=i()})(vw,function(){return function(r,i){i.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}})}(Pi)),Pi.exports}var gw=yw();const Bf=co(gw),es="TILL_NOW";Be.extend(mf),Be.extend(Df),Be.extend(Bf);const jn={year:0,month:1,day:2,hour:3,minute:4,second:5};function xw(n,o,r,i,a,c,d){const f=[],g=o.getFullYear(),h=o.getMonth()+1,x=o.getDate(),S=o.getHours(),w=o.getMinutes(),k=o.getSeconds(),b=r.getFullYear(),E=r.getMonth()+1,P=r.getDate(),_=r.getHours(),B=r.getMinutes(),$=r.getSeconds(),L=jn[i],z=parseInt(n[0]),K=Be(oc([n[0],n[1],"1"])),Y=parseInt(n[1]),Q=parseInt(n[2]),ce=parseInt(n[3]),ne=parseInt(n[4]),me=z===g,ye=z===b,xe=me&&Y===h,Ee=ye&&Y===E,at=xe&&Q===x,He=Ee&&Q===P,Jt=at&&ce===S,J=He&&ce===_,ue=Jt&&ne===w,R=J&&ne===B,ke=(Ce,Xe,Ne)=>{let De=[];for(let gt=Ce;gt<=Xe;gt++)De.push(gt);const Dt=n.slice(0,jn[Ne]),dn=c==null?void 0:c[Ne];return dn&&typeof dn=="function"&&(De=De.filter(gt=>dn(gt,{get date(){const ji=[...Dt,gt.toString()];return oc(ji)}}))),De};if(L>=jn.year){const Ne=ke(g,b,"year");f.push(Ne.map(De=>({label:a("year",De),value:De.toString()})))}if(L>=jn.month){const Ne=ke(me?h:1,ye?E:12,"month");f.push(Ne.map(De=>({label:a("month",De),value:De.toString()})))}if(L>=jn.day){const Ce=xe?x:1,Xe=Ee?P:K.daysInMonth(),Ne=ke(Ce,Xe,"day");f.push(Ne.map(De=>({label:a("day",De),value:De.toString()})))}if(L>=jn.hour){const Ne=ke(at?S:0,He?_:23,"hour");f.push(Ne.map(De=>({label:a("hour",De),value:De.toString()})))}if(L>=jn.minute){const Ne=ke(Jt?w:0,J?B:59,"minute");f.push(Ne.map(De=>({label:a("minute",De),value:De.toString()})))}if(L>=jn.second){const Ne=ke(ue?k:0,R?$:59,"second");f.push(Ne.map(De=>({label:a("second",De),value:De.toString()})))}if(d&&(f[0].push({label:a("now",null),value:es}),es===(n==null?void 0:n[0])))for(let Ce=1;Ce<f.length;Ce+=1)f[Ce]=[];return f}function Cw(n){return n?[n.getFullYear().toString(),(n.getMonth()+1).toString(),n.getDate().toString(),n.getHours().toString(),n.getMinutes().toString(),n.getSeconds().toString()]:[]}function oc(n){var o,r,i,a,c,d;const f=(o=n[0])!==null&&o!==void 0?o:"1900",g=(r=n[1])!==null&&r!==void 0?r:"1",h=(i=n[2])!==null&&i!==void 0?i:"1",x=(a=n[3])!==null&&a!==void 0?a:"0",S=(c=n[4])!==null&&c!==void 0?c:"0",w=(d=n[5])!==null&&d!==void 0?d:"0";return new Date(parseInt(f),parseInt(g)-1,parseInt(h),parseInt(x),parseInt(S),parseInt(w))}var Ii={exports:{}},ww=Ii.exports,Lf;function Sw(){return Lf||(Lf=1,function(n,o){(function(r,i){n.exports=i()})(ww,function(){var r="month",i="quarter";return function(a,c){var d=c.prototype;d.quarter=function(h){return this.$utils().u(h)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(h-1))};var f=d.add;d.add=function(h,x){return h=Number(h),this.$utils().p(x)===i?this.add(3*h,r):f.bind(this)(h,x)};var g=d.startOf;d.startOf=function(h,x){var S=this.$utils(),w=!!S.u(x)||x;if(S.p(h)===i){var k=this.quarter()-1;return w?this.month(3*k).startOf(r).startOf("day"):this.month(3*k+2).endOf(r).endOf("day")}return g.bind(this)(h,x)}}})}(Ii)),Ii.exports}var kw=Sw();const bw=co(kw);Be.extend(bw);const Ti={year:0,quarter:1};function Aw(n,o,r,i,a,c){const d=[],f=o.getFullYear(),g=r.getFullYear(),h=Ti[i],x=parseInt(n[0]),S=x===f,w=x===g,k=Be(o),b=Be(r),E=k.quarter(),P=b.quarter(),_=(B,$,L)=>{let z=[];for(let Q=B;Q<=$;Q++)z.push(Q);const K=n.slice(0,Ti[L]),Y=c==null?void 0:c[L];return Y&&typeof Y=="function"&&(z=z.filter(Q=>Y(Q,{get date(){const ce=[...K,Q.toString()];return $f(ce)}}))),z};if(h>=Ti.year){const L=_(f,g,"year");d.push(L.map(z=>({label:a("year",z),value:z.toString()})))}if(h>=Ti.quarter){const L=_(S?E:1,w?P:4,"quarter");d.push(L.map(z=>({label:a("quarter",z),value:z.toString()})))}return d}function Ew(n){if(!n)return[];const o=Be(n);return[o.year().toString(),o.quarter().toString()]}function $f(n){var o,r;const i=(o=n[0])!==null&&o!==void 0?o:"1900",a=(r=n[1])!==null&&r!==void 0?r:"1";return Be().year(parseInt(i)).quarter(parseInt(a)).hour(0).minute(0).second(0).toDate()}Be.extend(mf),Be.extend(Df),Be.extend(Bf);const ts={year:0,week:1,"week-day":2};function Pw(n,o,r,i,a,c){const d=[],f=o.getFullYear(),g=r.getFullYear(),h=ts[i],x=parseInt(n[0]),S=x===f,w=x===g,k=Be(o),b=Be(r),E=k.isoWeek(),P=b.isoWeek(),_=k.isoWeekday(),B=b.isoWeekday(),$=parseInt(n[1]),L=S&&$===E,z=w&&$===P,K=Be(`${x}-01-01`).isoWeeksInYear(),Y=(Q,ce,ne)=>{let me=[];for(let Ee=Q;Ee<=ce;Ee++)me.push(Ee);const ye=n.slice(0,ts[ne]),xe=c==null?void 0:c[ne];return xe&&typeof xe=="function"&&(me=me.filter(Ee=>xe(Ee,{get date(){const at=[...ye,Ee.toString()];return Mf(at)}}))),me};if(h>=ts.year){const ne=Y(f,g,"year");d.push(ne.map(me=>({label:a("year",me),value:me.toString()})))}if(h>=ts.week){const ne=Y(S?E:1,w?P:K,"week");d.push(ne.map(me=>({label:a("week",me),value:me.toString()})))}if(h>=ts["week-day"]){const ne=Y(L?_:1,z?B:7,"week-day");d.push(ne.map(me=>({label:a("week-day",me),value:me.toString()})))}return d}function Iw(n){if(!n)return[];const o=Be(n);return[o.isoWeekYear().toString(),o.isoWeek().toString(),o.isoWeekday().toString()]}function Mf(n){var o,r,i;const a=(o=n[0])!==null&&o!==void 0?o:"1900",c=(r=n[1])!==null&&r!==void 0?r:"1",d=(i=n[2])!==null&&i!==void 0?i:"1";return Be(`${parseInt(a)}-01-01`).isoWeek(parseInt(c)).isoWeekday(parseInt(d)).hour(0).minute(0).second(0).toDate()}const Tw={year:1,month:2,day:3,hour:4,minute:5,second:6},_w=(n,o)=>{if(o.includes("week"))return Iw(n);if(o.includes("quarter"))return Ew(n);{const r=o;return Cw(n).slice(0,Tw[r])}},zf=(n,o)=>{if((n==null?void 0:n[0])===es){const r=new Date;return r.tillNow=!0,r}return o.includes("week")?Mf(n):o.includes("quarter")?$f(n):oc(n)},Fw=(n,o,r,i,a,c,d)=>i.startsWith("week")?Pw(n,o,r,i,a,c):i.startsWith("quarter")?Aw(n,o,r,i,a,c):xw(n,o,r,i,a,c,d);function Nw(n){const{locale:o}=yn();return y.useCallback((r,i)=>{if(n)return n(r,i);switch(r){case"minute":case"second":case"hour":return("0"+i.toString()).slice(-2);case"now":return o.DatePicker.tillNow;default:return i.toString()}},[n])}const Vf=new Date().getFullYear(),Dw={min:new Date(new Date().setFullYear(Vf-10)),max:new Date(new Date().setFullYear(Vf+10)),precision:"day",defaultValue:null},jf=y.forwardRef((n,o)=>{const r=qe(Dw,n),{renderLabel:i}=r,[a,c]=Mn({value:r.value,defaultValue:r.defaultValue,onChange:w=>{var k;w!==null&&((k=r.onConfirm)===null||k===void 0||k.call(r,w))}}),d=y.useMemo(()=>new Date,[]),f=Nw(i),g=y.useMemo(()=>{let w=a!=null?a:d;return w.tillNow?[es]:(w=new Date(vo(w.getTime(),r.min.getTime(),r.max.getTime())),_w(w,r.precision))},[a,r.precision,r.min,r.max]),h=y.useCallback(w=>{const k=zf(w,r.precision);c(k,!0)},[c,r.precision]),x=Ue.useMemoizedFn(w=>{var k;const b=zf(w,r.precision);(k=r.onSelect)===null||k===void 0||k.call(r,b)}),S=y.useCallback(w=>Fw(w,r.min,r.max,r.precision,f,r.filter,r.tillNow),[r.min,r.max,r.precision,f,r.tillNow]);return Pe(r,y.createElement(Jr,{ref:o,columns:S,value:g,onCancel:r.onCancel,onClose:r.onClose,closeOnMaskClick:r.closeOnMaskClick,visible:r.visible,confirmText:r.confirmText,cancelText:r.cancelText,onConfirm:h,onSelect:x,getContainer:r.getContainer,loading:r.loading,loadingContent:r.loadingContent,afterShow:r.afterShow,afterClose:r.afterClose,onClick:r.onClick,title:r.title,stopPropagation:r.stopPropagation,mouseWheel:r.mouseWheel,destroyOnClose:r.destroyOnClose,forceRender:r.forceRender},(w,k)=>{var b;return(b=r.children)===null||b===void 0?void 0:b.call(r,a,k)}))});function Ow(n){return new Promise(o=>{const r=()=>{const[a,c]=y.useState(!1);return y.useEffect(()=>{c(!0)},[]),y.createElement(jf,Object.assign({},n,{visible:a,onConfirm:d=>{var f;(f=n.onConfirm)===null||f===void 0||f.call(n,d),o(d)},onClose:()=>{var d;(d=n.onClose)===null||d===void 0||d.call(n),c(!1),o(null)},afterClose:()=>{var d;(d=n.afterClose)===null||d===void 0||d.call(n),i()}}))},i=qa(y.createElement(r,null))})}const Bw=gn(jf,{prompt:Ow,DATE_NOW:es}),Lw=n=>Pe(n,y.createElement("svg",{viewBox:"0 0 64 41"},y.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},y.createElement("ellipse",{fill:"#f5f5f5",cx:"32",cy:"33",rx:"32",ry:"7"}),y.createElement("g",{stroke:"#d9d9d9"},y.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),y.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"#fafafa"}))))),ns="adm-empty",rc=n=>{function o(){const{image:r}=n;return r===void 0?y.createElement(Lw,{className:`${ns}-image`,style:n.imageStyle}):typeof r=="string"?y.createElement("img",{className:`${ns}-image`,style:n.imageStyle,src:r,alt:"empty"}):r}return Pe(n,y.createElement("div",{className:ns},y.createElement("div",{className:`${ns}-image-container`},o()),n.description&&y.createElement("div",{className:be(`${ns}-description`)},n.description)))},Uf="adm-grid",os=gn(n=>{const o={"--columns":n.columns.toString()},{gap:r}=n;return r!==void 0&&(Array.isArray(r)?(o["--gap-horizontal"]=Ga(r[0]),o["--gap-vertical"]=Ga(r[1])):o["--gap"]=Ga(r)),Pe(n,y.createElement("div",{className:Uf,style:o},n.children))},{Item:n=>{const o=qe({span:1},n),r={"--item-span":o.span};return Pe(o,y.createElement("div",{className:`${Uf}-item`,style:r,onClick:o.onClick},o.children))}}),go="adm-space",$w={direction:"horizontal"},yt=n=>{const o=qe($w,n),{direction:r,onClick:i}=o;return Pe(o,y.createElement("div",{className:be(go,{[`${go}-wrap`]:o.wrap,[`${go}-block`]:o.block,[`${go}-${r}`]:!0,[`${go}-align-${o.align}`]:!!o.align,[`${go}-justify-${o.justify}`]:!!o.justify}),onClick:i},y.Children.map(o.children,a=>a!=null&&y.createElement("div",{className:`${go}-item`},a))))};function Mw({onEnterPress:n,onKeyDown:o,nativeInputRef:r,enterKeyHint:i}){const a=c=>{n&&(c.code==="Enter"||c.keyCode===13)&&n(c),o==null||o(c)};return Ue.useIsomorphicLayoutEffect(()=>{const c=r.current;if(!(!i||!c))return c.setAttribute("enterkeyhint",i),()=>{c.removeAttribute("enterkeyhint")}},[i]),a}const _i="adm-input",zw={defaultValue:"",clearIcon:y.createElement(Cg,null),onlyShowClearWhenFocus:!0},Vw=y.forwardRef((n,o)=>{const{locale:r,input:i={}}=yn(),a=qe(zw,i,n),[c,d]=Mn(a),[f,g]=y.useState(!1),h=y.useRef(!1),x=y.useRef(null),S=Mw({onEnterPress:a.onEnterPress,onKeyDown:a.onKeyDown,nativeInputRef:x,enterKeyHint:a.enterKeyHint});y.useImperativeHandle(o,()=>({clear:()=>{d("")},focus:()=>{var b;(b=x.current)===null||b===void 0||b.focus()},blur:()=>{var b;(b=x.current)===null||b===void 0||b.blur()},get nativeElement(){return x.current}}));function w(){let b=c;if(a.type==="number"){const E=b&&vo(parseFloat(b),a.min,a.max).toString();Number(b)!==Number(E)&&(b=E)}b!==c&&d(b)}const k=!a.clearable||!c||a.readOnly?!1:a.onlyShowClearWhenFocus?f:!0;return Pe(a,y.createElement("div",{className:be(`${_i}`,a.disabled&&`${_i}-disabled`)},y.createElement("input",{ref:x,className:`${_i}-element`,value:c,onChange:b=>{d(b.target.value)},onFocus:b=>{var E;g(!0),(E=a.onFocus)===null||E===void 0||E.call(a,b)},onBlur:b=>{var E;g(!1),w(),(E=a.onBlur)===null||E===void 0||E.call(a,b)},onPaste:a.onPaste,id:a.id,placeholder:a.placeholder,disabled:a.disabled,readOnly:a.readOnly,maxLength:a.maxLength,minLength:a.minLength,max:a.max,min:a.min,autoComplete:a.autoComplete,enterKeyHint:a.enterKeyHint,autoFocus:a.autoFocus,pattern:a.pattern,inputMode:a.inputMode,type:a.type,name:a.name,autoCapitalize:a.autoCapitalize,autoCorrect:a.autoCorrect,onKeyDown:S,onKeyUp:a.onKeyUp,onCompositionStart:b=>{var E;h.current=!0,(E=a.onCompositionStart)===null||E===void 0||E.call(a,b)},onCompositionEnd:b=>{var E;h.current=!1,(E=a.onCompositionEnd)===null||E===void 0||E.call(a,b)},onClick:a.onClick,step:a.step,role:a.role,"aria-valuenow":a["aria-valuenow"],"aria-valuemax":a["aria-valuemax"],"aria-valuemin":a["aria-valuemin"],"aria-label":a["aria-label"]}),k&&y.createElement("div",{className:`${_i}-clear`,onMouseDown:b=>{b.preventDefault()},onClick:()=>{var b,E;d(""),(b=a.onClear)===null||b===void 0||b.call(a),FC()&&h.current&&(h.current=!1,(E=x.current)===null||E===void 0||E.blur())},"aria-label":r.Input.clear},a.clearIcon)))}),Xo="adm-nav-bar",Wf=y.createElement(wg,null),rs=n=>{const{navBar:o={}}=yn(),r=qe(o,n),{back:i,backIcon:a,backArrow:c}=r,d=o.backIcon||Wf,f=ia(Wf,o.backIcon,c===!0?d:c,a===!0?d:a);return Pe(r,y.createElement("div",{className:be(Xo)},y.createElement("div",{className:`${Xo}-left`,role:"button"},i!==null&&y.createElement("div",{className:`${Xo}-back`,onClick:r.onBack},f&&y.createElement("span",{className:`${Xo}-back-arrow`},f),y.createElement("span",{"aria-hidden":"true"},i)),r.left),y.createElement("div",{className:`${Xo}-title`},r.children),y.createElement("div",{className:`${Xo}-right`},r.right)))},Un="adm-search-bar",jw={clearable:!0,onlyShowClearWhenFocus:!1,showCancelButton:!1,defaultValue:"",clearOnCancel:!0},Hf=y.forwardRef((n,o)=>{const{locale:r,searchBar:i={}}=yn(),a=qe(jw,i,{cancelText:r.common.cancel},n),c=ia(y.createElement(kg,null),i.searchIcon,n.icon,n.searchIcon),[d,f]=Mn(a),[g,h]=y.useState(!1),x=y.useRef(null),S=y.useRef(!1);y.useImperativeHandle(o,()=>({clear:()=>{var k;return(k=x.current)===null||k===void 0?void 0:k.clear()},focus:()=>{var k;return(k=x.current)===null||k===void 0?void 0:k.focus()},blur:()=>{var k;return(k=x.current)===null||k===void 0?void 0:k.blur()},get nativeElement(){var k,b;return(b=(k=x.current)===null||k===void 0?void 0:k.nativeElement)!==null&&b!==void 0?b:null}}));const w=()=>{let k;return typeof a.showCancelButton=="function"?k=a.showCancelButton(g,d):k=a.showCancelButton&&g,k&&y.createElement("div",{className:`${Un}-suffix`},y.createElement(pf,{fill:"none",className:`${Un}-cancel-button`,onClick:()=>{var b,E,P;a.clearOnCancel&&((b=x.current)===null||b===void 0||b.clear()),(E=x.current)===null||E===void 0||E.blur(),(P=a.onCancel)===null||P===void 0||P.call(a)},onMouseDown:b=>{b.preventDefault()}},a.cancelText))};return Pe(a,y.createElement("div",{className:be(Un,{[`${Un}-active`]:g})},y.createElement("div",{className:`${Un}-input-box`},c&&y.createElement("div",{className:`${Un}-input-box-icon`},c),y.createElement(Vw,{ref:x,className:be(`${Un}-input`,{[`${Un}-input-without-icon`]:!c}),value:d,onChange:f,maxLength:a.maxLength,autoFocus:a.autoFocus,placeholder:a.placeholder,clearable:a.clearable,onlyShowClearWhenFocus:a.onlyShowClearWhenFocus,onFocus:k=>{var b;h(!0),(b=a.onFocus)===null||b===void 0||b.call(a,k)},onBlur:k=>{var b;h(!1),(b=a.onBlur)===null||b===void 0||b.call(a,k)},onClear:a.onClear,type:"search",enterKeyHint:"search",onEnterPress:()=>{var k,b;S.current||((k=x.current)===null||k===void 0||k.blur(),(b=a.onSearch)===null||b===void 0||b.call(a,d))},"aria-label":r.SearchBar.name,onCompositionStart:k=>{var b;S.current=!0,(b=a.onCompositionStart)===null||b===void 0||b.call(a,k)},onCompositionEnd:k=>{var b;S.current=!1,(b=a.onCompositionEnd)===null||b===void 0||b.call(a,k)}})),w()))}),Uw=y.memo(()=>y.createElement("svg",{width:"17px",height:"13px",viewBox:"0 0 17 13",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},y.createElement("g",{stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},y.createElement("g",{transform:"translate(-2832.000000, -1103.000000)",stroke:"#FFFFFF",strokeWidth:"3"},y.createElement("g",{transform:"translate(2610.000000, 955.000000)"},y.createElement("g",{transform:"translate(24.000000, 91.000000)"},y.createElement("g",{transform:"translate(179.177408, 36.687816)"},y.createElement("polyline",{points:"34.2767388 22 24.797043 31.4796958 21 27.6826527"})))))))),xo="adm-selector",Ww={multiple:!1,defaultValue:[],showCheckMark:!0},Hw=n=>{const o=qe(Ww,n),[r,i,,a]=pw(o.fieldNames),[c,d]=Mn({value:o.value,defaultValue:o.defaultValue,onChange:h=>{var x;const S={get items(){return o.options.filter(w=>h.includes(w[i]))}};(x=o.onChange)===null||x===void 0||x.call(o,h,S)}}),{locale:f}=yn(),g=o.options.map(h=>{const x=(c||[]).includes(h[i]),S=h[a]||o.disabled,w=be(`${xo}-item`,{[`${xo}-item-active`]:x&&!o.multiple,[`${xo}-item-multiple-active`]:x&&o.multiple,[`${xo}-item-disabled`]:S});return y.createElement("div",{key:h[i],className:w,onClick:()=>{if(!S)if(o.multiple){const k=x?c.filter(b=>b!==h[i]):[...c,h[i]];d(k)}else{const k=x?[]:[h[i]];d(k)}},role:"option","aria-selected":x&&!o.multiple||x&&o.multiple},h[r],h.description&&y.createElement("div",{className:`${xo}-item-description`},h.description),x&&o.showCheckMark&&y.createElement("div",{className:`${xo}-check-mark-wrapper`},y.createElement(Uw,null)))});return Pe(o,y.createElement("div",{className:xo,role:"listbox","aria-label":f.Selector.name},o.columns?y.createElement(os,{columns:o.columns},g):y.createElement(yt,{wrap:!0},g)))},Co="adm-step",Kw=n=>{const{title:o,description:r,icon:i,status:a="wait"}=n;return Pe(n,y.createElement("div",{className:be(`${Co}`,`${Co}-status-${a}`)},y.createElement("div",{className:`${Co}-indicator`},y.createElement("div",{className:`${Co}-icon-container`},i)),y.createElement("div",{className:`${Co}-content`},y.createElement("div",{className:`${Co}-title`},o),!!r&&y.createElement("div",{className:`${Co}-description`},r))))},Kf="adm-steps",Yw=y.createElement("span",{className:"adm-step-icon-dot"}),qw={current:0,direction:"horizontal"},Yf=gn(n=>{const o=qe(qw,n),{direction:r,current:i}=o,a=be(Kf,`${Kf}-${r}`);return Pe(o,y.createElement("div",{className:a},y.Children.map(o.children,(c,d)=>{var f;if(!y.isValidElement(c))return c;const g=c.props;let h=g.status||"wait";d<i?h=g.status||"finish":d===i&&(h=g.status||"process");const x=(f=g.icon)!==null&&f!==void 0?f:Yw;return y.cloneElement(c,{status:h,icon:x})})))},{Step:Kw}),Qw=()=>null,Sn="adm-tab-bar",Gw={safeArea:!1},Xw=gn(n=>{var o;const r=qe(Gw,n);let i=null;const a=[];yf(r.children,(f,g)=>{if(!y.isValidElement(f))return;const h=f.key;typeof h=="string"&&(g===0&&(i=h),a.push(f))});const[c,d]=Mn({value:r.activeKey,defaultValue:(o=r.defaultActiveKey)!==null&&o!==void 0?o:i,onChange:f=>{var g;f!==null&&((g=r.onChange)===null||g===void 0||g.call(r,f))}});return Pe(r,y.createElement("div",{className:Sn},y.createElement("div",{className:`${Sn}-wrap`},a.map(f=>{const g=f.key===c;function h(){const x=f.props.icon&&y.createElement("div",{className:`${Sn}-item-icon`},typeof f.props.icon=="function"?f.props.icon(g):f.props.icon),S=f.props.title&&y.createElement("div",{className:be(`${Sn}-item-title`,!!x&&`${Sn}-item-title-with-icon`)},typeof f.props.title=="function"?f.props.title(g):f.props.title);return x?y.createElement(y.Fragment,null,y.createElement(df,{content:f.props.badge,className:`${Sn}-icon-badge`},x),S):S?y.createElement(df,{content:f.props.badge,className:`${Sn}-title-badge`},S):null}return Pe(f.props,y.createElement("div",{key:f.key,onClick:()=>{var x,S;const{key:w}=f;w!=null&&(d(w.toString()),(S=(x=f.props).onClick)===null||S===void 0||S.call(x))},className:be(`${Sn}-item`,{[`${Sn}-item-active`]:g})},h()))})),r.safeArea&&y.createElement(sf,{position:"bottom"})))},{Item:Qw}),qf="adm-tag",Jw={default:"var(--adm-color-text-secondary, #666666)",primary:"var(--adm-color-primary, #1677ff)",success:"var(--adm-color-success, #00b578)",warning:"var(--adm-color-warning, #ff8f1f)",danger:"var(--adm-color-danger, #ff3141)"},Zw={color:"default",fill:"solid",round:!1},Wn=n=>{var o;const r=qe(Zw,n),i=(o=Jw[r.color])!==null&&o!==void 0?o:r.color,a={"--border-color":i,"--text-color":r.fill==="outline"?i:"#ffffff","--background-color":r.fill==="outline"?"transparent":i};return Pe(r,y.createElement("span",{style:a,onClick:r.onClick,className:be(qf,{[`${qf}-round`]:r.round})},r.children))},kn="adm-toast",Rw={maskClickable:!0,stopPropagation:["click"]},eS=n=>{const o=qe(Rw,n),{maskClickable:r,content:i,icon:a,position:c}=o,d=y.useMemo(()=>{if(a==null)return null;switch(a){case"success":return y.createElement(xg,{className:`${kn}-icon-success`});case"fail":return y.createElement(kd,{className:`${kn}-icon-fail`});case"loading":return y.createElement(_f,{color:"white",className:`${kn}-loading`});default:return a}},[a]),f=y.useMemo(()=>{switch(c){case"top":return"20%";case"bottom":return"80%";default:return"50%"}},[c]);return y.createElement(Dp,{visible:o.visible,destroyOnClose:!0,opacity:0,disableBodyScroll:!r,getContainer:o.getContainer,afterClose:o.afterClose,style:Object.assign({pointerEvents:r?"none":"auto"},o.maskStyle),className:be(`${kn}-mask`,o.maskClassName),stopPropagation:o.stopPropagation},y.createElement("div",{className:be(`${kn}-wrap`)},y.createElement("div",{style:{top:f},className:be(`${kn}-main`,a?`${kn}-main-icon`:`${kn}-main-text`)},d&&y.createElement("div",{className:`${kn}-icon`},d),y.createElement(Qa,null,i))))};let Nt=null,sc=null;const Fi={duration:2e3,position:"center",maskClickable:!0},tS=n=>y.createElement(eS,Object.assign({},n));function nS(n){var o;const r=qe(Fi,typeof n=="string"?{content:n}:n),i=y.createElement(tS,Object.assign({},r,{onClose:()=>{Nt=null}}));return Nt?!((o=Nt.isRendered)===null||o===void 0)&&o.call(Nt)?Nt.replace(i):(Nt.close(),Nt=af(i)):Nt=af(i),sc&&window.clearTimeout(sc),r.duration!==0&&(sc=window.setTimeout(()=>{Qf()},r.duration)),Nt}function Qf(){Nt==null||Nt.close(),Nt=null}function oS(n){n.duration!==void 0&&(Fi.duration=n.duration),n.position!==void 0&&(Fi.position=n.position),n.maskClickable!==void 0&&(Fi.maskClickable=n.maskClickable)}const un={show:nS,clear:Qf,config:oS},wo=[{value:ae.DRAFT,label:W("Draft"),editable:!0},{value:ae.RETURNED,label:W("Returned"),color:"purple",editable:!0},{value:ae.SUBMITTED,label:W("Submitted"),color:"cyan"},{value:ae.PROCESSING,label:W("Processing"),color:"gold"},{value:ae.APPROVED,label:W("Approved"),color:"green"},{value:ae.RESUBMIT,label:W("Resubmit"),color:"blue",editable:!0},{value:ae.REJECTED,label:W("Rejected"),color:"red"},{value:ae.ERROR,label:W("ERROR"),color:"#FF0000"}],Ni=wo.reduce((n,o)=>Z(D({},n),{[o.value]:o}),{}),Jo=y.createContext({});function Qe(){return y.useContext(Jo)}const Gf=y.createContext({actionEnabled:!1}),rS=n=>{const o=v.useCompile(),{t:r}=we(),{approval:i}=Qe(),{data:a}=v.useCurrentUserContext(),{Step:c}=Yf,d=y.useMemo(()=>sS({approval:i,currentUser:a}),[i,a]),f=iS(d,r,{compile:o});return m.jsx(Gf.Provider,{value:{actionEnabled:n.actionEnabled},children:m.jsx(Yf,{direction:"vertical",children:f.map((g,h)=>m.jsx(c,{title:o(g.title),description:m.jsx(yt,{direction:"vertical",children:g.description.map((x,S)=>m.jsxs(yt,{children:[x.userName,m.jsx(Wn,{color:x.status.color,fill:"outline",children:o(x.status.label)}),x.date]},S))}),status:"finish"},h))})})};function sS({approval:n,currentUser:o}){const{workflow:r,approvalExecutions:i,records:a}=n;i.sort((f,g)=>Date.parse(f.createdAt)-Date.parse(g.createdAt));const c=i.reduce((f,g)=>Object.assign(f,{[g.id]:Object.assign(g,{records:[{groupCount:1,node:{title:Rl("Apply")},user:Z(D({},n.createdBy),{id:n.createdById}),status:g.status?ae.SUBMITTED:n.status,updatedAt:g.createdAt,execution:D({},g)}]})}),{});a.sort((f,g)=>{var S,w;const h=new Date((S=f.job)==null?void 0:S.createdAt),x=new Date((w=g.job)==null?void 0:w.createdAt);return h<x?-1:h>x?1:f.id-g.id}).forEach(f=>{const g=c[f.approvalExecutionId],h=Oe.omit(g,["records"]);f.workflow=r,f.execution=D({},h),g.records.push(f),g.jobs||(g.jobs={}),g.jobs[f.jobId]?g.jobs[f.jobId].first.groupCount+=1:(g.jobs[f.jobId]={first:f},f.groupCount=1,f.statusCount={[ae.APPROVED]:0,[ae.REJECTED]:0}),[ae.APPROVED,ae.REJECTED].includes(f.status)&&(g.jobs[f.jobId].first.statusCount[f.status]+=1)}),n.createdById===(o==null?void 0:o.data.id)&&i.forEach(f=>{f.status===M.EXECUTION_STATUS.CANCELED&&f.records.length===1&&(f.records[0].groupCount=2,f.records.push({user:{nickname:n.createdBy.nickname},status:ve.WITHDRAWN,updatedAt:f.updatedAt}))});const d=i.length;return i.filter((f,g)=>d-1===g&&(!f.status||f.status===M.EXECUTION_STATUS.CANCELED)||f.records.length>1)}const iS=(n,o,{compile:r})=>{const i=[];return n.forEach(a=>{const c={};a.records.forEach((f,g)=>{var x,S,w;const h={};if((!(f.workflow!=null&&f.workflow.enabled)||f.execution!=null&&f.execution.stauts||(x=f.job)!=null&&x.status)&&[ve.ASSIGNED,ve.PENDING].includes(f.status))h.label="Unprocessed",h.color="default";else{const k=Nn.find(E=>E.value===f.status),b=wo.find(E=>E.value===f.status);f.nodeId?(h.label=r(k==null?void 0:k.label)||r(b==null?void 0:b.label),h.color=(k==null?void 0:k.color)||(b==null?void 0:b.color)||"default"):(h.label=(b==null?void 0:b.label)||(k==null?void 0:k.label),h.color=(b==null?void 0:b.color)||(k==null?void 0:k.color)||"default")}Object.keys(c).includes(f.nodeId?f.nodeId.toString():"")?c[f.nodeId].description.push({userName:f.user.nickname,status:h,date:f.status===0?"":Be(f.updatedAt).format("YYYY-MM-DD HH:mm:ss")}):c[f.nodeId||((S=f.node)==null?void 0:S.title)||o(h.label)]={title:((w=f.node)==null?void 0:w.title)||o(h.label),index:g,description:[{userName:f.user.nickname,status:h,date:f.status===0?"":Be(f.updatedAt).format("YYYY-MM-DD HH:mm:ss")}]}});const d=Object.values(c).sort((f,g)=>f.index-g.index);i.push(...d)}),i.filter(Boolean)};function Xf(){const{t:n}=we(),o=v.useAPIClient(),r=j.useField(),{approval:i}=Qe();return{run(){return le(this,null,function*(){var c,d;try{r.data=(c=r.data)!=null?c:{},r.data.loading=!0;const{data:f}=yield o.resource("approvals").reminder({filterByTk:i.id});if((d=f.data)!=null&&d.success){const g=i.records.map(h=>h.user.nickname);te.message.success(n("Reminder {{user}} successful",{user:g.join(", ")}))}r.data.loading=!1}catch(f){r.data&&(r.data.loading=!1)}})}}}const Jf=y.createContext({}),lS=({children:n})=>{const[o,r]=y.useState(!1);return m.jsx(Jf.Provider,{value:{isResubmit:o,setResubmit:r},children:n})},Zo=()=>y.useContext(Jf);function Zf(){const{setResubmit:n}=Zo();return{run(){return le(this,null,function*(){n(!0)})}}}function Rf(){const n=j.useForm(),o=j.useField(),r=v.useCollection_deprecated(),i=pS(),a=v.useAPIClient(),c=ht.useParams(),{isResubmit:d}=Zo(),{id:f}=c,g=ht.useNavigate(),{approval:h}=Qe(),{workflow:x}=h||{};return{run(w){return le(this,null,function*(){try{yield n.submit(),o.data=o.data||{},o.data.loading=!0,delete n.values.createdAt,delete n.values.updatedAt,(yield a.resource("approvals").create({values:{collectionName:v.joinCollectionName(r.dataSource,r.name),data:n.values,status:typeof(w==null?void 0:w.approvalStatus)!="undefined"?w==null?void 0:w.approvalStatus:i,workflowId:d?x.id:f,workflowKey:d?x.key:void 0}})).status===200&&(un.show({icon:"success",content:"提交成功"}),n.reset(),setTimeout(()=>{g(-1)},1e3)),o.data.loading=!1}catch(k){o.data&&(o.data.loading=!1)}})}}}const em=n=>{const{data:o}=v.useCurrentUserContext(),{approval:r,id:i}=Qe()||{},{status:a,createdById:c,latestExecutionId:d}=r||{},f=o.data.id===c,g=d===i,h=a===ae.DRAFT,x=a===ae.RETURNED,S=a===ae.APPROVED;return f&&!h&&!x&&!S&&g?n.children:null},aS=()=>{const n=ht.useParams(),o=ht.useNavigate(),{name:r,id:i}=n,a=y.useContext(v.SchemaComponentContext),c=v.useAPIClient(),[d,f]=y.useState({});return y.useEffect(()=>{c.request({url:"workflows:list",params:{paginate:!1,filter:{type:{$eq:"approval"},enabled:{$eq:!0},id:{$eq:i}}}}).then(g=>{const h=g.data.data[0],[x,S]=v.parseCollectionName(h.config.collection),w={type:"void","x-component":"MobileProvider",properties:{page:{type:"void","x-component":"MPage","x-designer":"MPage.Designer","x-decorator":"MobileProvider","x-component-props":{},properties:{Approval:{type:"void","x-decorator":"CollectionProvider_deprecated","x-decorator-props":{name:S,dataSource:x},"x-component":"RemoteSchemaComponent","x-component-props":{uid:h.config.applyForm,noForm:!0}}}}}};f(w)}).catch(()=>{})},[]),m.jsxs("div",{style:{minHeight:"100vh",backgroundColor:"#f3f3f3",overflow:"auto"},children:[m.jsx(rs,{onBack:()=>{o(-1)},className:"navBarStyle",children:r}),m.jsx(v.SchemaComponentContext.Provider,{value:Z(D({},a),{designable:!1}),children:m.jsx("div",{className:"approvalContext",children:m.jsx(v.SchemaComponent,{schema:d,components:{RemoteSchemaComponent:v.RemoteSchemaComponent,CollectionProvider_deprecated:v.CollectionProvider_deprecated,ApplyActionStatusProvider:fS,ActionBarProvider:dS,WithdrawActionProvider:cS,ProviderActionResubmit:()=>null,ProviderActionReminder:em,MobileProvider:v.MobileProvider},scope:{useSubmit:Rf,useWithdrawAction:uS,useActionResubmit:Zf,useActionReminder:Xf}})})})]})};function cS(){return null}function uS(){return{run(){}}}function dS(n){return n.children}const tm=y.createContext(ae.SUBMITTED);function pS(){return y.useContext(tm)}function fS(n){return m.jsx(tm.Provider,{value:n.value,children:n.children})}const nm=n=>{var B;const{approvalExecution:o,snapshot:r}=Qe(),i=(o==null?void 0:o.snapshot)||r,a=j.useFieldSchema(),c=j.useField(),d=y.useRef(null),{getAssociationAppends:f}=v.useAssociationNames(),{appends:g,updateAssociationValues:h}=f(),{findComponent:x}=v.useDesignable(),S=x((B=c.component)==null?void 0:B[0])||y.Fragment,w=y.useMemo(()=>j.createForm({initialValues:i}),[i]),k=y.useMemo(()=>D(D({},g),n.params),[g,n.params]),b=y.useMemo(()=>({loading:!1,data:{data:i}}),[i]),E=v.useAPIClient().resource(n.collection),P=y.useContext(v.BlockRequestContext_deprecated),_=y.useMemo(()=>({params:k,form:w,field:c,service:b,updateAssociationValues:h,formBlockRef:d}),[c,w,k,b,h]);return m.jsx(v.CollectionProvider_deprecated,{dataSource:n.dataSource,collection:n.collection,children:m.jsx(v.RecordProvider,{record:i,children:m.jsx(v.FormActiveFieldsProvider,{name:"form",children:m.jsx(v.BlockRequestContext_deprecated.Provider,{value:{block:"form",props:n,field:c,service:b,resource:E,__parent:P},children:m.jsx(v.FormBlockContext.Provider,{value:_,children:m.jsxs(S,Z(D({},c.componentProps),{children:[m.jsx(v.FormV2.Templates,{style:{marginBottom:18},form:w}),m.jsx(v.FormProvider,{form:w,children:m.jsx("div",{ref:d,children:m.jsx(j.RecursionField,{schema:a,onlyRenderProperties:!0})})})]}))})})})})})};function om({designable:n,children:o}){const r=v.useSchemaComponentContext();return m.jsx(v.SchemaComponentContext.Provider,{value:Z(D({},r),{designable:n}),children:o})}function mS(){const{approval:n,id:o}=Qe(),r=j.useForm(),{data:i}=v.useCurrentUserContext(),{isResubmit:a}=Zo(),{editable:c}=wo.find(f=>f.value===n.status),d=(a||c)&&(n==null?void 0:n.latestExecutionId)===o&&(n==null?void 0:n.createdById)===(i==null?void 0:i.data.id);return y.useEffect(()=>{n&&(d?r.setPattern("editable"):r.setPattern("readPretty"))},[r,n,d]),{form:r}}const rm=y.createContext(ae.SUBMITTED);function hS(){return y.useContext(rm)}function vS(n){const{value:o,children:r}=n,{approval:i}=Qe(),{status:a,createdById:c,workflow:d}=i,{data:f}=v.useCurrentUserContext(),{isResubmit:g}=Zo(),h=f.data.id===c,x=[ae.DRAFT,ae.RETURNED,ae.RESUBMIT].includes(a);return o===ae.DRAFT&&a===ae.DRAFT?null:h&&(x||g)?m.jsx(rm.Provider,{value:o,children:r}):null}function yS(){const n=j.useForm(),o=j.useField(),{approval:r}=Qe(),{setSubmitted:i}=v.useActionContext(),{workflow:a,id:c}=r,d=hS(),f=v.useAPIClient(),g=ht.useNavigate(),{isResubmit:h}=Zo(),{run:x}=Rf(),{updateAssociationValues:S}=v.useFormBlockContext();return{run(){return le(this,null,function*(){if(h)return yield x({approvalStatus:d});try{yield n.submit(),Oe.set(o,["data","loading"],!0),(yield f.resource("approvals").update({filterByTk:c,values:{collectionName:a.config.collection,data:n.values,status:d,summaryConfig:a.config.summary,updateAssociationValues:S}})).status===200?(un.show({icon:"success",content:"处理成功"}),setTimeout(()=>{g(-1)},1e3),i(!0)):un.show({icon:"fail",content:"处理失败"})}catch(k){Oe.set(o,["data","loading"],!1)}})}}}function gS(){const n=j.useField(),{approval:o}=Qe(),r=v.useAPIClient(),i=ht.useNavigate();return{run(){return le(this,null,function*(){var c;try{n.data=(c=n.data)!=null?c:{},n.data.loading=!0,(yield r.resource("approvals").withdraw({filterByTk:o.id})).status===202?(un.show({icon:"success",content:"撤回成功"}),setTimeout(()=>{i(-1)},1e3)):un.show({icon:"fail",content:"撤回失败"}),n.data.loading=!1}catch(d){n.data&&(n.data.loading=!1)}})}}}function xS(n){const{data:o}=v.useCurrentUserContext(),{approval:r,id:i}=Qe(),{status:a,createdById:c,latestExecutionId:d}=r;return!(o.data.id===c)||!(d===i)?null:n.children}function CS(n){const{data:o}=v.useCurrentUserContext(),{approval:r}=Qe(),{isResubmit:i}=Zo(),{status:a,createdById:c}=r,d=o.data.id===c,f=a===ae.DRAFT,g=a===ae.RETURNED;return d&&!i&&!f&&!g?n.children:null}function wS({children:n}){const{data:o}=v.useCurrentUserContext(),{approval:r}=Qe(),{status:i,createdById:a,workflow:c}=r,d=o.data.id===a,f=c.enabled&&c.config.withdrawable,g=ae.SUBMITTED===i;return d&&f&&g?n:null}const SS=()=>{const n=ht.useParams(),o=ht.useNavigate(),{id:r}=n,[i,a]=y.useState(!1),[c,d]=y.useState({}),{t:f}=we(),g=v.useAPIClient();y.useEffect(()=>{g.request({url:"approvalExecutions:get",params:{filterByTk:r,appends:["execution","execution.jobs","approval","approval.workflow","approval.workflow.nodes","approval.approvalExecutions","approval.createdBy.id","approval.createdBy.nickname","approval.records","approval.records.node.title","approval.records.node.config","approval.records.job","approval.records.user.nickname"],except:["approval.approvalExecutions.snapshot","approval.records.snapshot"]}}).then(b=>{var E;(E=b.data)!=null&&E.data?d(b.data.data):a(!0)}).catch(()=>{})},[r]);const k=c||{},{approval:h,execution:x}=k,S=et(k,["approval","execution"]),{workflow:w}=h||{};return m.jsxs("div",{style:{minHeight:"100vh",backgroundColor:"#f3f3f3",overflow:"auto"},children:[m.jsx(rs,{onBack:()=>{o(-1)},className:"navBarStyle",children:f("Approval")}),m.jsx(Jo.Provider,{value:c,children:m.jsx(lS,{children:m.jsx("div",{className:"approvalContext",children:Object.keys(c).length&&!i?m.jsx(Jo.Provider,{value:c,children:kS(w==null?void 0:w.config.applyForm)}):m.jsxs("div",{children:[m.jsx(Vn.Title,{animated:!0}),m.jsx(Vn.Paragraph,{lineCount:5,animated:!0})]})})})})]})},kS=n=>{const o={type:"void","x-component":"MobileProvider",properties:{page:{type:"void","x-component":"MPage","x-designer":"MPage.Designer","x-decorator":"MobileProvider","x-component-props":{},properties:{Approval:{type:"void","x-decorator":"SchemaComponentContextProvider","x-decorator-props":{designable:!1},"x-component":"RemoteSchemaComponent","x-component-props":{uid:n,noForm:!0}},process:{type:"void","x-decorator":"CardItem","x-component":"ApprovalCommon.ViewComponent.MApprovalProcess"}}}}};return m.jsx(v.SchemaComponent,{components:{SchemaComponentProvider:v.SchemaComponentProvider,RemoteSchemaComponent:v.RemoteSchemaComponent,SchemaComponentContextProvider:om,FormBlockProvider:nm,ActionBarProvider:xS,ApplyActionStatusProvider:vS,WithdrawActionProvider:wS,DetailsBlockProvider:M.DetailsBlockProvider,MobileProvider:v.MobileProvider,ProviderActionResubmit:CS,ProviderActionReminder:em},scope:{useForm:j.useForm,useSubmit:yS,useFormBlockProps:mS,useDetailsBlockProps:v.useFormBlockContext,useWithdrawAction:gS,useDestroyAction:v.useDestroyAction,useActionResubmit:Zf,useActionReminder:Xf},schema:o})},sm=()=>{const a=v.useSchemaInitializerItem(),{action:o,actionProps:r={}}=a,i=et(a,["action","actionProps"]);return m.jsx(v.ActionInitializer,Z(D({},i),{schema:{type:"void",title:i.title,"x-decorator":"ApplyActionStatusProvider","x-decorator-props":{value:o},"x-component":"Action","x-component-props":Z(D({},r),{useAction:"{{ useSubmit }}"}),"x-designer":"Action.Designer","x-action":`${o}`,"x-action-settings":{assignedValues:{}}}}))},bS=new v.SchemaInitializer({name:"ApprovalApplyAddActionButton",title:'{{t("Configure actions")}}',items:[{name:"submit",type:"item",title:'{{t("Submit")}}',Component:sm,action:ae.SUBMITTED,actionProps:{type:"primary"},disabled:!0},{name:"save",type:"item",title:`{{t("Save draft", { ns: "${X}" })}}`,Component:sm,action:ae.DRAFT}]}),ss={title:`{{t("Approval applications", { ns: "${X}" })}}`,name:"approvals",fields:[{type:"bigInt",name:"id",interface:"number",uiSchema:{type:"number",title:"ID","x-component":"InputNumber"}},{type:"belongsTo",name:"workflow",target:"workflows",foreignKey:"workflowId",interface:"m2o",uiSchema:{type:"number",title:'{{t("Workflow", { ns: "workflow" })}}',"x-component":"RemoteSelect","x-component-props":{fieldNames:{label:"title",value:"id"},service:{resource:"workflows"}}}},{type:"belongsTo",name:"createdBy",target:"users",foreignKey:"createdById",interface:"m2o",uiSchema:{type:"number",title:`{{t("Initiator", { ns: "${X}" })}}`,"x-component":"RemoteSelect","x-component-props":{fieldNames:{label:"nickname",value:"id"},service:{resource:"users"}}}},{type:"integer",name:"status",interface:"select",uiSchema:{type:"number",title:'{{t("Status", { ns: "workflow" })}}',"x-component":"Select",enum:wo}},{name:"createdAt",type:"date",interface:"createdAt",uiSchema:{type:"datetime",title:W("Launched time"),"x-component":"DatePicker","x-component-props":{showTime:!0}}},{name:"updatedAt",type:"date",interface:"updatedAt",uiSchema:{type:"datetime",title:W("Launched time"),"x-component":"DatePicker","x-component-props":{showTime:!0}}},{type:"jsonb",name:"summary",uiSchema:{type:"array",title:W("Summary"),"x-component":"ApprovalsSummary","x-component-props":{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}}}]},is={title:W("Node"),name:"flow_nodes",fields:[{type:"bigInt",name:"id",interface:"m2o",uiSchema:{type:"number",title:"ID","x-component":"RemoteSelect","x-component-props":{fieldNames:{label:"title",value:"id"},service:{resource:"flow_nodes",params:{filter:{type:"manual"}}}}}},{type:"string",name:"title",interface:"input",uiSchema:{type:"string",title:'{{t("Title")}}',"x-component":"Input"}}]},ls={title:`{{t("Approval Launch", { ns: "${X}" })}}`,name:"workflows",sortable:!0,fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Name")}}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{t("Description")}}',type:"string","x-component":"Input.TextArea"}},{type:"boolean",name:"enabled",interface:"select",uiSchema:{type:"boolean",title:'{{t("Status", { ns: "workflow" })}}',"x-component":"Select",enum:[{label:'{{t("On", { ns: "workflow" })}}',value:!0},{label:'{{t("Off", { ns: "workflow" })}}',value:!1}]}},{type:"sort",interface:"sort",name:"sort",uiSchema:{title:'{{t("Sort")}}',type:"number","x-component":"InputNumber","x-component-props":{stringMode:!0,step:1},"x-validator":"integer"}}]},AS=j.observer(n=>{const{params:o,tabKey:r}=n,[i,a]=y.useState([]),c=v.useAPIClient(),d=ht.useNavigate(),f=y.useContext(ic),g=f.key==="initiations"?f.inputFilter:"";return y.useEffect(()=>{c.request({url:"workflows:list",params:{paginate:!1,filter:{$and:[{type:{$eq:"approval"}},{enabled:{$eq:!0}},D({},o==null?void 0:o[r])]},sort:"createdAt"}}).then(h=>{var S;const x=(S=h==null?void 0:h.data)==null?void 0:S.data.map(w=>Z(D({},w),{value:w.id,label:m.jsxs("div",{style:{display:"flex",flexDirection:"column",alignContent:"center"},onClick:k=>{d(`/mobile/${w.title||""}/approval/${w.id}/page`)},children:[m.jsx("div",{children:m.jsx(bg,{})}),w.title||""]})}));if(g&&i.length){const w=x.filter(k=>{var b;return(b=k.title)==null?void 0:b.includes(g)});a(w)}else a(x)}).catch(()=>{})},[o]),m.jsx(v.BlockItem,{children:m.jsx(UC,{className:"initiationsItemCard",children:i.length?m.jsx(Hw,{style:{"--color":"#ffffff","--gap":"1px"},columns:3,showCheckMark:!1,options:i}):m.jsx(rc,{description:"暂无数据"})})})}),Di=j.observer(n=>{const{changeFilter:o,filter:r}=n,[i,a]=y.useState(!1),[c,d]=y.useState(!1),f=new Date,[g,h]=y.useState("start"),[x,S]=y.useState(Be(f).startOf("date").toISOString()),[w,k]=y.useState(f);return m.jsxs(m.Fragment,{children:[m.jsxs(yt,{onClick:()=>{d(!0)},children:[r!=null&&r.createdAt?`${Oi(x)}-${Oi(w)} `:"到达日期",m.jsx(_r,{})]}),m.jsxs(of,{visible:c,bodyStyle:{borderTopLeftRadius:"8px",borderTopRightRadius:"8px",minHeight:"15vh"},onMaskClick:()=>{d(!1)},children:[m.jsxs(os,{columns:9,style:{height:"10vh"},children:[m.jsx(os.Item,{span:4,onClick:()=>{a(!0),h("start")},children:m.jsx(Qa,{style:{lineHeight:"10vh"},children:Oi(x)||""})}),m.jsx(os.Item,{style:{lineHeight:"10vh"},children:"——"}),m.jsx(os.Item,{style:{lineHeight:"10vh"},span:4,onClick:()=>{a(!0),h("end")},children:m.jsx(Qa,{children:Oi(w)||""})})]}),m.jsx(pf,{block:!0,color:"primary",style:{width:"99%"},onClick:()=>{if(!x||!w)un.show({content:"请将时间范围填写完整"});else{const b=D({},r);b.createdAt={$dateBetween:[x,w]},o(b),d(!1)}},children:"确定"}),m.jsx(Bw,{visible:i,onClose:()=>{a(!1)},max:f,onConfirm:b=>{g==="start"?S(b):k(Be(b).endOf("date").toISOString())}})]})]})}),Oi=n=>Be(n).format("YYYY-MM-DD"),Bi=j.observer(n=>{const{changeFilter:o,filter:r}=n,[i,a]=y.useState(!1),[c,d]=y.useState([]),f=v.useAPIClient(),{t:g}=we();return y.useEffect(()=>{f.request({url:"workflows:list",params:{paginate:!1,filter:{type:{$eq:"approval"},enabled:{$eq:!0}}}}).then(h=>{const x=h.data.data.map(S=>({label:S.title||"",value:S.id}));x.unshift({value:"all",label:g("All")}),d(x)}).catch(()=>{})},[]),m.jsxs(m.Fragment,{children:[m.jsxs(yt,{onClick:()=>{a(!0)},children:[c.length&&(r!=null&&r.workflowId)&&(r==null?void 0:r.workflowId)!=="all"?c.find(h=>h.value===r.workflowId).label:"模版类型",m.jsx(_r,{})]}),m.jsx(Jr,{columns:[c],visible:i,onClose:()=>{a(!1)},onConfirm:h=>{const x=D({},r);h[0]==="all"?delete x.workflowId:x.workflowId=h[0],o(x)}})]})}),ES=[1,2,-1,-3],Li=[{value:"1",label:"一般",color:"cyan"},{value:"2",label:"紧急",color:"gold"},{value:"3",label:"非常紧急",color:"red"}],im=[{value:M.EXECUTION_STATUS.QUEUEING,label:"Queueing",color:"blue",icon:m.jsx($e.HourglassOutlined,{}),description:"Triggered but still waiting in queue to execute."},{value:M.EXECUTION_STATUS.STARTED,label:"On going",color:"gold",icon:m.jsx($e.LoadingOutlined,{}),description:"Started and executing, maybe waiting for an async callback (manual, delay etc.)."},{value:M.EXECUTION_STATUS.RESOLVED,label:"Resolved",color:"green",icon:m.jsx($e.CheckOutlined,{}),description:"Successfully finished."},{value:M.EXECUTION_STATUS.FAILED,label:"Failed",color:"red",icon:m.jsx($e.ExclamationOutlined,{}),description:"Failed to satisfy node configurations."},{value:M.EXECUTION_STATUS.ERROR,label:"Error",color:"red",icon:m.jsx($e.CloseOutlined,{}),description:"Some node meets error."},{value:M.EXECUTION_STATUS.ABORTED,label:"Aborted",color:"red",icon:m.jsx($e.MinusOutlined,{rotate:90}),description:"Running of some node was aborted by program flow."},{value:M.EXECUTION_STATUS.CANCELED,label:"Canceled",color:"volcano",icon:m.jsx($e.MinusOutlined,{rotate:45}),description:"Manually canceled whole execution when waiting."},{value:M.EXECUTION_STATUS.REJECTED,label:"Rejected",color:"volcano",icon:m.jsx($e.MinusOutlined,{}),description:"Rejected from a manual node."},{value:M.EXECUTION_STATUS.RETRY_NEEDED,label:"Retry needed",color:"volcano",icon:m.jsx($e.RedoOutlined,{}),description:"General failed but should do another try."}];M.EXECUTION_STATUS.QUEUEING,M.EXECUTION_STATUS.STARTED,M.EXECUTION_STATUS.REJECTED;const PS=j.observer(n=>{const{filter:o,params:r,tabKey:i}=n,a=v.useAPIClient(),[c,d]=y.useState([]),[f,g]=y.useState([]),{t:h}=we(),x=ht.useNavigate(),S=v.useCurrentUserContext(),w=y.useContext(ic),k=w.key==="userInitiations"?w.inputFilter:"",b=v.useCollectionManager(),E=v.useCompile();return Ue.useDeepCompareEffect(()=>{TS(a,g,S,D(D({},r==null?void 0:r[i]),o),h,d,b,E)},[o,r]),y.useEffect(()=>{if(k&&c.length){const P=c.filter(_=>{const B=_==null?void 0:_.reason.find($=>{var L;return(L=$==null?void 0:$.value)==null?void 0:L.toString().includes(k)});return _.title.includes(k)||B});P.sort((_,B)=>Date.parse(B.createdAt)-Date.parse(_.createdAt)),g(P)}else g(c)},[w]),m.jsx("div",{style:{minHeight:"73vh"},children:f.length?m.jsx(Ai,{style:{"--font-size":"12px"},children:f.map((P,_)=>{var B;return m.jsxs(Ai.Item,{onClick:()=>{x(`/mobile/approval/${P.latestExecutionId}/page`)},children:[m.jsxs(yt,{block:!0,children:[m.jsx(Wn,{color:"success",fill:"solid",children:P.id}),P.title,m.jsx(Wn,{color:P.statusColor,fill:"outline",children:P.statusTitle}),m.jsx(Wn,{color:P.priorityColor,fill:"outline",children:P.priorityTitle})]}),(B=P.reason)==null?void 0:B.map(($,L)=>m.jsxs("div",{className:"approvalsSummaryStyle-item",children:[m.jsxs("div",{className:"approvalsSummaryStyle-label",children:[`${$.label}:`," "]}),m.jsx("div",{className:"approvalsSummaryStyle-value",children:`${$.value}`})]},L))]},_)})}):m.jsx(rc,{description:"暂无数据"})})}),IS=(n,o)=>{const{status:r}=n;return wo.find(i=>i.value===r)},TS=(n,o,r,i,a,c,d,f)=>{n.request({url:"approvals:listCentralized",params:{paginate:!1,appends:["workflow"],filter:i}}).then(g=>{var x;const h=(x=g.data)==null?void 0:x.data.map(S=>{var _,B,$,L,z,K;const w=Li.find(Y=>Y.value===S.data.priority),k=IS(S),b=(_=S.workflow)==null?void 0:_.title,E=(($=(B=S.workflow)==null?void 0:B.config)==null?void 0:$.collection)||((z=(L=S.execution)==null?void 0:L.context)==null?void 0:z.collectionName),P=[];return(K=Object.entries(S.summary))==null||K.forEach(([Y,Q])=>{var me,ye;const ce=d.getCollectionField(`${E}.${Y}`);let ne=Q;ce.type==="date"&&Q&&(ne=Be(Q).format("YYYY-MM-DD HH:mm:ss")),Y==="createdAt"?P.unshift({label:f(((me=ce==null?void 0:ce.uiSchema)==null?void 0:me.title)||Y),value:(Object.prototype.toString.call(Q)==="[object Object]"?ne==null?void 0:ne.name:ne)||""}):P.push({label:f(((ye=ce==null?void 0:ce.uiSchema)==null?void 0:ye.title)||Y),value:(Object.prototype.toString.call(Q)==="[object Object]"?ne==null?void 0:ne.name:ne)||""})}),Z(D({},S),{title:`${r.data.data.nickname}的${b}`,categoryTitle:b,statusTitle:f(k==null?void 0:k.label),statusColor:(k==null?void 0:k.color)||"default",reason:P||[],priorityTitle:w==null?void 0:w.label,priorityColor:w==null?void 0:w.color})});h.sort((S,w)=>Date.parse(w.createdAt)-Date.parse(S.createdAt)),o(h),c(h)}).catch(()=>{})},_S=j.observer(n=>{const{changeFilter:o,filter:r}=n,[i,a]=y.useState(!1),{t:c}=we();return m.jsxs(m.Fragment,{children:[m.jsxs(yt,{onClick:()=>{a(!0)},children:[r!=null&&r.status&&(r==null?void 0:r.status)!=="all"?c(lm.find(d=>d.value===r.status).label):"申请状态",m.jsx(_r,{})]}),m.jsx(Jr,{columns:[lm.map(d=>Z(D({},d),{label:c(d.label)}))],visible:i,onClose:()=>{a(!1)},value:[(r==null?void 0:r.status)||"all"],onConfirm:d=>{const f=D({},r);d[0]==="all"?delete f.status:f.status=d[0],o(f)}})]})}),lm=[{label:"All",value:"all"},{label:"Draft",value:"0"},{label:"Returned",value:"1"},{label:"Submitted",value:"2"},{label:"Processing",value:"3"},{label:"Approved",value:"4"},{label:"Rejected",value:"-1"}],FS=j.observer(n=>{const[o,r]=y.useState([]),i=c=>{r(c)},a=Z(D({},n),{filter:o,changeFilter:i});return m.jsxs(v.BlockItem,{children:[m.jsxs(yt,{justify:"evenly",className:"userInitiationsStyle",children:[m.jsx(Bi,D({},a)),m.jsx(Di,D({},a)),m.jsx(_S,D({},a))]}),m.jsx(PS,D({},a))]})}),ic=y.createContext({}),NS=j.observer(n=>{const o=j.useFieldSchema(),{t:r}=we(),[i,a]=y.useState({key:"userInitiations",inputFilter:""}),[c,d]=y.useState("");return m.jsx(v.ExtendCollectionsProvider,{collections:[ls,is,ss,Lo],children:m.jsx(v.BlockItem,{children:m.jsxs(ic.Provider,{value:i,children:[m.jsx(Hf,{placeholder:"搜索内容",clearable:!0,style:{"--background":"#ffffff",padding:"10px",marginBottom:"10px "},onChange:f=>{if(!f){const g=D({},i);g.inputFilter="",a(g)}d(f)},value:c,onSearch:f=>{const g=D({},i);g.inputFilter=f,a(g)}}),m.jsxs(yo,{className:v.css`
|
|
102
102
|
.adm-tabs-tab {
|
|
103
103
|
font-size: 12px;
|
|
104
104
|
}
|
|
@@ -127,7 +127,7 @@ Error generating stack: `+p.message+`
|
|
|
127
127
|
text-overflow: ellipsis;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
`})),vk=n=>{const{value:o=""}=n,r=v.useCollectionRecordData(),i=v.useCollectionManager(),a=v.useCompile(),{styles:c}=hk(),{collectionName:d}=r,f=Object.entries(o).map(([g,h])=>{var w,k;const x=i.getCollectionField(`${d}.${g}`),S=Object.prototype.toString.call(h)==="[object Object]"?h==null?void 0:h.name:h;return gk(S)?{label:a(((w=x==null?void 0:x.uiSchema)==null?void 0:w.title)||g),value:xk(S)}:{label:a(((k=x==null?void 0:x.uiSchema)==null?void 0:k.title)||g),value:S}});return m.jsx("div",{className:c.ApprovalsSummaryStyle,children:f.map(g=>m.jsxs("div",{className:`${c.ApprovalsSummaryStyle}-item`,children:[m.jsxs("div",{className:`${c.ApprovalsSummaryStyle}-item-label`,children:[`${g.label}:`," "]}),m.jsx("div",{className:`${c.ApprovalsSummaryStyle}-item-value`,children:g.value})]},g.label))})},yk=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;function gk(n=""){return yk.test(n)}function xk(n){return Be.utc(n).local().format("YYYY-MM-DD HH:mm:ss")}const as=y.createContext({});function Ut(){return y.useContext(as)}function Ck(n){const{useData:o=v.useRecord}=n,r=o();return m.jsx(as.Provider,{value:r,children:n.children})}const wk=n=>{const{approval:o}=n,{t:r}=we();return m.jsxs(v.CardItem,{children:[m.jsxs("b",{style:{color:"#bfbfbf"},children:[r("Approval Code"),": "]}),m.jsx("b",{children:o.id})]})},hm=y.createContext({}),Sk=({children:n})=>{const[o,r]=y.useState(!1);return m.jsx(hm.Provider,{value:{isResubmit:o,setResubmit:r},children:n})},Ro=()=>y.useContext(hm),kk=n=>{const{params:o,children:r}=n,{workflow:i,approval:a,execution:c,approvalValue:d}=o;return m.jsx(M.ProviderContextWorkflow,{value:{workflow:i,nodes:a==null?void 0:a.nodes,execution:c},children:m.jsx(as.Provider,{value:a,children:m.jsx(gd,{value:d,children:m.jsx(Sk,{children:r})})})})},er=y.createContext({actionEnabled:!1});function uc(){const{t:n}=we(),o=v.useAPIClient(),r=j.useField(),i=Ut();return{run(){return le(this,null,function*(){var c,d;try{r.data=(c=r.data)!=null?c:{},r.data.loading=!0;const{data:f}=yield o.resource("approvals").reminder({filterByTk:i.id});if((d=f.data)!=null&&d.success){const g=i.records.map(h=>h.user.nickname);te.message.success(n("Reminder {{user}} successful",{user:g.join(", ")}))}r.data.loading=!1}catch(f){r.data&&(r.data.loading=!1)}})}}}function $i(){const{setResubmit:n}=Ro();return{run(){return le(this,null,function*(){n(!0)})}}}function Mi(n=500){const{service:o}=v.useTableBlockContext(),{setVisible:r,setSubmitted:i}=v.useActionContext();return{refreshTable:()=>{r(!1),i==null||i(!0),setTimeout(()=>{o.refresh()},n)}}}function zi(){const{refreshTable:n}=Mi(),o=j.useField(),r=Ut(),i=v.useAPIClient();return{run(){return le(this,null,function*(){var c;try{o.data=(c=o.data)!=null?c:{},o.data.loading=!0,yield i.resource("approvals").withdraw({filterByTk:r.id}),o.data.loading=!1,n()}catch(d){o.data&&(o.data.loading=!1)}})}}}const dc=n=>{const{data:o}=v.useCurrentUserContext(),{status:r,createdById:i,latestExecutionId:a}=Ut(),c=Js(),d=o.data.id===i,f=a===c.id,g=r===ae.DRAFT,h=r===ae.RETURNED;return d&&!g&&!h&&f?n.children:null};function vm({designable:n,children:o}){const r=v.useSchemaComponentContext();return m.jsx(v.SchemaComponentContext.Provider,{value:Z(D({},r),{designable:n}),children:o})}function ym({children:n}){const{data:o}=v.useCurrentUserContext(),{status:r,createdById:i}=Ut(),{workflow:a}=M.useFlowContext(),{isResubmit:c}=Ro(),d=o.data.id===i,f=a.config.withdrawable,g=ae.SUBMITTED===r;return d&&f&&g&&!c?n:null}const bk=n=>{const{approval:o,workflow:r,needHideProcess:i}=n;return{name:`view-${o==null?void 0:o.id}`,type:"void",properties:{tabs:{type:"void","x-component":"Tabs",properties:Object.assign({detail:{type:"void",title:`{{t('Application content', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{approvalInfo:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalInfo","x-component-props":{approval:o}},detail:{type:"void","x-decorator":"SchemaComponentContextProvider","x-decorator-props":{designable:!1},"x-component":"RemoteSchemaComponent","x-component-props":{uid:r==null?void 0:r.config.applyForm,noForm:!0}},timeline:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcessTimeLine"}}}},i?{}:{process:{type:"void",title:`{{t('Approval process', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{process:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcess"}}}})}}}};function Ak(){const{refreshTable:n}=Mi(),o=j.useField(),r=Ut(),i=v.useAPIClient();return{run(){return le(this,null,function*(){try{Oe.set(o,["data","loading"],!0),yield i.resource("approvals").destroy({filterByTk:r.id}),n()}catch(c){Oe.set(o,["data","loading"],!1)}})}}}function Ek(){const n=Ut(),o=Js(),r=j.useForm(),{data:i}=v.useCurrentUserContext(),{isResubmit:a}=Ro(),{editable:c}=Ni[n.status],d=(a||c)&&(n==null?void 0:n.latestExecutionId)===o.id&&(n==null?void 0:n.createdById)===(i==null?void 0:i.data.id);return y.useEffect(()=>{n&&(d?r.setPattern("editable"):r.setPattern("readPretty"))},[r,n,d]),{form:r}}const gm=y.createContext(ae.SUBMITTED);function Pk(){return y.useContext(gm)}function pc(n){return m.jsx(gm.Provider,{value:n.value,children:n.children})}function Vi(){const n=j.useForm(),o=j.useField(),{setVisible:r}=v.useActionContext(),{__parent:i}=v.useBlockRequestContext(),a=v.useCollection_deprecated(),c=Pk(),d=v.useAPIClient(),f=M.useFlowContext(),{workflow:g}=f||{};return{run(x){return le(this,null,function*(){try{yield n.submit(),o.data=o.data||{},o.data.loading=!0,delete n.values.createdAt,delete n.values.updatedAt,yield d.resource("approvals").create({values:{collectionName:v.joinCollectionName(a.dataSource,a.name),data:n.values,status:typeof(x==null?void 0:x.approvalStatus)!="undefined"?x==null?void 0:x.approvalStatus:c,workflowId:g==null?void 0:g.id,workflowKey:g==null?void 0:g.key}}),n.reset(),o.data.loading=!1;const S=i.service;S&&S.refresh(),r(!1,!1)}catch(S){o.data&&(o.data.loading=!1)}})}}}const xm=y.createContext(ae.SUBMITTED),Ik=xm.Provider;function Cm(){return y.useContext(xm)}function Tk(){const{refreshTable:n}=Mi(),o=v.useAPIClient(),{isResubmit:r}=Ro(),{run:i}=Vi(),a=Cm(),c=j.useForm(),d=j.useField(),{id:f}=Ut(),{workflow:g}=M.useFlowContext(),h=Cm(),{updateAssociationValues:x}=v.useFormBlockContext();return{run(w){return le(this,null,function*(){if(r)return yield i({approvalStatus:a});try{yield c.submit(),Oe.set(d,["data","loading"],!0),o.resource("approvals").update({filterByTk:f,values:{collectionName:g.config.collection,data:c.values,status:h,summaryConfig:g.config.summary,updateAssociationValues:x}}),c.reset(),Oe.set(d,["data","loading"],!1),n()}catch(k){Oe.set(d,["data","loading"],!1)}})}}}const _k=n=>{const{data:o}=v.useCurrentUserContext(),{createdById:r,latestExecutionId:i}=Ut(),a=Js(),c=o.data.id===r,d=i===a.id;return!c||!d?null:n.children},Fk=n=>{const{data:o}=v.useCurrentUserContext(),{isResubmit:r}=Ro(),{status:i,createdById:a}=Ut(),c=o.data.id===a,d=i===ae.DRAFT,f=i===ae.RETURNED;return c&&!r&&!d&&!f?n.children:null},Nk=n=>{const{value:o,children:r}=n,{status:i,createdById:a}=Ut(),{data:c}=v.useCurrentUserContext(),{isResubmit:d}=Ro(),f=c.data.id===a,g=[ae.RESUBMIT,ae.DRAFT,ae.RETURNED].includes(i);return o===ae.DRAFT&&i===ae.DRAFT?null:f&&(g||d)?m.jsx(Ik,{value:o,children:r}):null},Dk=n=>{const{approval:o,workflow:r}=n,{actionEnabled:i}=y.useContext(er),a=bk({approval:o,workflow:r,needHideProcess:i});return m.jsx(v.SchemaComponent,{schema:a,components:{SchemaComponentProvider:v.SchemaComponentProvider,RemoteSchemaComponent:v.RemoteSchemaComponent,SchemaComponentContextProvider:vm,FormBlockProvider:ea,ActionBarProvider:_k,ApplyActionStatusProvider:Nk,WithdrawActionProvider:ym,DetailsBlockProvider:M.DetailsBlockProvider,ProviderActionResubmit:Fk,ProviderActionReminder:dc},scope:{useForm:j.useForm,useSubmit:Tk,useFormBlockProps:Ek,useDetailsBlockProps:v.useFormBlockContext,useWithdrawAction:zi,useDestroyAction:Ak,useActionResubmit:$i,useActionReminder:uc}})},Ok=()=>{const{id:n}=v.useRecord(),{loading:o,data:r}=v.useRequest({resource:"approvalExecutions",action:"get",params:{filterByTk:n,appends:["execution","execution.jobs","approval","approval.workflow","approval.workflow.nodes","approval.approvalExecutions","approval.createdBy.id","approval.createdBy.nickname","approval.records","approval.records.node.title","approval.records.node.config","approval.records.job","approval.records.user.nickname"],except:["approval.approvalExecutions.snapshot","approval.records.snapshot"]}},{refreshDeps:[n]}),i=r==null?void 0:r.data;if(o)return m.jsx(te.Spin,{});if(!i)return m.jsx(te.Result,{status:"error",title:"Loading failed"});const g=i||{},{approval:a,execution:c}=g,d=et(g,["approval","execution"]),{workflow:f}=a||{};return m.jsx(kk,{params:{workflow:f,approval:a,execution:c,approvalValue:d},children:m.jsx(Dk,{approval:a,workflow:f})})},Bk=n=>{const{record:o,popoverComponent:r,popoverComponentProps:i}=n;return{name:`view-${o.id}`,type:"void","x-component":"Action.Link",title:'{{t("View")}}',properties:{drawer:{type:"void","x-component":r,"x-component-props":D({className:"tb-action-popup"},i),properties:{content:Object.assign({type:"void"},o.approvalId?{}:{"x-decorator":"ProviderRecord"},{"x-component":"CheckContent"})}}}}},Lk=n=>{const{latestExecutionId:o}=v.useRecord();return m.jsx(v.RecordProvider,{record:{id:o},parent:!1,children:n.children})},fc=n=>{const{popoverComponent:o="Action.Drawer",popoverComponentProps:r={}}=n,i=v.useRecord(),a=Bk({record:i,popoverComponent:o,popoverComponentProps:r});return m.jsx(v.SchemaComponent,{schema:a,components:{ProviderRecord:Lk,CheckContent:Ok}})},$k=n=>{const{id:o,node:r,actionEnabled:i,approval:a}=n;return{name:`content-${o}`,type:"void","x-component":"Tabs",properties:Object.assign({detail:{type:"void",title:`{{t('Approval', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{approvalInfo:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalInfo","x-component-props":{approval:a}},detail:{type:"void","x-decorator":"SchemaComponentContextProvider","x-decorator-props":{designable:!1},"x-component":"RemoteSchemaComponent","x-component-props":{uid:r==null?void 0:r.config.applyDetail,noForm:!0}},timeline:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcessTimeLine"}}}},i?{}:{history:{type:"void",title:`{{t('Approval process', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{history:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcess"}}}})}};function Mk(){var r;const{snapshot:n}=Dn(),{form:o}=v.useFormBlockContext();return y.useEffect(()=>{o.setValues(n)},[o,n,(r=o==null?void 0:o.values)==null?void 0:r.account_pay_id]),{form:o}}function zk(){const{form:n}=v.useFormBlockContext();return{form:n}}const wm=y.createContext({});function Vk(r){var i=r,{children:n}=i,o=et(i,["children"]);const{status:a}=Dn();return!a||a===o.status?m.jsx(wm.Provider,{value:o,children:n}):null}function jk(){return y.useContext(wm)}function Uk(n={}){const{refreshTable:o}=Mi(),r=j.useField(),i=v.useAPIClient(),a=j.useForm(),c=v.useCollection(),d=Dn(),{status:f}=jk(),{source:g}=n,h=g==="updateRecord";return{run:()=>le(null,null,function*(){var x;try{if(d.status)return;if(yield a.submit(),r.data=(x=r.data)!=null?x:{},r.data.loading=!0,h){const S=c.name,w=a.values.id;yield i.resource(S).update({filterByTk:w,values:a.values})}yield i.resource("approvalRecords").submit({filterByTk:d.id,values:{status:f,needUpdateRecord:h,data:a.values}}),r.data.loading=!1,yield a.reset(),o()}catch(S){console.error(S),r.data&&(r.data.loading=!1)}})}}const Wk=n=>{const{status:o}=Dn();return o?m.jsx(Hk,{}):m.jsx(v.ActionBarProvider,D({},n))},Hk=()=>{const n=v.useCompile(),{status:o,updatedAt:r,user:i}=Dn(),a=uo[o];return m.jsxs(te.Space,{children:[m.jsx(te.Tag,{color:a.color,children:n(a.label)}),m.jsx("time",{children:je.str2moment(r).format("YYYY-MM-DD HH:mm:ss")}),m.jsx(te.Tag,{children:i.nickname})]})},Kk=n=>{var z,K,Y;const o=Dn(),{job:r}=o,i=Oe.omit(o,["approval","job","node","snapshot"]),{execution:a,workflow:c}=M.useFlowContext(),d=j.useFieldSchema(),f=j.useField(),g=y.useRef(null),{getAssociationAppends:h}=v.useAssociationNames(),{appends:x,updateAssociationValues:S}=h(),{data:w}=v.useCurrentUserContext(),{findComponent:k}=v.useDesignable(),b=k((z=f.component)==null?void 0:z[0])||y.Fragment,E=y.useMemo(()=>{var Q;return j.createForm({initialValues:i,pattern:a!=null&&a.status||r!=null&&r.status||(i==null?void 0:i.status)==null?"disabled":i.status||((Q=w.data)==null?void 0:Q.id)!==i.userId?"readPretty":"editable"})},[(K=w.data)==null?void 0:K.id,i==null?void 0:i.status,c==null?void 0:c.enabled]),P=y.useMemo(()=>D({appends:x},n.params),[x,n.params]),_=y.useMemo(()=>({loading:!1,data:{data:i}}),[i]),B=v.useAPIClient().resource(n.collection),$=y.useContext(v.BlockRequestContext_deprecated),L=y.useMemo(()=>({params:P,form:E,field:f,service:_,updateAssociationValues:S,formBlockRef:g}),[f,E,P,_,S]);return!i.status&&i.userId!==((Y=w.data)==null?void 0:Y.id)?null:m.jsx(v.CollectionProvider_deprecated,{collection:n.collection,children:m.jsx(v.RecordProvider,{record:{},children:m.jsx(v.FormActiveFieldsProvider,{name:"form",children:m.jsx(v.BlockRequestContext_deprecated.Provider,{value:{block:"form",props:n,field:f,service:_,resource:B,__parent:$},children:m.jsx(v.FormBlockContext.Provider,{value:L,children:m.jsxs(b,Z(D({},f.componentProps),{children:[m.jsx(v.FormV2.Templates,{style:{marginBottom:18},form:E},1),m.jsx("div",{ref:g,children:m.jsx(j.RecursionField,{schema:d,onlyRenderProperties:!0})},2)]}))})})})})})},Yk=n=>{const o=y.useContext(as),{id:r,node:i,actionEnabled:a}=n,c=$k({id:r,node:i,actionEnabled:a,approval:o});return m.jsx(v.SchemaComponent,{schema:c,components:{SchemaComponentProvider:v.SchemaComponentProvider,RemoteSchemaComponent:v.RemoteSchemaComponent,SchemaComponentContextProvider:vm,FormBlockProvider:ea,ActionBarProvider:Wk,ApprovalActionProvider:Vk,ApprovalFormBlockProvider:Kk,DetailsBlockProvider:M.DetailsBlockProvider},scope:{useApprovalDetailBlockProps:Mk,useApprovalFormBlockProps:zk,useDetailsBlockProps:v.useFormBlockContext,useSubmit:Uk}})},qk=()=>{const{id:n}=v.useRecord(),{t:o}=we(),{actionEnabled:r}=y.useContext(er),{loading:i,data:a}=v.useRequest({resource:"approvalRecords",action:"get",params:{filterByTk:n,appends:["approvalExecution","node","job","workflow","workflow.nodes","execution","execution.jobs","user","approval","approval.createdBy","approval.approvalExecutions","approval.createdBy.nickname","approval.records","approval.records.node.title","approval.records.node.config","approval.records.job","approval.records.user.nickname"],except:["approval.data","approval.approvalExecutions.snapshot","approval.records.snapshot","workflow.config","workflow.options","nodes.config"],sort:["-createdAt"]}},{refreshDeps:[n]});if(i)return m.jsx(te.Spin,{});if(a==null||!a.data)return m.jsx(te.Result,{status:"error",title:o("Submission may be withdrawn, please try refresh the list.")});const c=a.data,{approvalExecution:d,node:f,approval:g,workflow:h,execution:x}=c,{nodes:S}=h,w=Oe.omit(h,["nodes"]);return f==null||f.config.applyDetail,m.jsx(M.ExecutionContextProvider,{workflow:w,nodes:S,execution:x,children:m.jsx(as.Provider,{value:g,children:m.jsx(gd,{value:d,children:m.jsx(vd.Provider,{value:a.data,children:m.jsx(Yk,{id:n,node:f,actionEnabled:r})})})})})},Qk=n=>{const{record:o,popoverComponent:r,popoverComponentProps:i}=n;return{name:`assignee-view-${o.id}`,type:"void","x-component":"Action.Link",title:'{{t("View")}}',properties:{drawer:{type:"void","x-component":r,"x-component-props":D({className:"tb-action-popup"},i),properties:{content:{type:"void","x-component":"CheckContent"}}}}}},mc=n=>{const{popoverComponent:o="Action.Drawer",popoverComponentProps:r={}}=n,i=v.useRecord(),a=Qk({record:i,popoverComponent:o,popoverComponentProps:r});return m.jsx(v.SchemaComponent,{schema:a,components:{CheckContent:qk}})};function Gk(n,o,r){return m.jsx(Xk,{text:n,record:o,exist:r>0})}const Xk=n=>{const{exist:o,record:r}=n;return o?m.jsx(Jk,D({},r)):m.jsx(Zk,D({},r))},Jk=n=>{const{data:o}=v.useCurrentUserContext(),{actionEnabled:r}=y.useContext(er);return m.jsxs(m.Fragment,{children:[n.status?m.jsx(m.Fragment,{children:[n.comment?m.jsx(v.InputReadPretty.TextArea,{value:n.comment}):null,m.jsx("time",{children:m.jsx(v.DatePicker.ReadPretty,{value:n.updatedAt,showTime:!0})},"time")]}):null,r&&n.userId===(o==null?void 0:o.data.id)?m.jsx(v.RecordProvider,{record:n,parent:!1,children:m.jsx(mc,{})}):null]})},Zk=n=>{const{data:o}=v.useCurrentUserContext(),{actionEnabled:r}=y.useContext(er);return m.jsxs(m.Fragment,{children:[m.jsx("time",{children:m.jsx(v.DatePicker.ReadPretty,{value:n.updatedAt,showTime:!0})},"time"),r&&n.user.id===(o==null?void 0:o.data.id)?m.jsx(v.RecordProvider,{record:n.execution,parent:!1,children:m.jsx(fc,{})}):null]})},Sm=j.observer(()=>{const{value:n}=j.useField(),o=v.useRecord();return m.jsx(km,{value:n,record:o})},{displayName:"ApprovalRecordStatusColumn"}),km=n=>{const{value:o,record:r}=n,i=Oe.omit(n,["value","record"]),a=v.useCompile(),{t:c}=we(),{option:d=uo[o]}=i,{execution:f,job:g}=r!=null?r:{},h=(f==null?void 0:f.status)||(g==null?void 0:g.status);return[ve.ASSIGNED,ve.PENDING].includes(o)&&h?m.jsx(te.Tag,{children:c("Unprocessed")}):m.jsx(te.Tag,{color:d.color,children:a(d.label)})};function Rk(n,o,r){return m.jsx(e2,{value:n,record:o,index:r})}const e2=n=>{const{value:o,record:r,index:i}=n,a=v.useCompile();if(!i){const d=Ni[r.status===ae.DRAFT?ae.DRAFT:ae.SUBMITTED];return m.jsx(te.Tag,{color:d.color,children:a(d.label)})}const c=uo[o];return m.jsx(km,{value:o,record:r,option:c})},t2={[M.JOB_STATUS.PENDING]:{color:"gold",label:`{{t('Pending', { ns: "${X}" })}}`},[M.JOB_STATUS.RESOLVED]:{color:"green",label:`{{t('Approved', { ns: "${X}" })}}`},[M.JOB_STATUS.REJECTED]:{color:"red",label:`{{t('Rejected', { ns: "${X}" })}}`},[M.JOB_STATUS.RETRY_NEEDED]:{color:"red",label:`{{t('Returned', { ns: "${X}" })}}`}},tr={SINGLE:Symbol("single"),ALL:Symbol("all"),VOTE:Symbol("vote")},n2=[{value:tr.SINGLE,label:`{{t("Or", { ns: "${X}" })}}`},{value:tr.ALL,label:`{{t("And", { ns: "${X}" })}}`},{value:tr.VOTE,label:n=>`${Rl("Voting")} ( > ${(n*100).toFixed(0)}%)`}].reduce((n,o)=>Object.assign(n,{[o.value]:o}),{});function o2(n){switch(!0){case n===1:return tr.ALL;case(0<n&&n<1):return tr.VOTE;default:return tr.SINGLE}}function r2(n,o,r){return m.jsx(s2,{text:n,record:o,index:r})}const s2=n=>{const{text:o,record:r,index:i}=n,c=i>0&&(r==null?void 0:r.groupCount)>1;return m.jsxs(m.Fragment,{children:[m.jsx("span",{children:o},"span"),c?m.jsx(i2,{record:r}):null]})},i2=n=>{const o=v.useCompile(),{record:r}=n,{node:i,job:a,statusCount:c,groupCount:d}=r,{branchMode:f,negotiation:g}=(i==null?void 0:i.config)||{},h=f?uo[a==null?void 0:a.result]:t2[a==null?void 0:a.status],x=n2[o2(+g)];return m.jsxs("div",{className:v.css`
|
|
130
|
+
`})),vk=n=>{const{value:o=""}=n,r=v.useCollectionRecordData(),i=v.useCollectionManager(),a=v.useCompile(),{styles:c}=hk(),{collectionName:d}=r,f=Object.entries(o).map(([g,h])=>{var w,k;const x=i.getCollectionField(`${d}.${g}`),S=Object.prototype.toString.call(h)==="[object Object]"?h==null?void 0:h.name:h;return gk(S)?{label:a(((w=x==null?void 0:x.uiSchema)==null?void 0:w.title)||g),value:xk(S)}:{label:a(((k=x==null?void 0:x.uiSchema)==null?void 0:k.title)||g),value:S}});return m.jsx("div",{className:c.ApprovalsSummaryStyle,children:f.map(g=>m.jsxs("div",{className:`${c.ApprovalsSummaryStyle}-item`,children:[m.jsxs("div",{className:`${c.ApprovalsSummaryStyle}-item-label`,children:[`${g.label}:`," "]}),m.jsx("div",{className:`${c.ApprovalsSummaryStyle}-item-value`,children:g.value})]},g.label))})},yk=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;function gk(n=""){return yk.test(n)}function xk(n){return Be.utc(n).local().format("YYYY-MM-DD HH:mm:ss")}const as=y.createContext({});function Ut(){return y.useContext(as)}function Ck(n){const{useData:o=v.useRecord}=n,r=o();return m.jsx(as.Provider,{value:r,children:n.children})}const wk=n=>{const{approval:o}=n,{t:r}=we();return m.jsxs(v.CardItem,{children:[m.jsxs("b",{style:{color:"#bfbfbf"},children:[r("Approval Code"),": "]}),m.jsx("b",{children:o.id})]})},hm=y.createContext({}),Sk=({children:n})=>{const[o,r]=y.useState(!1);return m.jsx(hm.Provider,{value:{isResubmit:o,setResubmit:r},children:n})},Ro=()=>y.useContext(hm),kk=n=>{const{params:o,children:r}=n,{workflow:i,approval:a,execution:c,approvalValue:d}=o;return m.jsx(M.ProviderContextWorkflow,{value:{workflow:i,nodes:a==null?void 0:a.nodes,execution:c},children:m.jsx(as.Provider,{value:a,children:m.jsx(gd,{value:d,children:m.jsx(Sk,{children:r})})})})},er=y.createContext({actionEnabled:!1});function uc(){const{t:n}=we(),o=v.useAPIClient(),r=j.useField(),i=Ut();return{run(){return le(this,null,function*(){var c,d;try{r.data=(c=r.data)!=null?c:{},r.data.loading=!0;const{data:f}=yield o.resource("approvals").reminder({filterByTk:i.id});if((d=f.data)!=null&&d.success){const g=i.records.map(h=>h.user.nickname);te.message.success(n("Reminder {{user}} successful",{user:g.join(", ")}))}r.data.loading=!1}catch(f){r.data&&(r.data.loading=!1)}})}}}function $i(){const{setResubmit:n}=Ro();return{run(){return le(this,null,function*(){n(!0)})}}}function Mi(n=500){const{service:o}=v.useTableBlockContext(),{setVisible:r,setSubmitted:i}=v.useActionContext();return{refreshTable:()=>{r(!1),i==null||i(!0),setTimeout(()=>{o.refresh()},n)}}}function zi(){const{refreshTable:n}=Mi(),o=j.useField(),r=Ut(),i=v.useAPIClient();return{run(){return le(this,null,function*(){var c;try{o.data=(c=o.data)!=null?c:{},o.data.loading=!0,yield i.resource("approvals").withdraw({filterByTk:r.id}),o.data.loading=!1,n()}catch(d){o.data&&(o.data.loading=!1)}})}}}const dc=n=>{const{data:o}=v.useCurrentUserContext(),{status:r,createdById:i,latestExecutionId:a}=Ut(),c=Js(),d=o.data.id===i,f=a===c.id,g=r===ae.DRAFT,h=r===ae.RETURNED,x=r===ae.APPROVED;return d&&!g&&!h&&!x&&f?n.children:null};function vm({designable:n,children:o}){const r=v.useSchemaComponentContext();return m.jsx(v.SchemaComponentContext.Provider,{value:Z(D({},r),{designable:n}),children:o})}function ym({children:n}){const{data:o}=v.useCurrentUserContext(),{status:r,createdById:i}=Ut(),{workflow:a}=M.useFlowContext(),{isResubmit:c}=Ro(),d=o.data.id===i,f=a.config.withdrawable,g=ae.SUBMITTED===r;return d&&f&&g&&!c?n:null}const bk=n=>{const{approval:o,workflow:r,needHideProcess:i}=n;return{name:`view-${o==null?void 0:o.id}`,type:"void",properties:{tabs:{type:"void","x-component":"Tabs",properties:Object.assign({detail:{type:"void",title:`{{t('Application content', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{approvalInfo:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalInfo","x-component-props":{approval:o}},detail:{type:"void","x-decorator":"SchemaComponentContextProvider","x-decorator-props":{designable:!1},"x-component":"RemoteSchemaComponent","x-component-props":{uid:r==null?void 0:r.config.applyForm,noForm:!0}},timeline:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcessTimeLine"}}}},i?{}:{process:{type:"void",title:`{{t('Approval process', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{process:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcess"}}}})}}}};function Ak(){const{refreshTable:n}=Mi(),o=j.useField(),r=Ut(),i=v.useAPIClient();return{run(){return le(this,null,function*(){try{Oe.set(o,["data","loading"],!0),yield i.resource("approvals").destroy({filterByTk:r.id}),n()}catch(c){Oe.set(o,["data","loading"],!1)}})}}}function Ek(){const n=Ut(),o=Js(),r=j.useForm(),{data:i}=v.useCurrentUserContext(),{isResubmit:a}=Ro(),{editable:c}=Ni[n.status],d=(a||c)&&(n==null?void 0:n.latestExecutionId)===o.id&&(n==null?void 0:n.createdById)===(i==null?void 0:i.data.id);return y.useEffect(()=>{n&&(d?r.setPattern("editable"):r.setPattern("readPretty"))},[r,n,d]),{form:r}}const gm=y.createContext(ae.SUBMITTED);function Pk(){return y.useContext(gm)}function pc(n){return m.jsx(gm.Provider,{value:n.value,children:n.children})}function Vi(){const n=j.useForm(),o=j.useField(),{setVisible:r}=v.useActionContext(),{__parent:i}=v.useBlockRequestContext(),a=v.useCollection_deprecated(),c=Pk(),d=v.useAPIClient(),f=M.useFlowContext(),{workflow:g}=f||{};return{run(x){return le(this,null,function*(){try{yield n.submit(),o.data=o.data||{},o.data.loading=!0,delete n.values.createdAt,delete n.values.updatedAt,yield d.resource("approvals").create({values:{collectionName:v.joinCollectionName(a.dataSource,a.name),data:n.values,status:typeof(x==null?void 0:x.approvalStatus)!="undefined"?x==null?void 0:x.approvalStatus:c,workflowId:g==null?void 0:g.id,workflowKey:g==null?void 0:g.key}}),n.reset(),o.data.loading=!1;const S=i.service;S&&S.refresh(),r(!1,!1)}catch(S){o.data&&(o.data.loading=!1)}})}}}const xm=y.createContext(ae.SUBMITTED),Ik=xm.Provider;function Cm(){return y.useContext(xm)}function Tk(){const{refreshTable:n}=Mi(),o=v.useAPIClient(),{isResubmit:r}=Ro(),{run:i}=Vi(),a=Cm(),c=j.useForm(),d=j.useField(),{id:f}=Ut(),{workflow:g}=M.useFlowContext(),h=Cm(),{updateAssociationValues:x}=v.useFormBlockContext();return{run(w){return le(this,null,function*(){if(r)return yield i({approvalStatus:a});try{yield c.submit(),Oe.set(d,["data","loading"],!0),o.resource("approvals").update({filterByTk:f,values:{collectionName:g.config.collection,data:c.values,status:h,summaryConfig:g.config.summary,updateAssociationValues:x}}),c.reset(),Oe.set(d,["data","loading"],!1),n()}catch(k){Oe.set(d,["data","loading"],!1)}})}}}const _k=n=>{const{data:o}=v.useCurrentUserContext(),{createdById:r,latestExecutionId:i}=Ut(),a=Js(),c=o.data.id===r,d=i===a.id;return!c||!d?null:n.children},Fk=n=>{const{data:o}=v.useCurrentUserContext(),{isResubmit:r}=Ro(),{status:i,createdById:a}=Ut(),c=o.data.id===a,d=i===ae.DRAFT,f=i===ae.RETURNED;return c&&!r&&!d&&!f?n.children:null},Nk=n=>{const{value:o,children:r}=n,{status:i,createdById:a}=Ut(),{data:c}=v.useCurrentUserContext(),{isResubmit:d}=Ro(),f=c.data.id===a,g=[ae.RESUBMIT,ae.DRAFT,ae.RETURNED].includes(i);return o===ae.DRAFT&&i===ae.DRAFT?null:f&&(g||d)?m.jsx(Ik,{value:o,children:r}):null},Dk=n=>{const{approval:o,workflow:r}=n,{actionEnabled:i}=y.useContext(er),a=bk({approval:o,workflow:r,needHideProcess:i});return m.jsx(v.SchemaComponent,{schema:a,components:{SchemaComponentProvider:v.SchemaComponentProvider,RemoteSchemaComponent:v.RemoteSchemaComponent,SchemaComponentContextProvider:vm,FormBlockProvider:ea,ActionBarProvider:_k,ApplyActionStatusProvider:Nk,WithdrawActionProvider:ym,DetailsBlockProvider:M.DetailsBlockProvider,ProviderActionResubmit:Fk,ProviderActionReminder:dc},scope:{useForm:j.useForm,useSubmit:Tk,useFormBlockProps:Ek,useDetailsBlockProps:v.useFormBlockContext,useWithdrawAction:zi,useDestroyAction:Ak,useActionResubmit:$i,useActionReminder:uc}})},Ok=()=>{const{id:n}=v.useRecord(),{loading:o,data:r}=v.useRequest({resource:"approvalExecutions",action:"get",params:{filterByTk:n,appends:["execution","execution.jobs","approval","approval.workflow","approval.workflow.nodes","approval.approvalExecutions","approval.createdBy.id","approval.createdBy.nickname","approval.records","approval.records.node.title","approval.records.node.config","approval.records.job","approval.records.user.nickname"],except:["approval.approvalExecutions.snapshot","approval.records.snapshot"]}},{refreshDeps:[n]}),i=r==null?void 0:r.data;if(o)return m.jsx(te.Spin,{});if(!i)return m.jsx(te.Result,{status:"error",title:"Loading failed"});const g=i||{},{approval:a,execution:c}=g,d=et(g,["approval","execution"]),{workflow:f}=a||{};return m.jsx(kk,{params:{workflow:f,approval:a,execution:c,approvalValue:d},children:m.jsx(Dk,{approval:a,workflow:f})})},Bk=n=>{const{record:o,popoverComponent:r,popoverComponentProps:i}=n;return{name:`view-${o.id}`,type:"void","x-component":"Action.Link",title:'{{t("View")}}',properties:{drawer:{type:"void","x-component":r,"x-component-props":D({className:"tb-action-popup"},i),properties:{content:Object.assign({type:"void"},o.approvalId?{}:{"x-decorator":"ProviderRecord"},{"x-component":"CheckContent"})}}}}},Lk=n=>{const{latestExecutionId:o}=v.useRecord();return m.jsx(v.RecordProvider,{record:{id:o},parent:!1,children:n.children})},fc=n=>{const{popoverComponent:o="Action.Drawer",popoverComponentProps:r={}}=n,i=v.useRecord(),a=Bk({record:i,popoverComponent:o,popoverComponentProps:r});return m.jsx(v.SchemaComponent,{schema:a,components:{ProviderRecord:Lk,CheckContent:Ok}})},$k=n=>{const{id:o,node:r,actionEnabled:i,approval:a}=n;return{name:`content-${o}`,type:"void","x-component":"Tabs",properties:Object.assign({detail:{type:"void",title:`{{t('Approval', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{approvalInfo:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalInfo","x-component-props":{approval:a}},detail:{type:"void","x-decorator":"SchemaComponentContextProvider","x-decorator-props":{designable:!1},"x-component":"RemoteSchemaComponent","x-component-props":{uid:r==null?void 0:r.config.applyDetail,noForm:!0}},timeline:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcessTimeLine"}}}},i?{}:{history:{type:"void",title:`{{t('Approval process', { ns: '${X}' })}}`,"x-component":"Tabs.TabPane",properties:{history:{type:"void","x-component":"ApprovalCommon.ViewComponent.ApprovalProcess"}}}})}};function Mk(){var r;const{snapshot:n}=Dn(),{form:o}=v.useFormBlockContext();return y.useEffect(()=>{o.setValues(n)},[o,n,(r=o==null?void 0:o.values)==null?void 0:r.account_pay_id]),{form:o}}function zk(){const{form:n}=v.useFormBlockContext();return{form:n}}const wm=y.createContext({});function Vk(r){var i=r,{children:n}=i,o=et(i,["children"]);const{status:a}=Dn();return!a||a===o.status?m.jsx(wm.Provider,{value:o,children:n}):null}function jk(){return y.useContext(wm)}function Uk(n={}){const{refreshTable:o}=Mi(),r=j.useField(),i=v.useAPIClient(),a=j.useForm(),c=v.useCollection(),d=Dn(),{status:f}=jk(),{source:g}=n,h=g==="updateRecord";return{run:()=>le(null,null,function*(){var x;try{if(d.status)return;if(yield a.submit(),r.data=(x=r.data)!=null?x:{},r.data.loading=!0,h){const S=c.name,w=a.values.id;yield i.resource(S).update({filterByTk:w,values:a.values})}yield i.resource("approvalRecords").submit({filterByTk:d.id,values:{status:f,needUpdateRecord:h,data:a.values}}),r.data.loading=!1,yield a.reset(),o()}catch(S){console.error(S),r.data&&(r.data.loading=!1)}})}}const Wk=n=>{const{status:o}=Dn();return o?m.jsx(Hk,{}):m.jsx(v.ActionBarProvider,D({},n))},Hk=()=>{const n=v.useCompile(),{status:o,updatedAt:r,user:i}=Dn(),a=uo[o];return m.jsxs(te.Space,{children:[m.jsx(te.Tag,{color:a.color,children:n(a.label)}),m.jsx("time",{children:je.str2moment(r).format("YYYY-MM-DD HH:mm:ss")}),m.jsx(te.Tag,{children:i.nickname})]})},Kk=n=>{var z,K,Y;const o=Dn(),{job:r}=o,i=Oe.omit(o,["approval","job","node","snapshot"]),{execution:a,workflow:c}=M.useFlowContext(),d=j.useFieldSchema(),f=j.useField(),g=y.useRef(null),{getAssociationAppends:h}=v.useAssociationNames(),{appends:x,updateAssociationValues:S}=h(),{data:w}=v.useCurrentUserContext(),{findComponent:k}=v.useDesignable(),b=k((z=f.component)==null?void 0:z[0])||y.Fragment,E=y.useMemo(()=>{var Q;return j.createForm({initialValues:i,pattern:a!=null&&a.status||r!=null&&r.status||(i==null?void 0:i.status)==null?"disabled":i.status||((Q=w.data)==null?void 0:Q.id)!==i.userId?"readPretty":"editable"})},[(K=w.data)==null?void 0:K.id,i==null?void 0:i.status,c==null?void 0:c.enabled]),P=y.useMemo(()=>D({appends:x},n.params),[x,n.params]),_=y.useMemo(()=>({loading:!1,data:{data:i}}),[i]),B=v.useAPIClient().resource(n.collection),$=y.useContext(v.BlockRequestContext_deprecated),L=y.useMemo(()=>({params:P,form:E,field:f,service:_,updateAssociationValues:S,formBlockRef:g}),[f,E,P,_,S]);return!i.status&&i.userId!==((Y=w.data)==null?void 0:Y.id)?null:m.jsx(v.CollectionProvider_deprecated,{collection:n.collection,children:m.jsx(v.RecordProvider,{record:{},children:m.jsx(v.FormActiveFieldsProvider,{name:"form",children:m.jsx(v.BlockRequestContext_deprecated.Provider,{value:{block:"form",props:n,field:f,service:_,resource:B,__parent:$},children:m.jsx(v.FormBlockContext.Provider,{value:L,children:m.jsxs(b,Z(D({},f.componentProps),{children:[m.jsx(v.FormV2.Templates,{style:{marginBottom:18},form:E},1),m.jsx("div",{ref:g,children:m.jsx(j.RecursionField,{schema:d,onlyRenderProperties:!0})},2)]}))})})})})})},Yk=n=>{const o=y.useContext(as),{id:r,node:i,actionEnabled:a}=n,c=$k({id:r,node:i,actionEnabled:a,approval:o});return m.jsx(v.SchemaComponent,{schema:c,components:{SchemaComponentProvider:v.SchemaComponentProvider,RemoteSchemaComponent:v.RemoteSchemaComponent,SchemaComponentContextProvider:vm,FormBlockProvider:ea,ActionBarProvider:Wk,ApprovalActionProvider:Vk,ApprovalFormBlockProvider:Kk,DetailsBlockProvider:M.DetailsBlockProvider},scope:{useApprovalDetailBlockProps:Mk,useApprovalFormBlockProps:zk,useDetailsBlockProps:v.useFormBlockContext,useSubmit:Uk}})},qk=()=>{const{id:n}=v.useRecord(),{t:o}=we(),{actionEnabled:r}=y.useContext(er),{loading:i,data:a}=v.useRequest({resource:"approvalRecords",action:"get",params:{filterByTk:n,appends:["approvalExecution","node","job","workflow","workflow.nodes","execution","execution.jobs","user","approval","approval.createdBy","approval.approvalExecutions","approval.createdBy.nickname","approval.records","approval.records.node.title","approval.records.node.config","approval.records.job","approval.records.user.nickname"],except:["approval.data","approval.approvalExecutions.snapshot","approval.records.snapshot","workflow.config","workflow.options","nodes.config"],sort:["-createdAt"]}},{refreshDeps:[n]});if(i)return m.jsx(te.Spin,{});if(a==null||!a.data)return m.jsx(te.Result,{status:"error",title:o("Submission may be withdrawn, please try refresh the list.")});const c=a.data,{approvalExecution:d,node:f,approval:g,workflow:h,execution:x}=c,{nodes:S}=h,w=Oe.omit(h,["nodes"]);return f==null||f.config.applyDetail,m.jsx(M.ExecutionContextProvider,{workflow:w,nodes:S,execution:x,children:m.jsx(as.Provider,{value:g,children:m.jsx(gd,{value:d,children:m.jsx(vd.Provider,{value:a.data,children:m.jsx(Yk,{id:n,node:f,actionEnabled:r})})})})})},Qk=n=>{const{record:o,popoverComponent:r,popoverComponentProps:i}=n;return{name:`assignee-view-${o.id}`,type:"void","x-component":"Action.Link",title:'{{t("View")}}',properties:{drawer:{type:"void","x-component":r,"x-component-props":D({className:"tb-action-popup"},i),properties:{content:{type:"void","x-component":"CheckContent"}}}}}},mc=n=>{const{popoverComponent:o="Action.Drawer",popoverComponentProps:r={}}=n,i=v.useRecord(),a=Qk({record:i,popoverComponent:o,popoverComponentProps:r});return m.jsx(v.SchemaComponent,{schema:a,components:{CheckContent:qk}})};function Gk(n,o,r){return m.jsx(Xk,{text:n,record:o,exist:r>0})}const Xk=n=>{const{exist:o,record:r}=n;return o?m.jsx(Jk,D({},r)):m.jsx(Zk,D({},r))},Jk=n=>{const{data:o}=v.useCurrentUserContext(),{actionEnabled:r}=y.useContext(er);return m.jsxs(m.Fragment,{children:[n.status?m.jsx(m.Fragment,{children:[n.comment?m.jsx(v.InputReadPretty.TextArea,{value:n.comment}):null,m.jsx("time",{children:m.jsx(v.DatePicker.ReadPretty,{value:n.updatedAt,showTime:!0})},"time")]}):null,r&&n.userId===(o==null?void 0:o.data.id)?m.jsx(v.RecordProvider,{record:n,parent:!1,children:m.jsx(mc,{})}):null]})},Zk=n=>{const{data:o}=v.useCurrentUserContext(),{actionEnabled:r}=y.useContext(er);return m.jsxs(m.Fragment,{children:[m.jsx("time",{children:m.jsx(v.DatePicker.ReadPretty,{value:n.updatedAt,showTime:!0})},"time"),r&&n.user.id===(o==null?void 0:o.data.id)?m.jsx(v.RecordProvider,{record:n.execution,parent:!1,children:m.jsx(fc,{})}):null]})},Sm=j.observer(()=>{const{value:n}=j.useField(),o=v.useRecord();return m.jsx(km,{value:n,record:o})},{displayName:"ApprovalRecordStatusColumn"}),km=n=>{const{value:o,record:r}=n,i=Oe.omit(n,["value","record"]),a=v.useCompile(),{t:c}=we(),{option:d=uo[o]}=i,{execution:f,job:g}=r!=null?r:{},h=(f==null?void 0:f.status)||(g==null?void 0:g.status);return[ve.ASSIGNED,ve.PENDING].includes(o)&&h?m.jsx(te.Tag,{children:c("Unprocessed")}):m.jsx(te.Tag,{color:d.color,children:a(d.label)})};function Rk(n,o,r){return m.jsx(e2,{value:n,record:o,index:r})}const e2=n=>{const{value:o,record:r,index:i}=n,a=v.useCompile();if(!i){const d=Ni[r.status===ae.DRAFT?ae.DRAFT:ae.SUBMITTED];return m.jsx(te.Tag,{color:d.color,children:a(d.label)})}const c=uo[o];return m.jsx(km,{value:o,record:r,option:c})},t2={[M.JOB_STATUS.PENDING]:{color:"gold",label:`{{t('Pending', { ns: "${X}" })}}`},[M.JOB_STATUS.RESOLVED]:{color:"green",label:`{{t('Approved', { ns: "${X}" })}}`},[M.JOB_STATUS.REJECTED]:{color:"red",label:`{{t('Rejected', { ns: "${X}" })}}`},[M.JOB_STATUS.RETRY_NEEDED]:{color:"red",label:`{{t('Returned', { ns: "${X}" })}}`}},tr={SINGLE:Symbol("single"),ALL:Symbol("all"),VOTE:Symbol("vote")},n2=[{value:tr.SINGLE,label:`{{t("Or", { ns: "${X}" })}}`},{value:tr.ALL,label:`{{t("And", { ns: "${X}" })}}`},{value:tr.VOTE,label:n=>`${Rl("Voting")} ( > ${(n*100).toFixed(0)}%)`}].reduce((n,o)=>Object.assign(n,{[o.value]:o}),{});function o2(n){switch(!0){case n===1:return tr.ALL;case(0<n&&n<1):return tr.VOTE;default:return tr.SINGLE}}function r2(n,o,r){return m.jsx(s2,{text:n,record:o,index:r})}const s2=n=>{const{text:o,record:r,index:i}=n,c=i>0&&(r==null?void 0:r.groupCount)>1;return m.jsxs(m.Fragment,{children:[m.jsx("span",{children:o},"span"),c?m.jsx(i2,{record:r}):null]})},i2=n=>{const o=v.useCompile(),{record:r}=n,{node:i,job:a,statusCount:c,groupCount:d}=r,{branchMode:f,negotiation:g}=(i==null?void 0:i.config)||{},h=f?uo[a==null?void 0:a.result]:t2[a==null?void 0:a.status],x=n2[o2(+g)];return m.jsxs("div",{className:v.css`
|
|
131
131
|
display: flex;
|
|
132
132
|
align-items: center;
|
|
133
133
|
gap: 0.5em;
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
"@tachybase/client": "1.
|
|
3
|
-
"@tachybase/module-workflow": "1.
|
|
2
|
+
"@tachybase/client": "1.5.1",
|
|
3
|
+
"@tachybase/module-workflow": "1.5.1",
|
|
4
4
|
"@tego/server": "1.3.52",
|
|
5
5
|
"lodash": "4.17.21",
|
|
6
6
|
"react": "18.3.1",
|
|
7
7
|
"@tachybase/schema": "1.3.52",
|
|
8
8
|
"antd": "5.22.5",
|
|
9
|
-
"@tachybase/module-ui-schema": "1.
|
|
9
|
+
"@tachybase/module-ui-schema": "1.5.1",
|
|
10
10
|
"sequelize": "6.37.5",
|
|
11
11
|
"@tego/client": "1.3.52",
|
|
12
12
|
"@ant-design/icons": "5.6.1",
|
|
@@ -284,7 +284,7 @@ const approvals = {
|
|
|
284
284
|
const assignees = approval.records.map((record) => record.userId);
|
|
285
285
|
for (const userId of assignees) {
|
|
286
286
|
const [dataSourceName] = (0, import_server.parseCollectionName)(approval.collectionName);
|
|
287
|
-
const collection =
|
|
287
|
+
const collection = context.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(approval.collectionName);
|
|
288
288
|
const message = {
|
|
289
289
|
userId,
|
|
290
290
|
title: `{{t("Approval", { ns: '${import_constants.NAMESPACE}' })}}`,
|
|
@@ -108,6 +108,21 @@ const _ApprovalTrigger = class _ApprovalTrigger extends import_module_workflow.T
|
|
|
108
108
|
if (!execution.workflow) {
|
|
109
109
|
execution.workflow = await execution.getWorkflow({ transaction });
|
|
110
110
|
}
|
|
111
|
+
if (execution.workflow.type === _ApprovalTrigger.TYPE && execution.context && execution.context.approvalId && execution.status === import_module_workflow.EXECUTION_STATUS.STARTED) {
|
|
112
|
+
const approval2 = await this.workflow.db.getRepository("approvals").findOne({
|
|
113
|
+
filterByTk: execution.context.approvalId,
|
|
114
|
+
transaction
|
|
115
|
+
});
|
|
116
|
+
if (approval2 && approval2.status === import_status.APPROVAL_STATUS.DRAFT) {
|
|
117
|
+
await execution.update(
|
|
118
|
+
{
|
|
119
|
+
status: import_module_workflow.EXECUTION_STATUS.CANCELED
|
|
120
|
+
},
|
|
121
|
+
{ transaction }
|
|
122
|
+
);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
111
126
|
if (!execution.status || execution.workflow.type !== _ApprovalTrigger.TYPE) {
|
|
112
127
|
return;
|
|
113
128
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/plugin-workflow-approval",
|
|
3
3
|
"displayName": "Approval",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.1",
|
|
5
5
|
"description": "Approval base in Workflow",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Approval",
|
|
@@ -10,26 +10,26 @@
|
|
|
10
10
|
"main": "dist/server/index.js",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@ant-design/icons": "^5.6.1",
|
|
13
|
-
"@tachybase/schema": "
|
|
14
|
-
"@tachybase/test": "
|
|
15
|
-
"@tego/client": "
|
|
16
|
-
"@tego/server": "
|
|
13
|
+
"@tachybase/schema": "1.3.52",
|
|
14
|
+
"@tachybase/test": "1.3.52",
|
|
15
|
+
"@tego/client": "1.3.52",
|
|
16
|
+
"@tego/server": "1.3.52",
|
|
17
17
|
"@types/file-saver": "^2.0.7",
|
|
18
18
|
"@types/lodash": "^4.17.20",
|
|
19
19
|
"ahooks": "^3.9.0",
|
|
20
20
|
"antd": "5.22.5",
|
|
21
21
|
"antd-mobile": "^5.39.0",
|
|
22
22
|
"antd-mobile-icons": "^0.3.0",
|
|
23
|
-
"dayjs": "
|
|
23
|
+
"dayjs": "1.11.13",
|
|
24
24
|
"file-saver": "^2.0.5",
|
|
25
25
|
"jsonata": "^2.0.6",
|
|
26
26
|
"lodash": "4.17.21",
|
|
27
27
|
"react-i18next": "16.2.1",
|
|
28
28
|
"react-router-dom": "6.28.1",
|
|
29
|
-
"sequelize": "
|
|
30
|
-
"@tachybase/
|
|
31
|
-
"@tachybase/module-workflow": "1.
|
|
32
|
-
"@tachybase/
|
|
29
|
+
"sequelize": "6.37.5",
|
|
30
|
+
"@tachybase/module-ui-schema": "1.5.1",
|
|
31
|
+
"@tachybase/module-workflow": "1.5.1",
|
|
32
|
+
"@tachybase/client": "1.5.1"
|
|
33
33
|
},
|
|
34
34
|
"description.zh-CN": "审批系统是一个强大的BPM工具,为业务流程自动化提供基础支持,同时具备高度灵活性和可扩展性,确保审批流程的效率和合规性,助力企业释放创新潜力。",
|
|
35
35
|
"displayName.zh-CN": "审批"
|