@chase-shao/vue-component-lib 1.2.54 → 1.2.56

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/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(A,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("pinia"),require("@arco-design/web-vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","axios","pinia","@arco-design/web-vue","vue-router"],e):(A=typeof globalThis<"u"?globalThis:A||self,e(A.MyComponentLibrary={},A.Vue,A.axios,A.Pinia,A.ArcoVue,A.VueRouter))})(this,function(A,e,Pe,Re,He,je){"use strict";const Ke=Re.defineStore("main",()=>({token:e.ref(void 0)})),ze=async t=>new Promise(o=>setTimeout(o,t)),Ge=async(t,o,r,n=void 0)=>{if(t[o]===void 0)try{t[o]=null,t[o]=await r()||n}catch(a){console.error(a),t[o]=void 0}for(;t[o]===null;)await ze(100);return t[o]},Z=t=>{const o=`0${t}`;return o.substring(o.length-2)},ee=(t,o="yyyy-MM-dd hh:mm:ss")=>{if(!t||typeof t=="string"&&t.length===0)return"";try{const r=new Date(t),n=[["yyyy",r.getFullYear()],["yy",r.getFullYear().toString().substring(2)],["MM",Z(r.getMonth()+1)],["M",r.getMonth()+1],["dd",Z(r.getDate())],["d",r.getDate()],["hh",Z(r.getHours())],["h",r.getHours()],["mm",Z(r.getMinutes())],["m",r.getMinutes()],["ss",Z(r.getSeconds())],["s",r.getSeconds()]];for(const[a,c]of n)o=o.replace(a,c);return o}catch{return t.toLocaleString()}};let le={};function Oe(t){le={...le,...t}}function se(){return le}function ye(){const t=se();return{apiBase:t.apiBase||void 0||"",appSecret:t.appSecret||void 0||""}}function he(){const{apiBase:t}=ye();return Pe.create({baseURL:t,timeout:1e4,withCredentials:!0})}const be=async()=>{const{apiBase:t,appSecret:o}=ye(),r=he(),n=Ke();return await Ge(n,"token",async()=>(await r.get(`${t}/GenerateToken`,{params:{appid:"bpm",appsecret:o}}))?.data?.token)},U=async()=>{const t=await be(),o=he();return o.defaults.headers.common.Authorization=`Bearer ${t}`,o},ie={CurrentUserEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",CurrentUserPositionCode:t=>t.bpmStore()?.positionCode??888,CurrentDatetime:()=>new Date().toISOString(),ApproverEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",ApproverPositionCode:t=>t.bpmStore()?.positionCode??999,RejectReason:()=>"Test Reject Reason"},L=[];for(let t=0;t<256;++t)L.push((t+256).toString(16).slice(1));function We(t,o=0){return(L[t[o+0]]+L[t[o+1]]+L[t[o+2]]+L[t[o+3]]+"-"+L[t[o+4]]+L[t[o+5]]+"-"+L[t[o+6]]+L[t[o+7]]+"-"+L[t[o+8]]+L[t[o+9]]+"-"+L[t[o+10]]+L[t[o+11]]+L[t[o+12]]+L[t[o+13]]+L[t[o+14]]+L[t[o+15]]).toLowerCase()}let ce;const qe=new Uint8Array(16);function Ye(){if(!ce){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");ce=crypto.getRandomValues.bind(crypto)}return ce(qe)}const Ce={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Ve(t,o,r){if(Ce.randomUUID&&!t)return Ce.randomUUID();t=t||{};const n=t.random??t.rng?.()??Ye();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,We(n)}var D=(t=>(t[t.Submit=0]="Submit",t[t.Link=1]="Link",t))(D||{}),J=(t=>(t[t.Create=0]="Create",t[t.Update=1]="Update",t[t.Details=2]="Details",t[t.List=3]="List",t))(J||{});function Je(t,o,r){const n={pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}};return t.__ClassAttributes?.forEach(a=>{if(a.attributeType==="UIPageType")n.pageType=a.Type;else if(a.attributeType==="UIValidationControl")n.globalValidations.push({rule:a.ruleName,errorMessage:a.errorMessage,param:a.ruleParameter,appliesTo:a.propertyNames||["*"]});else if(a.attributeType==="UIControl"){if(a.widget==="Tab"){n.tabs||(n.tabs=[]),n.tabs.push({key:Ve(),title:a.title,filters:a.filters?JSON.parse(a.filters):[],order:a.order});return}n.actions||(n.actions=[]),n.actions.push({isSubmit:a.isSubmit,requestUrl:a.requestUrl,redirectUrl:a.redirectUrl,redirectType:a.redirectType,title:a.title,widget:a.widget==="Link"?D.Link:D.Submit,location:a.location,attributeType:a.attributeType,readonly:a.readonly,loading:!1})}else a.attributeType==="Banner"&&(n.banner.title=a.title,n.banner.subTitle=o===0?a.subTitle:de(a.subTitle,t.workflowId.propertyValue))}),n.tabs&&(n.tabs=n.tabs.sort((a,c)=>a.order-c.order)),Object.entries(t).forEach(([a,c])=>{if(a==="__ClassAttributes"||a==="className"||a==="id"||a==="deleteFlag"||a==="status"||a==="workFlowReason"||o!==3&&a==="workflowId")return;const s={validations:[],triggers:[],isFiltered:!1,dependent:"",operator:""},{attributes:d,propertyValue:l}=c;switch(l){case null:s.modelValue="";break;case void 0:s.modelValue="";break;default:s.modelValue=l;break}a==="onBehalf"&&o===0&&(s.modelValue=ie.CurrentUserEmail(r)),d?.forEach(i=>{i.order||i.Order?s.order=i.order??i.Order:i.attributeType==="UIControl"?s.widget={...i,column:!0}:i.attributeType==="UIValidationControl"&&o!==3?s.widget?.widget!=="CheckBox"&&s.validations.push(i):i.attributeType==="UIListed"?s.widget={...i,column:!0}:i.attributeType==="UIFiltered"?(s.isFiltered=!0,s.operator=i.operatorType):i.dependentType?s.dependent=ie[i.dependentType]?ie[i.dependentType](r):"":i.eventType==="Change"&&s.triggers?.push({event:"change",handlerName:i.eventName})}),n.fields[a]=s}),n}const te=async(t,o,r,n)=>{const c=await(await U()).get(`/General/${o}/${t}/page`,{params:n});return Je(c?.data,t,r)},Be=async(t,o,r)=>(await(await U()).post(`/${o}/${t}/button/List`,null,{params:r}))?.data;async function Xe(t,o){const n=await(await U()).post(`/General/${t}/list`,o);return{data:n.data.data,totalCount:n.data.totalCount}}async function Qe(t,o,r){const a=await(await U()).post(r,o,{params:{className:t}});return a.data.length>0?a.data[0]:0}async function Ze(t,o,r,n){const a=await U(),c=de(n,o);return(await a.put(c,r))?.data}function de(t,o){return t.replace(/{WorkflowId}/g,o)}function ve(t,o){return t.replace(/{ApproverEmail}/g,encodeURIComponent(o))}function et(t,o){return t.replace(/{WorkFlowReason}/g,encodeURIComponent(o))}function tt(t,o){return t.replace(/{Status}/g,o)}function ot(t,o){return t.replace(/{IfTriggerGlobal_RandP_Approval}/g,o)}function nt(t,o){return t.replace(/{ClassName}/g,encodeURIComponent(o))}async function at(t,o,r,n,a,c,s,d){const l=await U();let i=de(c,o);return i=ve(i,r),i=et(i,n),i=tt(i,s),i=ot(i,d),i=nt(i,t),(await l.put(i,a))?.data}async function rt(t,o){const a=(await(await U()).get(t,{params:{value:o}}))?.data;return Object.entries(a).map(([c,s])=>({value:c,label:s}))}async function lt(t,o){return(await(await U()).get(`/General/${t}/${o}/process`))?.data}function st(t){return{uid:t.id??Ve(),name:t.attachmentName??"unknown",url:t.attachmentKey??""}}async function xe(t,o){return(await(await U()).get(`/General/${t}/${o}/upload/get`))?.data.reduce((c,s)=>{const{category:d}=s;return c[d]||(c[d]=[]),c[d].push(st(s)),c},{})}async function it(t,o){return(await U()).post(`/General/${t}/${o}/delete/attachment`)}async function ct(){const o=await(await U()).get("/Grading/dropdown/approvers");return Object.entries(o?.data).map(([r,n])=>({label:r,value:n}))}async function dt(t,o){return await(await U()).post(`Grading/AssignComments/${t}/${encodeURIComponent(o)}`)}async function pt(t,o,r){return await(await U()).post(`Grading/AddComments/${t}/${encodeURIComponent(o)}`,r,{headers:{"Content-Type":"application/json;charset=UTF-8"}})}async function Ne(t){return(await(await U()).get(`Grading/GetComments/${t}`))?.data}async function pe(t){return(await(await U()).post(`Grading/GetAssociator/${t}`))?.data}async function mt(t){return await(await U()).post(`Grading/DeleteAssociator/${t}`)}const X=(t,o)=>{let r="";return{res:t.every(a=>{const c=ft(a,o);return c||(r=a.errorMessage),c}),errorMessages:r}},ft=(t,o)=>{const{ruleName:r,ruleParameter:n}=t;return ut[r](n,o)},ut={Regex:(t,o)=>new RegExp(t).test(o),Required:(t,o)=>!!o},Se=e.defineComponent({__name:"InputText",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=i=>X(n.validations,i),d=i=>{a("input",i)},l=i=>{const w=s(i);a("error",w.res?"":w.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(m=>{m.event==="change"&&a(m.event,m.handlerName,i)})};return o({validate(){const i=s(n.modelValue);return a("error",i.res?"":i.errorMessages),i.res}}),(i,w)=>{const m=e.resolveComponent("AInput");return e.openBlock(),e.createBlock(m,{modelValue:c.value,"onUpdate:modelValue":w[0]||(w[0]=b=>c.value=b),"allow-clear":"",disabled:n.readonly||n.config.Readonly,onInput:d,onChange:l},null,8,["modelValue","disabled"])}}}),gt=e.defineComponent({__name:"InputNumber",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=e.ref(100),d=e.ref(0);e.onMounted(()=>{n.validations&&n.validations.forEach(m=>{m.ruleName==="Max"&&(s.value=m.ruleParameter),m.ruleName==="Min"&&(d.value=m.ruleParameter)})});const l=m=>X(n.validations,m),i=m=>{a("input",m)},w=m=>{const b=l(m);a("error",b.res?"":b.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(B=>{B.event==="change"&&a(B.event,B.handlerName,m)})};return o({validate(){const m=l(n.modelValue);return a("error",m.res?"":m.errorMessages),m.res}}),(m,b)=>{const B=e.resolveComponent("AInputNumber");return e.openBlock(),e.createBlock(B,{modelValue:c.value,"onUpdate:modelValue":b[0]||(b[0]=k=>c.value=k),clearable:"",disabled:n.readonly,min:d.value,max:s.value,onInput:i,onChange:w},null,8,["modelValue","disabled","min","max"])}}}),$e=e.defineComponent({__name:"SelectList",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.ref(!1),s=e.ref(n.config.options??[]),d=e.useModel(t,"modelValue"),l=m=>X(n.validations,m);e.computed(()=>{const m={};return n.triggers&&n.triggers.length>0&&n.triggers.forEach(b=>{m[b.event]=B=>{a(b.event,b.handlerName,B);const k=l(B);a("error",k.res?"":k.errorMessages)}}),m});const i=async()=>{n.config.dataSourceProvider&&(s.value=await rt(n.config.dataSourceProvider))};e.onMounted(i);const w=m=>{a("update:modelValue",m);const b=l(m);a("error",b.res?"":b.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(B=>{B.event==="change"&&a(B.event,B.handlerName,m)})};return o({validate(){const m=l(n.modelValue);return a("error",m.res?"":m.errorMessages),m.res}}),(m,b)=>{const B=e.resolveComponent("AOption"),k=e.resolveComponent("ASelect");return e.openBlock(),e.createBlock(k,{"allow-clear":"",modelValue:d.value,"onUpdate:modelValue":b[0]||(b[0]=x=>d.value=x),loading:c.value,"filter-option":!0,"allow-search":!0,onChange:w},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,x=>(e.openBlock(),e.createBlock(B,{key:x.value,value:x.value,label:x.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","loading"])}}}),_t=e.defineComponent({__name:"Cascader",props:{modelValue:{},config:{}},emits:["update:modelValue","change"],setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.ref(n.config.options??[]),s=l=>{a("update:modelValue",l),a("change",l)};e.onMounted(async()=>{if(n.config){const l=n.config.dataSourceProvider;if(l){const w=await(await U()).get(l);c.value=w.data}}});const d={value:"key",label:"value"};return o({validate(){return!0}}),(l,i)=>{const w=e.resolveComponent("ACascader"),m=e.resolveComponent("ASpace");return e.openBlock(),e.createBlock(m,{direction:"vertical",size:"large"},{default:e.withCtx(()=>[e.createVNode(w,{"field-names":d,"model-value":l.modelValue,options:c.value,style:{width:"320px"},placeholder:"Please select ...",onChange:s},null,8,["model-value","options"])]),_:1})}}}),kt=e.defineComponent({__name:"FileUpload",props:{className:{},fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.ref({});e.onMounted(async()=>{const k=await be();c.value={Authorization:`Bearer ${k}`}});const s=k=>X(n.validations,k),l=se().apiBase,i=e.ref(null),w=e.ref("");function m(k,x,F){return k.replace(/{WorkflowId}/g,x).replace(/{ClassName}/g,F)}const b=e.computed(()=>{if(n.config.uploadURL){const k=l+n.config.uploadURL;return m(k,w.value,n.className)}return""});function B(k){const{file:x,name:F}=k,P=F??x.name;return new Promise((R,H)=>{He.Modal.confirm({title:"Confirm Delete",content:`Are you sure you want to delete ${P}?`,async onOk(){if(k.status!=="init"&&n.config.removeFile)return await n.config.removeFile(k.uid),R(!0);R(!0)},onCancel:()=>H("cancel")})})}return o({submit(k){i.value&&(n.config.uploadURL&&(w.value=k),e.nextTick(()=>{i.value.submit()}))},validate(){const k=s(n.modelValue);return a("error",k.res?"":k.errorMessages),k.res}}),(k,x)=>{const F=e.resolveComponent("a-button"),P=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(P,{ref_key:"uploadRef",ref:i,"default-file-list":n.config.files,action:b.value,limit:n.config.allowedNumber,"auto-upload":!1,name:"files",headers:c.value,onBeforeRemove:B},{"start-icon":e.withCtx(()=>x[0]||(x[0]=[])),"upload-button":e.withCtx(()=>[e.createVNode(F,{type:"primary"},{default:e.withCtx(()=>x[1]||(x[1]=[e.createTextVNode("Select File",-1)])),_:1,__:[1]})]),_:1},8,["default-file-list","action","limit","headers"])}}}),wt=e.defineComponent({__name:"TextArea",props:{fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:o,emit:r}){const n=t,a=r,c=l=>X(n.validations,l),s=l=>{a("update:modelValue",l),a("input",l)},d=l=>{a("update:modelValue",l);const i=c(l);a("error",i.res?"":i.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(w=>{w.event==="change"&&a(w.event,w.handlerName,l)})};return o({validate(){const l=c(n.modelValue);return a("error",l.res?"":l.errorMessages),l.res}}),(l,i)=>{const w=e.resolveComponent("ATextarea");return e.openBlock(),e.createBlock(w,{"model-value":n.modelValue,placeholder:"Please enter something","allow-clear":"",disabled:n.readonly,onInput:s,onChange:d},null,8,["model-value","disabled"])}}}),yt=e.defineComponent({__name:"CheckBox",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=l=>X(n.validations,l),d=l=>{const i=s(l);a("error",i.res?"":i.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(w=>{w.event==="change"&&a(w.event,w.handlerName,l)})};return o({validate(){const l=s(n.modelValue);return a("error",l.res?"":l.errorMessages),l.res}}),(l,i)=>{const w=e.resolveComponent("ACheckbox");return e.openBlock(),e.createBlock(w,{modelValue:c.value,"onUpdate:modelValue":i[0]||(i[0]=m=>c.value=m),clearable:"",disabled:n.readonly||n.config.Readonly,onChange:d},{default:e.withCtx(()=>i[1]||(i[1]=[e.createTextVNode("Yes",-1)])),_:1,__:[1]},8,["modelValue","disabled"])}}}),ht={class:"title"},bt={key:0,class:"required"},Ct={key:0,class:"err-msg"},Vt=e.defineComponent({__name:"index",props:e.mergeModels({config:{},className:{},fieldKey:{},modelValue:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=e.useTemplateRef("widgetRef"),d=e.computed(()=>{switch(n.config?.widget?.widget){case"TextBox":return Se;case"Number":return gt;case"SelectList":return $e;case"Cascade":return _t;case"File":return kt;case"TextArea":return wt;case"DropDown":return $e;case"CheckBox":return yt;default:return Se}}),l=e.ref(""),i=b=>{l.value=b},w=(b,B)=>{a("change",b,B)};function m(){return n.config?.widget?.widget==="File"}return o({isFileUpload(){return n.config?.widget?.widget==="File"},submit(b){m()&&s.value.submit(b)},validate(){return s.value?.validate()},getCompName(){return n?.config?.widget?.title}}),(b,B)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",ht,[e.createTextVNode(e.toDisplayString(n?.config?.widget?.title)+" ",1),n.config.validations.length?(e.openBlock(),e.createElementBlock("span",bt,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),{ref_key:"widgetRef",ref:s,modelValue:c.value,"onUpdate:modelValue":B[0]||(B[0]=k=>c.value=k),"field-key":n.fieldKey,config:n.config.widget,validations:n.config.validations,triggers:n.config.triggers,"class-name":n.className,onError:i,onChange:w},null,40,["modelValue","field-key","config","validations","triggers","class-name"])),l.value.length>0?(e.openBlock(),e.createElementBlock("div",Ct,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)])]))}}),Q=(t,o)=>{const r=t.__vccOpts||t;for(const[n,a]of o)r[n]=a;return r},me=Q(Vt,[["__scopeId","data-v-1022c8cb"]]),Bt=e.defineComponent({__name:"SubmitButton",props:{url:{},redirectType:{},loading:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const r=t,n=o;function a(){n("click",r.url,r.redirectType)}return(c,s)=>{const d=e.resolveComponent("AButton");return e.openBlock(),e.createBlock(d,{loading:c.loading,type:"primary",onClick:a},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["loading"])}}}),xt=e.defineComponent({__name:"DetailLink",props:{url:{},redirectType:{},loading:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const r=t,n=o;function a(){n("click",r.url,r.redirectType)}return(c,s)=>{const d=e.resolveComponent("ALink");return e.openBlock(),e.createBlock(d,{onClick:a},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})}}}),v=e.defineComponent({__name:"index",props:{config:{},loading:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const r=t,n=o;function a(l,i){n("click",r.config.widget,l,i,r.config.title)}const c=e.computed(()=>{switch(r.config.location){case"InOperation":return Bt;case"InTable":default:return xt}}),s=e.computed(()=>r.config.widget===D.Submit?r.config.requestUrl??"":r.config.widget===D.Link?r.config.redirectUrl??"":""),d=e.computed(()=>r.config.redirectType??"Details");return(l,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),{url:s.value,"redirect-type":d.value,loading:l.loading,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.config.title),1)]),_:1},8,["url","redirect-type","loading"]))}}),fe=Symbol("library-router");function oe(){const t=e.inject(fe,null);return t||je.useRouter()}const Ee=Symbol("library-triggers");function ue(){const t=e.inject(Ee,null);return t||{}}const Ie=Symbol("library-pinia"),Te=Symbol("library-bpmStore"),Ae=Symbol("library-svrStore");function ne(){return e.inject(Te,null)}function ae(){return e.inject(Ae,null)}const Nt={class:"top-bar"},St={class:"banner-info"},$t={class:"page-title"},Et={class:"page-subtitle"},It={class:"avatar-wrapper"},Tt={class:"user-email"},re=Q(e.defineComponent({__name:"TopBar",props:{title:{},subTitle:{},email:{}},setup(t){return(o,r)=>{const n=e.resolveComponent("a-avatar"),a=e.resolveComponent("a-popover");return e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",St,[e.createElementVNode("div",$t,e.toDisplayString(o.title),1),e.createElementVNode("div",Et,e.toDisplayString(o.subTitle),1)]),e.createElementVNode("div",It,[e.createVNode(a,{trigger:"click"},{content:e.withCtx(()=>[e.createElementVNode("div",Tt,e.toDisplayString(o.email),1)]),default:e.withCtx(()=>[e.createVNode(n,{size:48,autoFixFontSize:"",style:{cursor:"pointer",background:"#165DFF",color:"#fff"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.email.charAt(0).toUpperCase()),1)]),_:1})]),_:1})])])}}}),[["__scopeId","data-v-c0457235"]]);function ge(t){const o=se(),r=[];if(o.fieldsGroup){o.fieldsGroup.forEach(c=>{const s=c.keys.map(d=>t.find(l=>l.fieldKey===d)).filter(Boolean);s.length&&r.push({name:c.name,fields:s})});const n=o.fieldsGroup.flatMap(c=>c.keys),a=t.filter(c=>!n.includes(c.fieldKey));return a.length&&r.push({name:"未分组字段",fields:a}),r}}const At={class:"page-container"},Ut={class:"page-body"},Lt={class:"form-card"},Ft={class:"form-fields-vertical"},Mt={class:"form-fields"},Dt={key:0,class:"form-content"},Pt={class:"page-footer"},Rt={class:"action-container"},Ht={class:"action-buttons"},Ue=Q(e.defineComponent({__name:"CreateView",props:{className:{}},setup(t){const o=ne(),r=ae(),n=oe(),a=ue(),c=e.useTemplateRef("dataWidgets"),s=e.getCurrentInstance(),d=t,l=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),i=e.ref([]),w=e.ref({});function m(_){return _?Object.entries(_).map(([u,C])=>({fieldKey:u,...C})).filter(u=>u.widget&&u.widget.widget!=="Hidden").filter(u=>!H.value.includes(u.fieldKey)):[]}function b(_){return _?Object.entries(_).filter(([u,C])=>C.dependent).reduce((u,[C,h])=>(u[C]=h.dependent,u),{}):[]}const B=e.computed(()=>l.value?.actions?[...l.value.actions].reverse():[]),k=e.reactive({}),x=e.ref(!1);e.onMounted(async()=>{x.value=!0,l.value=await te(J.Create,d.className,{svrStore:r,bpmStore:o}),i.value=m(l.value.fields),w.value=b(l.value.fields);for(const _ in l.value.fields){if(l.value.fields[_].widget?.widget==="File"){const N=i.value.find(u=>u.fieldKey===_);N&&N.widget&&(N.widget.files=[])}k[_]=l.value.fields[_].modelValue}x.value=!1});function F(){return r()?.userInfo?.email_address??""}async function P(_,N,u,C,h){switch(N){case D.Submit:let $=!0;if(c.value?.forEach(G=>{G?.validate&&(G.validate()||($=!1))}),!$){s?.appContext.config.globalProperties.$message.error("form validation failed, please check the input fields");return}_.loading=!0;const T=await Qe(d.className,{...k,...w.value},u);_.loading=!1,c.value?.forEach(G=>{G?.submit&&G.submit(T.toString())}),s?.appContext.config.globalProperties.$notification.success("create success!"),n.push({name:"Details",params:{workflowId:T.toString()}});break;case D.Link:C==="List"&&n.push({name:"List",params:{className:d.className}});break;default:console.warn("Unknown action type:",N)}}const R=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","jobAttachmentPrevious","positionId"],H=e.ref(R);function j(_,N){a[_]?.(N,H),l.value&&(i.value=m(l.value.fields))}const W=e.computed(()=>ge(i.value));return(_,N)=>{const u=e.resolveComponent("a-card"),C=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",At,[e.createVNode(re,{title:l.value.banner.title,subTitle:l.value.banner.subTitle,email:F()},null,8,["title","subTitle","email"]),e.createElementVNode("div",Ut,[e.createVNode(C,{loading:x.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Lt,[e.createElementVNode("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,h=>(e.openBlock(),e.createBlock(u,{key:h.name,title:h.name,style:{"margin-bottom":"24px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Mt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.fields,$=>(e.openBlock(),e.createBlock(me,{key:$.fieldKey,ref_for:!0,ref:"dataWidgets","field-key":$.fieldKey,config:$,"class-name":_.className,modelValue:k[$.fieldKey],"onUpdate:modelValue":T=>k[$.fieldKey]=T,class:"form-field",onChange:j},null,8,["field-key","config","class-name","modelValue","onUpdate:modelValue"]))),128))])]),_:2},1032,["title"]))),128))]),_.$slots.content?(e.openBlock(),e.createElementBlock("div",Dt,[e.renderSlot(_.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Pt,[e.createElementVNode("div",Rt,[e.renderSlot(_.$slots,"action",{},void 0,!0),e.createElementVNode("div",Ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,h=>(e.openBlock(),e.createBlock(v,{key:h.Title,loading:h.loading,config:h,class:"action-button",onClick:(...$)=>P(h,...$)},null,8,["loading","config","onClick"]))),128))])])])])}}}),[["__scopeId","data-v-ca3b2cdb"]]),jt={class:"page-container"},Kt={class:"page-body"},zt={class:"form-card"},Gt={class:"form-fields-vertical"},Ot={class:"form-fields"},Wt={key:0,class:"form-content"},qt={class:"page-footer"},Yt={class:"action-container"},Jt={class:"action-buttons"},Le=Q(e.defineComponent({__name:"UpdateView",props:{className:{},workflowId:{}},setup(t){const o=oe(),r=ue(),n=ae(),a=ne(),c=e.useTemplateRef("dataWidgets"),s=e.getCurrentInstance(),d=t,l=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),i=e.ref([]),w=e.ref({});function m(_){return _?Object.entries(_).map(([u,C])=>({fieldKey:u,...C})).filter(u=>u.widget&&u.widget.widget!=="Hidden").filter(u=>!H.value.includes(u.fieldKey)):[]}function b(_){return _?Object.entries(_).filter(([u,C])=>C.dependent).reduce((u,[C,h])=>(u[C]=h.dependent,u),{}):[]}const B=e.computed(()=>l.value?.actions?[...l.value.actions].reverse():[]),k=e.reactive({}),x=e.ref(!1);e.onMounted(async()=>{x.value=!0,l.value=await te(J.Update,d.className,{svrStore:n,bpmStore:a},{workflowId:d.workflowId});const _=await Be(J.Update,d.className,{workflowId:d.workflowId,email:F()}),N=await xe(d.className,d.workflowId);l.value.actions=l.value.actions?.filter(u=>{const C=_.find(h=>h.button===u.title);return C?C.isShow:!0}),i.value=m(l.value.fields),w.value=b(l.value.fields);for(const u in l.value.fields){if(l.value.fields[u].widget?.widget==="File"){const C=i.value.find(h=>h.fieldKey===u);C&&C.widget&&(C.widget.files=N[u]??[],C.widget.removeFile=h=>it(d.className,h))}k[u]=l.value.fields[u].modelValue}x.value=!1});function F(){return n()?.userInfo?.email_address??""}async function P(_,N,u,C,h){switch(N){case D.Submit:let $=!0;if(c.value?.forEach(T=>{T?.validate&&(T.validate()||($=!1))}),!$){s?.appContext.config.globalProperties.$message.error("form validation failed, please check the input fields");return}_.loading=!0,await Ze(d.className,d.workflowId,{...k,...w.value},u),_.loading=!1,c.value?.forEach(T=>{T?.submit&&T.submit(d.workflowId)}),s?.appContext.config.globalProperties.$notification.success("update success!");break;case D.Link:o.push({name:C,params:{className:d.className}});break;default:console.warn("Unknown action type:",N)}}const R=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","jobAttachmentPrevious","positionId"],H=e.ref(R);function j(_,N){r[_]?.(N,H),l.value&&(i.value=m(l.value.fields))}const W=e.computed(()=>ge(i.value));return(_,N)=>{const u=e.resolveComponent("a-card"),C=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",jt,[e.createVNode(re,{title:l.value.banner.title,subTitle:l.value.banner.subTitle,email:F()},null,8,["title","subTitle","email"]),e.createElementVNode("div",Kt,[e.createVNode(C,{loading:x.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",zt,[e.createElementVNode("div",Gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,h=>(e.openBlock(),e.createBlock(u,{key:h.name,title:h.name,style:{"margin-bottom":"24px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Ot,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.fields,$=>(e.openBlock(),e.createBlock(me,{key:$.fieldKey,ref_for:!0,ref:"dataWidgets","field-key":$.fieldKey,config:$,"class-name":_.className,modelValue:k[$.fieldKey],"onUpdate:modelValue":T=>k[$.fieldKey]=T,class:"form-field",onChange:j},null,8,["field-key","config","class-name","modelValue","onUpdate:modelValue"]))),128))])]),_:2},1032,["title"]))),128))]),_.$slots.content?(e.openBlock(),e.createElementBlock("div",Wt,[e.renderSlot(_.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",qt,[e.createElementVNode("div",Yt,[e.renderSlot(_.$slots,"action",{},void 0,!0),e.createElementVNode("div",Jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,h=>(e.openBlock(),e.createBlock(v,{key:h.Title,loading:h.loading,config:h,class:"action-button",onClick:(...$)=>P(h,...$)},null,8,["loading","config","onClick"]))),128))])])])])}}}),[["__scopeId","data-v-9e5cdbac"]]),Fe=Symbol("library-custom-comp");function Xt(){return e.inject(Fe,null)}const Qt=Symbol("ArcoConfigProvider"),Zt="arco",vt="$arco",eo=t=>{var o,r,n;const a=e.getCurrentInstance(),c=e.inject(Qt,void 0);return`${(n=(r=c?.prefixCls)!=null?r:(o=a?.appContext.config.globalProperties[vt])==null?void 0:o.classPrefix)!=null?n:Zt}-${t}`},to=Object.prototype.toString;function oo(t){return to.call(t)==="[object Number]"&&t===t}var no=(t,o)=>{for(const[r,n]of o)t[r]=n;return t};const ao=e.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const r=eo("icon"),n=e.computed(()=>[r,`${r}-download`,{[`${r}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=oo(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:n,innerStyle:a,onClick:s=>{o("click",s)}}}}),ro=["stroke-width","stroke-linecap","stroke-linejoin"];function lo(t,o,r,n,a,c){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[1]=[e.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1)]),14,ro)}var _e=no(ao,[["render",lo]]);const so=Object.assign(_e,{install:(t,o)=>{var r;const n=(r=o?.iconPrefix)!=null?r:"";t.component(n+_e.name,_e)}}),io={class:"page-container"},co={class:"page-body"},po={class:"detail-card"},mo={class:"form-fields-vertical"},fo={class:"detail-fields"},uo={class:"detail-field"},go={class:"field-label"},_o={key:1,class:"field-value"},ko={class:"detail-field-wrapper"},wo={class:"detail-field"},yo={key:0,class:"detail-content"},ho={class:"page-footer"},bo={class:"action-container"},Co={class:"action-buttons"},Me=Q(e.defineComponent({__name:"DetailView",props:{className:{},workflowId:{}},setup(t){const o=ae(),r=ne(),n=ue(),a=oe(),c=Xt(),s=e.getCurrentInstance(),d=t,l=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),i=e.ref([]);function w(f){return f?Object.entries(f).map(([y,g])=>(typeof g.modelValue=="boolean"?g.fieldValue=g.modelValue?"Yes":"No":g.fieldValue=g.modelValue,{fieldKey:y,...g})).filter(y=>y.widget&&y.widget.widget!=="Hidden"):[]}const m=e.computed(()=>ge(i.value)),b=e.computed(()=>l.value?.actions?[...l.value.actions].reverse():[]),B=e.ref(!0),k=(f,p)=>{const y=f.findIndex(g=>g.isCurrent);return f.map((g,E)=>{const V={id:g.id,title:"",proxy:"",sub:"",desc:"",status:1,time:""};V.title=g.workflowProcessApprovers[0]?.name;const O=g.workflowProcessApprovers[g.workflowProcessApprovers.length-1],K=g.workflowHistorys[g.workflowHistorys.length-1],z=K?.workflowHistoryApprovers[K?.workflowHistoryApprovers?.length-1];if(O&&z&&O?.email?.toLowerCase()!==z?.approverEmail?.toLowerCase()&&(V.title=`${z.name}`,V.proxy=`Proxy: ${O.name}`),g.sort>1?V.sub="Approver Role: "+g.nodeName.replace("Submit","").replace("Approve",""):V.sub="Submit Application",g.isCurrent&&p!==-1)V.desc="In Approval",V.status=1;else{const M=g.workflowHistorys[g.workflowHistorys.length-1];if(M&&M.status===100)V.time=ee(M.takeActionAt,"yyyy-MM-dd hh:mm:ss"),V.status=2,V.desc="approve success!";else if(M&&M.status===999)V.time=ee(M.takeActionAt,"yyyy-MM-dd hh:mm:ss"),V.status=0,V.desc="approve reject!";else if(M)if(V.time=ee(M.takeActionAt,"yyyy-MM-dd hh:mm:ss"),g.sort===1)V.status=2,V.desc="";else{const I=M.workflowHistoryApprovers[0];V.status=3,V.desc=I?.reason?`Rejected reason: ${I.reason}`:"Rejected"}else E<y||y===-1?(V.status=0,V.desc="Skipped"):(V.status=0,V.desc="Pending Approval");M&&M.status}return V})},x=e.ref([]),F=e.ref(!1),P=e.ref(!1);async function R(){B.value=!0,l.value=await te(J.Details,d.className,{svrStore:o,bpmStore:r},{workflowId:d.workflowId});const f=await Be(J.Details,d.className,{workflowId:d.workflowId,email:j()}),p=await xe(d.className,d.workflowId);C.value=await ct(),N.value=await Ne(d.workflowId),h.value=await pe(d.workflowId),l.value.actions=l.value.actions?.filter(g=>{const E=f.find(V=>V.button===g.title);return E?E.isShow:!0}),F.value=f.find(g=>g.button==="IsGlobal")?.isShow??!1,P.value=f.find(g=>g.button==="AssginButton")?.isShow??!1,i.value=w(l.value.fields);for(const g in l.value.fields)if(l.value.fields[g].widget?.widget==="File"){const E=i.value.find(V=>V.fieldKey===g);E&&E.widget&&(E.widget.files=p[g]??[])}const y=await lt(d.className,d.workflowId);x.value=k(y,0),B.value=!1}e.onMounted(R);async function H(f,p){return n[f]?.(p)}function j(){return o()?.userInfo?.email_address??""}async function W(f,p,y,g,E){try{switch(p){case D.Submit:f.loading=!0;const{reason:V,ifGlobal:O}=await H(E,{isGlobal:F.value}),K=E==="Approve"?"100":"-1";await at(d.className,d.workflowId,j(),V,[Number(d.workflowId)],y,K,O),f.loading=!1;const z=E==="Approve"?"approve success!":"approve reject!";s?.appContext.config.globalProperties.$notification.success(z),R();break;case D.Link:g==="List"&&a.push({name:"List",params:{className:d.className}});break;default:console.warn("Unknown action type:",p)}}catch{}}const _=e.ref(""),N=e.ref([]),u=e.ref(""),C=e.ref([]),h=e.ref([]);async function $(){if(!u.value){s?.appContext.config.globalProperties.$message.error("Please select an approver");return}await T("Confirm Assign Approver","Do you want to assign the selected approver?"),await dt(d.workflowId,u.value),h.value=await pe(d.workflowId),s?.appContext.config.globalProperties.$notification.success("Assign Approver clicked!")}async function T(f,p){const{Modal:y}=await import("@arco-design/web-vue");return new Promise((g,E)=>{y.confirm({title:f,content:p,okText:"OK",cancelText:"Cancel",onOk:()=>g(!0),onCancel:()=>E()})})}async function G(f){try{await T("Confirm Delete Associator","Do you want to delete this associator?")}catch{return}try{await mt(String(f)),h.value=await pe(d.workflowId),s?.appContext.config.globalProperties.$notification.success("Associator deleted successfully!")}catch{s?.appContext.config.globalProperties.$notification.error("Failed to delete associator")}}async function ke(){if(!_.value.trim()){s?.appContext.config.globalProperties.$message.error("Comment cannot be empty");return}await pt(d.workflowId,j(),_.value),_.value="",N.value=await Ne(d.workflowId),s?.appContext.config.globalProperties.$notification.success("Add Comment clicked!")}return(f,p)=>{const y=e.resolveComponent("a-link"),g=e.resolveComponent("a-space"),E=e.resolveComponent("a-card"),V=e.resolveComponent("a-option"),O=e.resolveComponent("a-select"),K=e.resolveComponent("a-button"),z=e.resolveComponent("a-list-item"),M=e.resolveComponent("a-list"),I=e.resolveComponent("a-textarea"),Y=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",io,[e.createVNode(re,{title:l.value.banner.title,subTitle:l.value.banner.subTitle,email:j()},null,8,["title","subTitle","email"]),e.createElementVNode("div",co,[e.createVNode(Y,{loading:B.value,class:"detail-container"},{default:e.withCtx(()=>[e.createElementVNode("div",po,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).Steps),{steps:x.value},null,8,["steps"])),e.createElementVNode("div",mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,S=>(e.openBlock(),e.createBlock(E,{key:S.name,title:S.name,style:{"margin-bottom":"24px"}},{default:e.withCtx(()=>[e.createElementVNode("div",fo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.fields,q=>(e.openBlock(),e.createElementBlock("div",{key:q.fieldKey,class:"detail-field-wrapper"},[e.createElementVNode("div",uo,[e.createElementVNode("div",go,e.toDisplayString(q.widget?.title),1),q.widget?.widget==="File"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(q.widget.files,we=>(e.openBlock(),e.createElementBlock("div",{class:"field-value",key:we.id},[e.createVNode(g,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(we.name)+" ",1),e.createVNode(y,{href:we.url,target:"_blank"},{default:e.withCtx(()=>[e.createVNode(e.unref(so),{style:{color:"#7A00E6"}})]),_:2},1032,["href"])]),_:2},1024)]))),128)):(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString(q.fieldValue),1))])]))),128))])]),_:2},1032,["title"]))),128)),P.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(()=>[e.createVNode(O,{modelValue:u.value,"onUpdate:modelValue":p[0]||(p[0]=S=>u.value=S)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,S=>(e.openBlock(),e.createBlock(V,{key:S.value,value:S.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(K,{type:"primary",onClick:$},{default:e.withCtx(()=>p[2]||(p[2]=[e.createTextVNode("Assign Approver",-1)])),_:1,__:[2]})]),_:1})),h.value.length?(e.openBlock(),e.createBlock(M,{key:1},{header:e.withCtx(()=>p[3]||(p[3]=[e.createTextVNode(" Associators ",-1)])),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,S=>(e.openBlock(),e.createBlock(z,{key:S.id},{actions:e.withCtx(()=>[e.createVNode(K,{type:"text",status:"danger",onClick:q=>G(S.id)},{default:e.withCtx(()=>p[4]||(p[4]=[e.createTextVNode(" Delete ",-1)])),_:2,__:[4]},1032,["onClick"])]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(S.associator),1)]),_:2},1024))),128))]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ko,[e.createElementVNode("div",wo,[p[6]||(p[6]=e.createElementVNode("div",{class:"field-label"},"Comment",-1)),e.createVNode(I,{modelValue:_.value,"onUpdate:modelValue":p[1]||(p[1]=S=>_.value=S)},null,8,["modelValue"]),e.createVNode(K,{type:"primary",onClick:ke},{default:e.withCtx(()=>p[5]||(p[5]=[e.createTextVNode("Add Comment",-1)])),_:1,__:[5]})])]),N.value.length?(e.openBlock(),e.createBlock(M,{key:2},{header:e.withCtx(()=>p[7]||(p[7]=[e.createTextVNode(" Comments History ",-1)])),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,S=>(e.openBlock(),e.createBlock(z,{key:S.associator},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.associator)+": "+e.toDisplayString(S.comments)+" ("+e.toDisplayString(e.unref(ee)(S.createdAt))+") ",1)]),_:2},1024))),128))]),_:1})):e.createCommentVNode("",!0)]),f.$slots.content?(e.openBlock(),e.createElementBlock("div",yo,[e.renderSlot(f.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",ho,[e.createElementVNode("div",bo,[e.renderSlot(f.$slots,"action",{},void 0,!0),e.createElementVNode("div",Co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,S=>(e.openBlock(),e.createBlock(v,{key:S.Title,loading:S.loading,config:S,class:"action-button",onClick:(...q)=>W(S,...q)},null,8,["loading","config","onClick"]))),128))])])])])}}}),[["__scopeId","data-v-69dd7807"]]),Vo={class:"list-container"},Bo={class:"query-title"},xo={class:"field-wrapper"},De=Q(e.defineComponent({name:"ListView",__name:"ListView",props:{className:{}},setup(t){const o=ae(),r=ne(),n=oe(),a=t,c=e.ref(),s=e.reactive({current:1,total:0,pageSize:10,defaultPageSize:10,showTotal:!0,showPageSize:!0,filters:[]});function d(){const f=Object.entries(u.value).filter(([,{value:p}])=>p&&p!=="").map(([p,{value:y,operator:g}])=>({key:p,value:y,operator:g}));return console.log("🚀 ~ createListParams ~ searchFilters:",u.value),{pageNumber:s.current,pageSize:s.pageSize,filters:[...s.filters,...f],sorts:[{key:"status",type:0}]}}const l=e.computed(()=>({x:m.value.length*150+250})),i=f=>{const p=Object.entries(f).filter(([,y])=>y.widget?.column).map(([y,g],E)=>({title:g.widget.title,dataIndex:y.charAt(0).toLowerCase()+y.slice(1),order:g.order,ellipsis:!0,tooltip:!0,width:150,minWidth:100,resizable:!0})).sort((y,g)=>y.order-g.order);p.push({title:"Actions",slotName:"optional",align:"center",width:250,minWidth:200,fixed:"right",resizable:!1}),m.value=p},w=e.ref([]),m=e.ref([]),b=e.ref(!0),B=e.ref(!0),k=e.ref(),x=async()=>{B.value=!0;const f=await Xe(a.className,d());w.value=f.data,s.total=f.totalCount,B.value=!1},F=e.ref(!1);e.onMounted(async()=>{b.value=!0,c.value=await te(3,a.className,{svrStore:o,bpmStore:r}),i(c.value.fields),h(c.value.fields),$(),N(c.value?.tabs?.[0]?.key||""),k.value=c.value.actions,b.value=!1,F.value=!0}),e.onActivated(()=>{F.value&&x()});const P=f=>{s.current=f,x()},R=f=>{s.pageSize=f,x()};function H(f,p,y,g,E){switch(f){case D.Link:n.push({name:y,params:{workflowId:E}});break;default:console.warn("Unknown action type:",f)}}function j(f,p,y){switch(f){case D.Link:n.push({name:y});break;default:console.warn("Unknown action type:",f)}}function W(){return o()?.userInfo?.email_address??""}function _(f,p){return f.replace(/{currentUserEmail}/g,p)}function N(f){const p=c.value?.tabs?.find(y=>y.key===f)?.filters;s.filters=p?.map(y=>({...y,value:_(y.value,W())}))||[],x()}const u=e.ref({}),C=e.ref([]);function h(f){if(!f)return[];C.value=Object.entries(f).filter(([,p])=>p.isFiltered).map(([p,y])=>({fieldKey:p,fieldConfig:y}))}const $=()=>{const f={};C.value.forEach(({fieldKey:p,fieldConfig:y})=>{f[p]={},f[p].value=y.modelValue,f[p].operator=y.operator}),u.value=f},T=()=>{s.current=1,x()},G=()=>{c.value&&$(),T()};function ke(f,p){return!(f.location!=="InTable"||f.title==="Update"&&(p.status===100||p.status===-1))}return(f,p)=>{const y=e.resolveComponent("a-col"),g=e.resolveComponent("a-button"),E=e.resolveComponent("a-space"),V=e.resolveComponent("a-row"),O=e.resolveComponent("a-card"),K=e.resolveComponent("a-tab-pane"),z=e.resolveComponent("a-tabs"),M=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",Vo,[e.createVNode(re,{title:c.value?.banner.title??"",subTitle:c.value?.banner.subTitle??"",email:W()},null,8,["title","subTitle","email"]),e.createVNode(O,null,{default:e.withCtx(()=>[e.createElementVNode("div",Bo,[p[0]||(p[0]=e.createElementVNode("h3",null,"Search Conditions",-1)),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.title},[I.location==="InOperation"?(e.openBlock(),e.createBlock(v,{key:0,config:I,onClick:j},null,8,["config"])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(V,{gutter:[24,20],class:"search-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,I=>(e.openBlock(),e.createBlock(y,{key:I.fieldKey,span:6,class:"search-col"},{default:e.withCtx(()=>[e.createVNode(me,{name:I.fieldKey,config:I.fieldConfig,modelValue:u.value[I.fieldKey].value,"onUpdate:modelValue":Y=>u.value[I.fieldKey].value=Y,class:"form-field"},null,8,["name","config","modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),e.createVNode(y,{span:6,class:"search-col"},{default:e.withCtx(()=>[e.createElementVNode("div",xo,[e.createVNode(E,{size:"medium"},{default:e.withCtx(()=>[e.createVNode(g,{type:"primary",size:"medium",onClick:T},{default:e.withCtx(()=>p[1]||(p[1]=[e.createTextVNode(" Search ",-1)])),_:1,__:[1]}),e.createVNode(g,{size:"medium",onClick:G},{default:e.withCtx(()=>p[2]||(p[2]=[e.createTextVNode(" Reset ",-1)])),_:1,__:[2]})]),_:1})])]),_:1})]),_:1})]),_:1}),e.createVNode(z,{size:"large",onTabClick:N},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value?.tabs,I=>(e.openBlock(),e.createBlock(K,{key:I.key,title:I.title},null,8,["title"]))),128))]),_:1}),e.createVNode(M,{columns:m.value,data:w.value,stripe:"",border:"",pagination:{current:s.current,total:s.total,pageSize:s.pageSize,showTotal:s.showTotal,showPageSize:s.showPageSize,showJumper:!0,pageSizeOptions:[10,20,50,100]},loading:B.value,size:"medium",scroll:l.value,onPageChange:P,onPageSizeChange:R},{optional:e.withCtx(({record:I})=>[e.createVNode(E,{size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,Y=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:Y.title},[ke(Y,I)?(e.openBlock(),e.createBlock(v,{key:0,config:Y,size:"small",onClick:(...S)=>H(...S,I.workflowId)},null,8,["config","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1024)]),_:1},8,["columns","data","pagination","loading","scroll"])])}}}),[["__scopeId","data-v-02400871"]]),No={install(t,o={}){o.config&&Oe(o.config),o.router&&t.provide(fe,o.router),o.pinia&&t.provide(Ie,o.pinia),o.useBpmStore&&t.provide(Te,o.useBpmStore),o.useSvrStore&&t.provide(Ae,o.useSvrStore),o.triggers&&t.provide(Ee,o.triggers),o.customComps&&t.provide(Fe,o.customComps),t.component("CreateView",Ue),t.component("UpdateView",Le),t.component("DetailView",Me),t.component("ListView",De)}};A.CreateView=Ue,A.DetailView=Me,A.ListView=De,A.PiniaKey=Ie,A.RouterKey=fe,A.UpdateView=Le,A.default=No,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(A,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("pinia"),require("@arco-design/web-vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","axios","pinia","@arco-design/web-vue","vue-router"],e):(A=typeof globalThis<"u"?globalThis:A||self,e(A.MyComponentLibrary={},A.Vue,A.axios,A.Pinia,A.ArcoVue,A.VueRouter))})(this,function(A,e,Re,He,je,Ke){"use strict";const ze=He.defineStore("main",()=>({token:e.ref(void 0)})),Ge=async t=>new Promise(o=>setTimeout(o,t)),Oe=async(t,o,r,n=void 0)=>{if(t[o]===void 0)try{t[o]=null,t[o]=await r()||n}catch(a){console.error(a),t[o]=void 0}for(;t[o]===null;)await Ge(100);return t[o]},Z=t=>{const o=`0${t}`;return o.substring(o.length-2)},ee=(t,o="yyyy-MM-dd hh:mm:ss")=>{if(!t||typeof t=="string"&&t.length===0)return"";try{const r=new Date(t),n=[["yyyy",r.getFullYear()],["yy",r.getFullYear().toString().substring(2)],["MM",Z(r.getMonth()+1)],["M",r.getMonth()+1],["dd",Z(r.getDate())],["d",r.getDate()],["hh",Z(r.getHours())],["h",r.getHours()],["mm",Z(r.getMinutes())],["m",r.getMinutes()],["ss",Z(r.getSeconds())],["s",r.getSeconds()]];for(const[a,c]of n)o=o.replace(a,c);return o}catch{return t.toLocaleString()}};let le={};function We(t){le={...le,...t}}function se(){return le}function he(){const t=se();return{apiBase:t.apiBase||void 0||"",appSecret:t.appSecret||void 0||""}}function be(){const{apiBase:t}=he();return Re.create({baseURL:t,timeout:1e4,withCredentials:!0})}const Ce=async()=>{const{apiBase:t,appSecret:o}=he(),r=be(),n=ze();return await Oe(n,"token",async()=>(await r.get(`${t}/GenerateToken`,{params:{appid:"bpm",appsecret:o}}))?.data?.token)},U=async()=>{const t=await Ce(),o=be();return o.defaults.headers.common.Authorization=`Bearer ${t}`,o},ie={CurrentUserEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",CurrentUserPositionCode:t=>t.bpmStore()?.positionCode??888,CurrentDatetime:()=>new Date().toISOString(),ApproverEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",ApproverPositionCode:t=>t.bpmStore()?.positionCode??999,RejectReason:()=>"Test Reject Reason"},L=[];for(let t=0;t<256;++t)L.push((t+256).toString(16).slice(1));function qe(t,o=0){return(L[t[o+0]]+L[t[o+1]]+L[t[o+2]]+L[t[o+3]]+"-"+L[t[o+4]]+L[t[o+5]]+"-"+L[t[o+6]]+L[t[o+7]]+"-"+L[t[o+8]]+L[t[o+9]]+"-"+L[t[o+10]]+L[t[o+11]]+L[t[o+12]]+L[t[o+13]]+L[t[o+14]]+L[t[o+15]]).toLowerCase()}let ce;const Ye=new Uint8Array(16);function Je(){if(!ce){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");ce=crypto.getRandomValues.bind(crypto)}return ce(Ye)}const Ve={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Be(t,o,r){if(Ve.randomUUID&&!t)return Ve.randomUUID();t=t||{};const n=t.random??t.rng?.()??Je();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,qe(n)}var D=(t=>(t[t.Submit=0]="Submit",t[t.Link=1]="Link",t))(D||{}),J=(t=>(t[t.Create=0]="Create",t[t.Update=1]="Update",t[t.Details=2]="Details",t[t.List=3]="List",t))(J||{});function Xe(t,o,r){const n={pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}};return t.__ClassAttributes?.forEach(a=>{if(a.attributeType==="UIPageType")n.pageType=a.Type;else if(a.attributeType==="UIValidationControl")n.globalValidations.push({rule:a.ruleName,errorMessage:a.errorMessage,param:a.ruleParameter,appliesTo:a.propertyNames||["*"]});else if(a.attributeType==="UIControl"){if(a.widget==="Tab"){n.tabs||(n.tabs=[]),n.tabs.push({key:Be(),title:a.title,filters:a.filters?JSON.parse(a.filters):[],order:a.order});return}n.actions||(n.actions=[]),n.actions.push({isSubmit:a.isSubmit,requestUrl:a.requestUrl,redirectUrl:a.redirectUrl,redirectType:a.redirectType,title:a.title,widget:a.widget==="Link"?D.Link:D.Submit,location:a.location,attributeType:a.attributeType,readonly:a.readonly,loading:!1})}else a.attributeType==="Banner"&&(n.banner.title=a.title,n.banner.subTitle=o===0?a.subTitle:de(a.subTitle,t.workflowId.propertyValue))}),n.tabs&&(n.tabs=n.tabs.sort((a,c)=>a.order-c.order)),Object.entries(t).forEach(([a,c])=>{if(a==="__ClassAttributes"||a==="className"||a==="id"||a==="deleteFlag"||a==="status"||a==="workFlowReason"||o!==3&&a==="workflowId")return;const s={validations:[],triggers:[],isFiltered:!1,dependent:"",operator:""},{attributes:d,propertyValue:l}=c;switch(l){case null:s.modelValue="";break;case void 0:s.modelValue="";break;default:s.modelValue=l;break}a==="onBehalf"&&o===0&&(s.modelValue=ie.CurrentUserEmail(r)),d?.forEach(i=>{i.order||i.Order?s.order=i.order??i.Order:i.attributeType==="UIControl"?s.widget={...i,column:!0}:i.attributeType==="UIValidationControl"&&o!==3?s.widget?.widget!=="CheckBox"&&s.validations.push(i):i.attributeType==="UIListed"?s.widget={...i,column:!0}:i.attributeType==="UIFiltered"?(s.isFiltered=!0,s.operator=i.operatorType):i.dependentType?s.dependent=ie[i.dependentType]?ie[i.dependentType](r):"":i.eventType==="Change"&&s.triggers?.push({event:"change",handlerName:i.eventName})}),n.fields[a]=s}),n}const te=async(t,o,r,n)=>{const c=await(await U()).get(`/General/${o}/${t}/page`,{params:n});return Xe(c?.data,t,r)},xe=async(t,o,r)=>(await(await U()).post(`/${o}/${t}/button/List`,null,{params:r}))?.data;async function Qe(t,o){const n=await(await U()).post(`/General/${t}/list`,o);return{data:n.data.data,totalCount:n.data.totalCount}}async function Ze(t,o,r){const a=await(await U()).post(r,o,{params:{className:t}});return a.data.length>0?a.data[0]:0}async function ve(t,o,r,n){const a=await U(),c=de(n,o);return(await a.put(c,r))?.data}function de(t,o){return t.replace(/{WorkflowId}/g,o)}function et(t,o){return t.replace(/{ApproverEmail}/g,encodeURIComponent(o))}function tt(t,o){return t.replace(/{WorkFlowReason}/g,encodeURIComponent(o))}function ot(t,o){return t.replace(/{Status}/g,o)}function nt(t,o){return t.replace(/{IfTriggerGlobal_RandP_Approval}/g,o)}function at(t,o){return t.replace(/{ClassName}/g,encodeURIComponent(o))}async function rt(t,o,r,n,a,c,s,d){const l=await U();let i=de(c,o);return i=et(i,r),i=tt(i,n),i=ot(i,s),i=nt(i,d),i=at(i,t),(await l.put(i,a))?.data}async function lt(t,o){const a=(await(await U()).get(t,{params:{value:o}}))?.data;return Object.entries(a).map(([c,s])=>({value:c,label:s}))}async function st(t,o){return(await(await U()).get(`/General/${t}/${o}/process`))?.data}function it(t){return{uid:t.id??Be(),name:t.attachmentName??"unknown",url:t.attachmentKey??""}}async function Ne(t,o){return(await(await U()).get(`/General/${t}/${o}/upload/get`))?.data.reduce((c,s)=>{const{category:d}=s;return c[d]||(c[d]=[]),c[d].push(it(s)),c},{})}async function ct(t,o){return(await U()).post(`/General/${t}/${o}/delete/attachment`)}async function dt(){const o=await(await U()).get("/Grading/dropdown/approvers");return Object.entries(o?.data).map(([r,n])=>({label:r,value:n}))}async function pt(t,o){return await(await U()).post(`Grading/AssignComments/${t}/${encodeURIComponent(o)}`)}async function mt(t,o,r){return await(await U()).post(`Grading/AddComments/${t}/${encodeURIComponent(o)}`,r,{headers:{"Content-Type":"application/json;charset=UTF-8"}})}async function Se(t){return(await(await U()).get(`Grading/GetComments/${t}`))?.data}async function pe(t){return(await(await U()).post(`Grading/GetAssociator/${t}`))?.data}async function ft(t){return await(await U()).post(`Grading/DeleteAssociator/${t}`)}const X=(t,o)=>{let r="";return{res:t.every(a=>{const c=ut(a,o);return c||(r=a.errorMessage),c}),errorMessages:r}},ut=(t,o)=>{const{ruleName:r,ruleParameter:n}=t;return gt[r](n,o)},gt={Regex:(t,o)=>new RegExp(t).test(o),Required:(t,o)=>!!o},$e=e.defineComponent({__name:"InputText",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=i=>X(n.validations,i),d=i=>{a("input",i)},l=i=>{const _=s(i);a("error",_.res?"":_.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(p=>{p.event==="change"&&a(p.event,p.handlerName,i)})};return o({validate(){const i=s(n.modelValue);return a("error",i.res?"":i.errorMessages),i.res}}),(i,_)=>{const p=e.resolveComponent("AInput");return e.openBlock(),e.createBlock(p,{modelValue:c.value,"onUpdate:modelValue":_[0]||(_[0]=h=>c.value=h),"allow-clear":"",disabled:n.readonly||n.config.Readonly,onInput:d,onChange:l},null,8,["modelValue","disabled"])}}}),kt=e.defineComponent({__name:"InputNumber",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=e.ref(100),d=e.ref(0);e.onMounted(()=>{n.validations&&n.validations.forEach(p=>{p.ruleName==="Max"&&(s.value=p.ruleParameter),p.ruleName==="Min"&&(d.value=p.ruleParameter)})});const l=p=>X(n.validations,p),i=p=>{a("input",p)},_=p=>{const h=l(p);a("error",h.res?"":h.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(B=>{B.event==="change"&&a(B.event,B.handlerName,p)})};return o({validate(){const p=l(n.modelValue);return a("error",p.res?"":p.errorMessages),p.res}}),(p,h)=>{const B=e.resolveComponent("AInputNumber");return e.openBlock(),e.createBlock(B,{modelValue:c.value,"onUpdate:modelValue":h[0]||(h[0]=k=>c.value=k),clearable:"",disabled:n.readonly,min:d.value,max:s.value,onInput:i,onChange:_},null,8,["modelValue","disabled","min","max"])}}}),Ee=e.defineComponent({__name:"SelectList",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.ref(!1),s=e.ref(n.config.options??[]),d=e.useModel(t,"modelValue"),l=p=>X(n.validations,p);e.computed(()=>{const p={};return n.triggers&&n.triggers.length>0&&n.triggers.forEach(h=>{p[h.event]=B=>{a(h.event,h.handlerName,B);const k=l(B);a("error",k.res?"":k.errorMessages)}}),p});const i=async()=>{n.config.dataSourceProvider&&(s.value=await lt(n.config.dataSourceProvider))};e.onMounted(i);const _=p=>{a("update:modelValue",p);const h=l(p);a("error",h.res?"":h.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(B=>{B.event==="change"&&a(B.event,B.handlerName,p)})};return o({validate(){const p=l(n.modelValue);return a("error",p.res?"":p.errorMessages),p.res}}),(p,h)=>{const B=e.resolveComponent("AOption"),k=e.resolveComponent("ASelect");return e.openBlock(),e.createBlock(k,{"allow-clear":"",modelValue:d.value,"onUpdate:modelValue":h[0]||(h[0]=x=>d.value=x),loading:c.value,"filter-option":!0,"allow-search":!0,onChange:_},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,x=>(e.openBlock(),e.createBlock(B,{key:x.value,value:x.value,label:x.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","loading"])}}}),_t=e.defineComponent({__name:"Cascader",props:{modelValue:{},config:{}},emits:["update:modelValue","change"],setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.ref(n.config.options??[]),s=l=>{a("update:modelValue",l),a("change",l)};e.onMounted(async()=>{if(n.config){const l=n.config.dataSourceProvider;if(l){const _=await(await U()).get(l);c.value=_.data}}});const d={value:"key",label:"value"};return o({validate(){return!0}}),(l,i)=>{const _=e.resolveComponent("ACascader"),p=e.resolveComponent("ASpace");return e.openBlock(),e.createBlock(p,{direction:"vertical",size:"large"},{default:e.withCtx(()=>[e.createVNode(_,{"field-names":d,"model-value":l.modelValue,options:c.value,style:{width:"320px"},placeholder:"Please select ...",onChange:s},null,8,["model-value","options"])]),_:1})}}}),wt=e.defineComponent({__name:"FileUpload",props:{className:{},fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.ref({});e.onMounted(async()=>{const k=await Ce();c.value={Authorization:`Bearer ${k}`}});const s=k=>X(n.validations,k),l=se().apiBase,i=e.ref(null),_=e.ref("");function p(k,x,M){return k.replace(/{WorkflowId}/g,x).replace(/{ClassName}/g,M)}const h=e.computed(()=>{if(n.config.uploadURL){const k=l+n.config.uploadURL;return p(k,_.value,n.className)}return""});function B(k){const{file:x,name:M}=k,P=M??x.name;return new Promise((H,R)=>{je.Modal.confirm({title:"Confirm Delete",content:`Are you sure you want to delete ${P}?`,async onOk(){if(k.status!=="init"&&n.config.removeFile)return await n.config.removeFile(k.uid),H(!0);H(!0)},onCancel:()=>R("cancel")})})}return o({submit(k){i.value&&(n.config.uploadURL&&(_.value=k),e.nextTick(()=>{i.value.submit()}))},validate(){const k=s(n.modelValue);return a("error",k.res?"":k.errorMessages),k.res}}),(k,x)=>{const M=e.resolveComponent("a-button"),P=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(P,{ref_key:"uploadRef",ref:i,"default-file-list":n.config.files,action:h.value,limit:n.config.allowedNumber,"auto-upload":!1,name:"files",headers:c.value,onBeforeRemove:B},{"start-icon":e.withCtx(()=>x[0]||(x[0]=[])),"upload-button":e.withCtx(()=>[e.createVNode(M,{type:"primary"},{default:e.withCtx(()=>x[1]||(x[1]=[e.createTextVNode("Select File",-1)])),_:1,__:[1]})]),_:1},8,["default-file-list","action","limit","headers"])}}}),yt=e.defineComponent({__name:"TextArea",props:{fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:o,emit:r}){const n=t,a=r,c=l=>X(n.validations,l),s=l=>{a("update:modelValue",l),a("input",l)},d=l=>{a("update:modelValue",l);const i=c(l);a("error",i.res?"":i.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(_=>{_.event==="change"&&a(_.event,_.handlerName,l)})};return o({validate(){const l=c(n.modelValue);return a("error",l.res?"":l.errorMessages),l.res}}),(l,i)=>{const _=e.resolveComponent("ATextarea");return e.openBlock(),e.createBlock(_,{"model-value":n.modelValue,placeholder:"Please enter something","allow-clear":"",disabled:n.readonly,onInput:s,onChange:d},null,8,["model-value","disabled"])}}}),ht=e.defineComponent({__name:"CheckBox",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=l=>X(n.validations,l),d=l=>{const i=s(l);a("error",i.res?"":i.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(_=>{_.event==="change"&&a(_.event,_.handlerName,l)})};return o({validate(){const l=s(n.modelValue);return a("error",l.res?"":l.errorMessages),l.res}}),(l,i)=>{const _=e.resolveComponent("ACheckbox");return e.openBlock(),e.createBlock(_,{modelValue:c.value,"onUpdate:modelValue":i[0]||(i[0]=p=>c.value=p),clearable:"",disabled:n.readonly||n.config.Readonly,onChange:d},{default:e.withCtx(()=>i[1]||(i[1]=[e.createTextVNode("Yes",-1)])),_:1,__:[1]},8,["modelValue","disabled"])}}}),bt={class:"title"},Ct={key:0,class:"required"},Vt={key:0,class:"err-msg"},Bt=e.defineComponent({__name:"index",props:e.mergeModels({config:{},className:{},fieldKey:{},modelValue:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error"],["update:modelValue"]),setup(t,{expose:o,emit:r}){const n=t,a=r,c=e.useModel(t,"modelValue"),s=e.useTemplateRef("widgetRef"),d=e.computed(()=>{switch(n.config?.widget?.widget){case"TextBox":return $e;case"Number":return kt;case"SelectList":return Ee;case"Cascade":return _t;case"File":return wt;case"TextArea":return yt;case"DropDown":return Ee;case"CheckBox":return ht;default:return $e}}),l=e.ref(""),i=h=>{l.value=h},_=(h,B)=>{a("change",h,B)};function p(){return n.config?.widget?.widget==="File"}return o({isFileUpload(){return n.config?.widget?.widget==="File"},submit(h){p()&&s.value.submit(h)},validate(){return s.value?.validate()},getCompName(){return n?.config?.widget?.title}}),(h,B)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",bt,[e.createTextVNode(e.toDisplayString(n?.config?.widget?.title)+" ",1),n.config.validations.length?(e.openBlock(),e.createElementBlock("span",Ct,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.value),{ref_key:"widgetRef",ref:s,modelValue:c.value,"onUpdate:modelValue":B[0]||(B[0]=k=>c.value=k),"field-key":n.fieldKey,config:n.config.widget,validations:n.config.validations,triggers:n.config.triggers,"class-name":n.className,onError:i,onChange:_},null,40,["modelValue","field-key","config","validations","triggers","class-name"])),l.value.length>0?(e.openBlock(),e.createElementBlock("div",Vt,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)])]))}}),Q=(t,o)=>{const r=t.__vccOpts||t;for(const[n,a]of o)r[n]=a;return r},me=Q(Bt,[["__scopeId","data-v-1022c8cb"]]),xt=e.defineComponent({__name:"SubmitButton",props:{url:{},redirectType:{},loading:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const r=t,n=o;function a(){n("click",r.url,r.redirectType)}return(c,s)=>{const d=e.resolveComponent("AButton");return e.openBlock(),e.createBlock(d,{loading:c.loading,type:"primary",onClick:a},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["loading"])}}}),Nt=e.defineComponent({__name:"DetailLink",props:{url:{},redirectType:{},loading:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const r=t,n=o;function a(){n("click",r.url,r.redirectType)}return(c,s)=>{const d=e.resolveComponent("ALink");return e.openBlock(),e.createBlock(d,{onClick:a},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})}}}),v=e.defineComponent({__name:"index",props:{config:{},loading:{type:Boolean}},emits:["click"],setup(t,{emit:o}){const r=t,n=o;function a(l,i){n("click",r.config.widget,l,i,r.config.title)}const c=e.computed(()=>{switch(r.config.location){case"InOperation":return xt;case"InTable":default:return Nt}}),s=e.computed(()=>r.config.widget===D.Submit?r.config.requestUrl??"":r.config.widget===D.Link?r.config.redirectUrl??"":""),d=e.computed(()=>r.config.redirectType??"Details");return(l,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),{url:s.value,"redirect-type":d.value,loading:l.loading,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.config.title),1)]),_:1},8,["url","redirect-type","loading"]))}}),fe=Symbol("library-router");function oe(){const t=e.inject(fe,null);return t||Ke.useRouter()}const Te=Symbol("library-triggers");function ue(){const t=e.inject(Te,null);return t||{}}const Ie=Symbol("library-pinia"),Ae=Symbol("library-bpmStore"),Ue=Symbol("library-svrStore");function ne(){return e.inject(Ae,null)}function ae(){return e.inject(Ue,null)}const St={class:"top-bar"},$t={class:"banner-info"},Et={class:"page-title"},Tt={class:"page-subtitle"},It={class:"avatar-wrapper"},At={class:"user-email"},re=Q(e.defineComponent({__name:"TopBar",props:{title:{},subTitle:{},email:{}},setup(t){return(o,r)=>{const n=e.resolveComponent("a-avatar"),a=e.resolveComponent("a-popover");return e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("div",$t,[e.createElementVNode("div",Et,e.toDisplayString(o.title),1),e.createElementVNode("div",Tt,e.toDisplayString(o.subTitle),1)]),e.createElementVNode("div",It,[e.createVNode(a,{trigger:"click"},{content:e.withCtx(()=>[e.createElementVNode("div",At,e.toDisplayString(o.email),1)]),default:e.withCtx(()=>[e.createVNode(n,{size:48,autoFixFontSize:"",style:{cursor:"pointer",background:"#165DFF",color:"#fff"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.email.charAt(0).toUpperCase()),1)]),_:1})]),_:1})])])}}}),[["__scopeId","data-v-c0457235"]]);function ge(t){const o=se(),r=[];if(o.fieldsGroup){o.fieldsGroup.forEach(c=>{const s=c.keys.map(d=>t.find(l=>l.fieldKey===d)).filter(Boolean);s.length&&r.push({name:c.name,fields:s})});const n=o.fieldsGroup.flatMap(c=>c.keys),a=t.filter(c=>!n.includes(c.fieldKey));return a.length&&r.push({name:"未分组字段",fields:a}),r}}const Ut={class:"page-container"},Lt={class:"page-body"},Ft={class:"form-card"},Mt={class:"form-fields-vertical"},Dt={class:"form-fields"},Pt={key:0,class:"form-content"},Rt={class:"page-footer"},Ht={class:"action-container"},jt={class:"action-buttons"},Le=Q(e.defineComponent({__name:"CreateView",props:{className:{}},setup(t){const o=ne(),r=ae(),n=oe(),a=ue(),c=e.useTemplateRef("dataWidgets"),s=e.getCurrentInstance(),d=t,l=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),i=e.ref([]),_=e.ref({});function p(w){return w?Object.entries(w).map(([u,y])=>({fieldKey:u,...y})).filter(u=>u.widget&&u.widget.widget!=="Hidden").filter(u=>!R.value.includes(u.fieldKey)):[]}function h(w){return w?Object.entries(w).filter(([u,y])=>y.dependent).reduce((u,[y,C])=>(u[y]=C.dependent,u),{}):[]}const B=e.computed(()=>l.value?.actions?[...l.value.actions].reverse():[]),k=e.reactive({}),x=e.ref(!1);e.onMounted(async()=>{x.value=!0,l.value=await te(J.Create,d.className,{svrStore:r,bpmStore:o}),i.value=p(l.value.fields),_.value=h(l.value.fields);for(const w in l.value.fields){if(l.value.fields[w].widget?.widget==="File"){const N=i.value.find(u=>u.fieldKey===w);N&&N.widget&&(N.widget.files=[])}k[w]=l.value.fields[w].modelValue}x.value=!1});function M(){return r()?.userInfo?.email_address??""}async function P(w,N,u,y,C){switch(N){case D.Submit:let S=!0;if(c.value?.forEach(K=>{K?.validate&&(K.validate()||(S=!1))}),!S){s?.appContext.config.globalProperties.$message.error("form validation failed, please check the input fields");return}w.loading=!0;const F=await Ze(d.className,{...k,..._.value},u);w.loading=!1,c.value?.forEach(K=>{K?.submit&&K.submit(F.toString())}),s?.appContext.config.globalProperties.$notification.success("create success!"),n.push({name:"Details",params:{workflowId:F.toString()}});break;case D.Link:y==="List"&&n.push({name:"List",params:{className:d.className}});break;default:console.warn("Unknown action type:",N)}}const H=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","jobAttachmentPrevious","positionId"],R=e.ref(H);function Y(w,N){a[w]?.(N,R),l.value&&(i.value=p(l.value.fields))}const j=e.computed(()=>ge(i.value));return(w,N)=>{const u=e.resolveComponent("a-card"),y=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Ut,[e.createVNode(re,{title:l.value.banner.title,subTitle:l.value.banner.subTitle,email:M()},null,8,["title","subTitle","email"]),e.createElementVNode("div",Lt,[e.createVNode(y,{loading:x.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Ft,[e.createElementVNode("div",Mt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(j.value,C=>(e.openBlock(),e.createBlock(u,{key:C.name,title:C.name,style:{"margin-bottom":"24px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Dt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.fields,S=>(e.openBlock(),e.createBlock(me,{key:S.fieldKey,ref_for:!0,ref:"dataWidgets","field-key":S.fieldKey,config:S,"class-name":w.className,modelValue:k[S.fieldKey],"onUpdate:modelValue":F=>k[S.fieldKey]=F,class:"form-field",onChange:Y},null,8,["field-key","config","class-name","modelValue","onUpdate:modelValue"]))),128))])]),_:2},1032,["title"]))),128))]),w.$slots.content?(e.openBlock(),e.createElementBlock("div",Pt,[e.renderSlot(w.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Rt,[e.createElementVNode("div",Ht,[e.renderSlot(w.$slots,"action",{},void 0,!0),e.createElementVNode("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,C=>(e.openBlock(),e.createBlock(v,{key:C.Title,loading:C.loading,config:C,class:"action-button",onClick:(...S)=>P(C,...S)},null,8,["loading","config","onClick"]))),128))])])])])}}}),[["__scopeId","data-v-ca3b2cdb"]]),Kt={class:"page-container"},zt={class:"page-body"},Gt={class:"form-card"},Ot={class:"form-fields-vertical"},Wt={class:"form-fields"},qt={key:0,class:"form-content"},Yt={class:"page-footer"},Jt={class:"action-container"},Xt={class:"action-buttons"},Fe=Q(e.defineComponent({__name:"UpdateView",props:{className:{},workflowId:{}},setup(t){const o=oe(),r=ue(),n=ae(),a=ne(),c=e.useTemplateRef("dataWidgets"),s=e.getCurrentInstance(),d=t,l=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),i=e.ref([]),_=e.ref({});function p(w){return w?Object.entries(w).map(([u,y])=>({fieldKey:u,...y})).filter(u=>u.widget&&u.widget.widget!=="Hidden").filter(u=>!R.value.includes(u.fieldKey)):[]}function h(w){return w?Object.entries(w).filter(([u,y])=>y.dependent).reduce((u,[y,C])=>(u[y]=C.dependent,u),{}):[]}const B=e.computed(()=>l.value?.actions?[...l.value.actions].reverse():[]),k=e.reactive({}),x=e.ref(!1);e.onMounted(async()=>{x.value=!0,l.value=await te(J.Update,d.className,{svrStore:n,bpmStore:a},{workflowId:d.workflowId});const w=await xe(J.Update,d.className,{workflowId:d.workflowId,email:M()}),N=await Ne(d.className,d.workflowId);l.value.actions=l.value.actions?.filter(u=>{const y=w.find(C=>C.button===u.title);return y?y.isShow:!0}),i.value=p(l.value.fields),_.value=h(l.value.fields);for(const u in l.value.fields){if(l.value.fields[u].widget?.widget==="File"){const y=i.value.find(C=>C.fieldKey===u);y&&y.widget&&(y.widget.files=N[u]??[],y.widget.removeFile=C=>ct(d.className,C))}k[u]=l.value.fields[u].modelValue}x.value=!1});function M(){return n()?.userInfo?.email_address??""}async function P(w,N,u,y,C){switch(N){case D.Submit:let S=!0;if(c.value?.forEach(F=>{F?.validate&&(F.validate()||(S=!1))}),!S){s?.appContext.config.globalProperties.$message.error("form validation failed, please check the input fields");return}w.loading=!0,await ve(d.className,d.workflowId,{...k,..._.value},u),w.loading=!1,c.value?.forEach(F=>{F?.submit&&F.submit(d.workflowId)}),s?.appContext.config.globalProperties.$notification.success("update success!");break;case D.Link:o.push({name:y,params:{className:d.className}});break;default:console.warn("Unknown action type:",N)}}const H=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","jobAttachmentPrevious","positionId"],R=e.ref(H);function Y(w,N){r[w]?.(N,R),l.value&&(i.value=p(l.value.fields))}const j=e.computed(()=>ge(i.value));return(w,N)=>{const u=e.resolveComponent("a-card"),y=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Kt,[e.createVNode(re,{title:l.value.banner.title,subTitle:l.value.banner.subTitle,email:M()},null,8,["title","subTitle","email"]),e.createElementVNode("div",zt,[e.createVNode(y,{loading:x.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Gt,[e.createElementVNode("div",Ot,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(j.value,C=>(e.openBlock(),e.createBlock(u,{key:C.name,title:C.name,style:{"margin-bottom":"24px"}},{default:e.withCtx(()=>[e.createElementVNode("div",Wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.fields,S=>(e.openBlock(),e.createBlock(me,{key:S.fieldKey,ref_for:!0,ref:"dataWidgets","field-key":S.fieldKey,config:S,"class-name":w.className,modelValue:k[S.fieldKey],"onUpdate:modelValue":F=>k[S.fieldKey]=F,class:"form-field",onChange:Y},null,8,["field-key","config","class-name","modelValue","onUpdate:modelValue"]))),128))])]),_:2},1032,["title"]))),128))]),w.$slots.content?(e.openBlock(),e.createElementBlock("div",qt,[e.renderSlot(w.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Yt,[e.createElementVNode("div",Jt,[e.renderSlot(w.$slots,"action",{},void 0,!0),e.createElementVNode("div",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,C=>(e.openBlock(),e.createBlock(v,{key:C.Title,loading:C.loading,config:C,class:"action-button",onClick:(...S)=>P(C,...S)},null,8,["loading","config","onClick"]))),128))])])])])}}}),[["__scopeId","data-v-9e5cdbac"]]),Me=Symbol("library-custom-comp");function Qt(){return e.inject(Me,null)}const Zt=Symbol("ArcoConfigProvider"),vt="arco",eo="$arco",to=t=>{var o,r,n;const a=e.getCurrentInstance(),c=e.inject(Zt,void 0);return`${(n=(r=c?.prefixCls)!=null?r:(o=a?.appContext.config.globalProperties[eo])==null?void 0:o.classPrefix)!=null?n:vt}-${t}`},oo=Object.prototype.toString;function no(t){return oo.call(t)==="[object Number]"&&t===t}var ao=(t,o)=>{for(const[r,n]of o)t[r]=n;return t};const ro=e.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const r=to("icon"),n=e.computed(()=>[r,`${r}-download`,{[`${r}-spin`]:t.spin}]),a=e.computed(()=>{const s={};return t.size&&(s.fontSize=no(t.size)?`${t.size}px`:t.size),t.rotate&&(s.transform=`rotate(${t.rotate}deg)`),s});return{cls:n,innerStyle:a,onClick:s=>{o("click",s)}}}}),lo=["stroke-width","stroke-linecap","stroke-linejoin"];function so(t,o,r,n,a,c){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...s)=>t.onClick&&t.onClick(...s))},o[1]||(o[1]=[e.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1)]),14,lo)}var ke=ao(ro,[["render",so]]);const io=Object.assign(ke,{install:(t,o)=>{var r;const n=(r=o?.iconPrefix)!=null?r:"";t.component(n+ke.name,ke)}}),co={class:"page-container"},po={class:"page-body"},mo={class:"detail-card"},fo={class:"form-fields-vertical"},uo={class:"detail-fields"},go={class:"detail-field"},ko={class:"field-label"},_o={key:1,class:"field-value"},wo={key:2,class:"detail-field-wrapper"},yo={class:"detail-field"},ho={key:0,class:"detail-content"},bo={class:"page-footer"},Co={class:"action-container"},Vo={class:"action-buttons"},De=Q(e.defineComponent({__name:"DetailView",props:{className:{},workflowId:{}},setup(t){const o=ae(),r=ne(),n=ue(),a=oe(),c=Qt(),s=e.getCurrentInstance(),d=t,l=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),i=e.ref([]);function _(m){return m?Object.entries(m).map(([E,g])=>(typeof g.modelValue=="boolean"?g.fieldValue=g.modelValue?"Yes":"No":g.fieldValue=g.modelValue,{fieldKey:E,...g})).filter(E=>E.widget&&E.widget.widget!=="Hidden"):[]}const p=e.computed(()=>ge(i.value)),h=e.computed(()=>l.value?.actions?[...l.value.actions].reverse():[]),B=e.ref(!0),k=(m,f)=>{const E=m.findIndex(g=>g.isCurrent);return m.map((g,I)=>{const V={id:g.id,title:"",proxy:"",sub:"",desc:"",status:1,time:""};V.title=g.workflowProcessApprovers[0]?.name;const W=g.workflowProcessApprovers[g.workflowProcessApprovers.length-1],z=g.workflowHistorys[g.workflowHistorys.length-1],G=z?.workflowHistoryApprovers[z?.workflowHistoryApprovers?.length-1];if(W&&G&&W?.email?.toLowerCase()!==G?.approverEmail?.toLowerCase()&&(V.title=`${G.name}`,V.proxy=`Proxy: ${W.name}`),g.sort>1?V.sub="Approver Role: "+g.nodeName.replace("Submit","").replace("Approve",""):V.sub="Submit Application",g.isCurrent&&f!==-1)V.desc="In Approval",V.status=1;else{const $=g.workflowHistorys[g.workflowHistorys.length-1];if($&&$.status===100)V.time=ee($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),V.status=2,V.desc="approve success!";else if($&&$.status===999)V.time=ee($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),V.status=0,V.desc="approve reject!";else if($)if(V.time=ee($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),g.sort===1)V.status=2,V.desc="";else{const O=$.workflowHistoryApprovers[0];V.status=3,V.desc=O?.reason?`Rejected reason: ${O.reason}`:"Rejected"}else I<E||E===-1?(V.status=0,V.desc="Skipped"):(V.status=0,V.desc="Pending Approval");$&&$.status}return V})},x=e.ref([]),M=e.ref(!1),P=e.ref(!1),H=e.ref(!1);async function R(){B.value=!0,l.value=await te(J.Details,d.className,{svrStore:o,bpmStore:r},{workflowId:d.workflowId});const m=await xe(J.Details,d.className,{workflowId:d.workflowId,email:j()}),f=await Ne(d.className,d.workflowId);C.value=await dt(),u.value=await Se(d.workflowId),S.value=await pe(d.workflowId),l.value.actions=l.value.actions?.filter(g=>{const I=m.find(V=>V.button===g.title);return I?I.isShow:!0}),M.value=m.find(g=>g.button==="IsGlobal")?.isShow??!1,P.value=m.find(g=>g.button==="AssginButton")?.isShow??!1,H.value=m.find(g=>g.button==="CommentsText")?.isShow??!1,i.value=_(l.value.fields);for(const g in l.value.fields)if(l.value.fields[g].widget?.widget==="File"){const I=i.value.find(V=>V.fieldKey===g);I&&I.widget&&(I.widget.files=f[g]??[])}const E=await st(d.className,d.workflowId);x.value=k(E,0),B.value=!1}e.onMounted(R);async function Y(m,f){return n[m]?.(f)}function j(){return o()?.userInfo?.email_address??""}async function w(m,f,E,g,I){try{switch(f){case D.Submit:m.loading=!0;const{reason:V,ifGlobal:W}=await Y(I,{isGlobal:M.value}),z=I==="Approve"?"100":"-1";await rt(d.className,d.workflowId,j(),V,[Number(d.workflowId)],E,z,W),m.loading=!1;const G=I==="Approve"?"approve success!":"approve reject!";s?.appContext.config.globalProperties.$notification.success(G),R();break;case D.Link:g==="List"&&a.push({name:"List",params:{className:d.className}});break;default:console.warn("Unknown action type:",f)}}catch{}}const N=e.ref(""),u=e.ref([]),y=e.ref(""),C=e.ref([]),S=e.ref([]);async function F(){if(!y.value){s?.appContext.config.globalProperties.$message.error("Please select an approver");return}await K("Confirm Assign Approver","Do you want to assign the selected approver?"),await pt(d.workflowId,y.value),S.value=await pe(d.workflowId),s?.appContext.config.globalProperties.$notification.success("Assign Approver clicked!")}async function K(m,f){const{Modal:E}=await import("@arco-design/web-vue");return new Promise((g,I)=>{E.confirm({title:m,content:f,okText:"OK",cancelText:"Cancel",onOk:()=>g(!0),onCancel:()=>I()})})}async function _e(m){try{await K("Confirm Delete Associator","Do you want to delete this associator?")}catch{return}try{await ft(String(m)),S.value=await pe(d.workflowId),s?.appContext.config.globalProperties.$notification.success("Associator deleted successfully!")}catch{s?.appContext.config.globalProperties.$notification.error("Failed to delete associator")}}async function b(){if(!N.value.trim()){s?.appContext.config.globalProperties.$message.error("Comment cannot be empty");return}await mt(d.workflowId,j(),N.value),N.value="",u.value=await Se(d.workflowId),s?.appContext.config.globalProperties.$notification.success("Add Comment clicked!")}return(m,f)=>{const E=e.resolveComponent("a-link"),g=e.resolveComponent("a-space"),I=e.resolveComponent("a-card"),V=e.resolveComponent("a-option"),W=e.resolveComponent("a-select"),z=e.resolveComponent("a-button"),G=e.resolveComponent("a-list-item"),$=e.resolveComponent("a-list"),O=e.resolveComponent("a-textarea"),we=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",co,[e.createVNode(re,{title:l.value.banner.title,subTitle:l.value.banner.subTitle,email:j()},null,8,["title","subTitle","email"]),e.createElementVNode("div",po,[e.createVNode(we,{loading:B.value,class:"detail-container"},{default:e.withCtx(()=>[e.createElementVNode("div",mo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c).Steps),{steps:x.value},null,8,["steps"])),e.createElementVNode("div",fo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,T=>(e.openBlock(),e.createBlock(I,{key:T.name,title:T.name,style:{"margin-bottom":"24px"}},{default:e.withCtx(()=>[e.createElementVNode("div",uo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.fields,q=>(e.openBlock(),e.createElementBlock("div",{key:q.fieldKey,class:"detail-field-wrapper"},[e.createElementVNode("div",go,[e.createElementVNode("div",ko,e.toDisplayString(q.widget?.title),1),q.widget?.widget==="File"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(q.widget.files,ye=>(e.openBlock(),e.createElementBlock("div",{class:"field-value",key:ye.id},[e.createVNode(g,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(ye.name)+" ",1),e.createVNode(E,{href:ye.url,target:"_blank"},{default:e.withCtx(()=>[e.createVNode(e.unref(io),{style:{color:"#7A00E6"}})]),_:2},1032,["href"])]),_:2},1024)]))),128)):(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString(q.fieldValue),1))])]))),128))])]),_:2},1032,["title"]))),128)),P.value?(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(()=>[e.createVNode(W,{modelValue:y.value,"onUpdate:modelValue":f[0]||(f[0]=T=>y.value=T)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,T=>(e.openBlock(),e.createBlock(V,{key:T.value,value:T.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(z,{type:"primary",onClick:F},{default:e.withCtx(()=>f[2]||(f[2]=[e.createTextVNode("Assign Approver",-1)])),_:1,__:[2]})]),_:1})):e.createCommentVNode("",!0),S.value.length?(e.openBlock(),e.createBlock($,{key:1},{header:e.withCtx(()=>f[3]||(f[3]=[e.createTextVNode(" Associators ",-1)])),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,T=>(e.openBlock(),e.createBlock(G,{key:T.id},{actions:e.withCtx(()=>[e.createVNode(z,{type:"text",status:"danger",onClick:q=>_e(T.id)},{default:e.withCtx(()=>f[4]||(f[4]=[e.createTextVNode(" Delete ",-1)])),_:2,__:[4]},1032,["onClick"])]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(T.associator),1)]),_:2},1024))),128))]),_:1})):e.createCommentVNode("",!0),H.value?(e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("div",yo,[f[6]||(f[6]=e.createElementVNode("div",{class:"field-label"},"Comment",-1)),e.createVNode(O,{modelValue:N.value,"onUpdate:modelValue":f[1]||(f[1]=T=>N.value=T)},null,8,["modelValue"]),e.createVNode(z,{type:"primary",onClick:b},{default:e.withCtx(()=>f[5]||(f[5]=[e.createTextVNode("Add Comment",-1)])),_:1,__:[5]})])])):e.createCommentVNode("",!0),u.value.length?(e.openBlock(),e.createBlock($,{key:3},{header:e.withCtx(()=>f[7]||(f[7]=[e.createTextVNode(" Comments History ",-1)])),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,T=>(e.openBlock(),e.createBlock(G,{key:T.associator},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T.associator)+": "+e.toDisplayString(T.comments)+" ("+e.toDisplayString(e.unref(ee)(T.createdAt))+") ",1)]),_:2},1024))),128))]),_:1})):e.createCommentVNode("",!0)]),m.$slots.content?(e.openBlock(),e.createElementBlock("div",ho,[e.renderSlot(m.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",bo,[e.createElementVNode("div",Co,[e.renderSlot(m.$slots,"action",{},void 0,!0),e.createElementVNode("div",Vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,T=>(e.openBlock(),e.createBlock(v,{key:T.Title,loading:T.loading,config:T,class:"action-button",onClick:(...q)=>w(T,...q)},null,8,["loading","config","onClick"]))),128))])])])])}}}),[["__scopeId","data-v-05e892b0"]]),Bo={class:"list-container"},xo={class:"query-title"},No={class:"field-wrapper"},Pe=Q(e.defineComponent({name:"ListView",__name:"ListView",props:{className:{}},setup(t){const o=ae(),r=ne(),n=oe(),a=t,c=e.ref(),s=e.reactive({current:1,total:0,pageSize:10,defaultPageSize:10,showTotal:!0,showPageSize:!0,filters:[]});function d(){const b=Object.entries(u.value).filter(([,{value:m}])=>m&&m!=="").map(([m,{value:f,operator:E}])=>({key:m,value:f,operator:E}));return console.log("🚀 ~ createListParams ~ searchFilters:",u.value),{pageNumber:s.current,pageSize:s.pageSize,filters:[...s.filters,...b],sorts:[{key:"status",type:0}]}}const l=e.computed(()=>({x:p.value.length*150+250})),i=b=>{const m=Object.entries(b).filter(([,f])=>f.widget?.column).map(([f,E],g)=>({title:E.widget.title,dataIndex:f.charAt(0).toLowerCase()+f.slice(1),order:E.order,ellipsis:!0,tooltip:!0,width:150,minWidth:100,resizable:!0})).sort((f,E)=>f.order-E.order);m.push({title:"Actions",slotName:"optional",align:"center",width:250,minWidth:200,fixed:"right",resizable:!1}),p.value=m},_=e.ref([]),p=e.ref([]),h=e.ref(!0),B=e.ref(!0),k=e.ref(),x=async()=>{B.value=!0;const b=await Qe(a.className,d());_.value=b.data,s.total=b.totalCount,B.value=!1},M=e.ref(!1);e.onMounted(async()=>{h.value=!0,c.value=await te(3,a.className,{svrStore:o,bpmStore:r}),i(c.value.fields),C(c.value.fields),S(),N(c.value?.tabs?.[0]?.key||""),k.value=c.value.actions,h.value=!1,M.value=!0}),e.onActivated(()=>{M.value&&x()});const P=b=>{s.current=b,x()},H=b=>{s.pageSize=b,x()};function R(b,m,f,E,g){switch(b){case D.Link:n.push({name:f,params:{workflowId:g}});break;default:console.warn("Unknown action type:",b)}}function Y(b,m,f){switch(b){case D.Link:n.push({name:f});break;default:console.warn("Unknown action type:",b)}}function j(){return o()?.userInfo?.email_address??""}function w(b,m){return b.replace(/{currentUserEmail}/g,m)}function N(b){const m=c.value?.tabs?.find(f=>f.key===b)?.filters;s.filters=m?.map(f=>({...f,value:w(f.value,j())}))||[],x()}const u=e.ref({}),y=e.ref([]);function C(b){if(!b)return[];y.value=Object.entries(b).filter(([,m])=>m.isFiltered).map(([m,f])=>({fieldKey:m,fieldConfig:f}))}const S=()=>{const b={};y.value.forEach(({fieldKey:m,fieldConfig:f})=>{b[m]={},b[m].value=f.modelValue,b[m].operator=f.operator}),u.value=b},F=()=>{s.current=1,x()},K=()=>{c.value&&S(),F()};function _e(b,m){return!(b.location!=="InTable"||b.title==="Update"&&(m.status===100||m.status===-1))}return(b,m)=>{const f=e.resolveComponent("a-col"),E=e.resolveComponent("a-button"),g=e.resolveComponent("a-space"),I=e.resolveComponent("a-row"),V=e.resolveComponent("a-card"),W=e.resolveComponent("a-tab-pane"),z=e.resolveComponent("a-tabs"),G=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",Bo,[e.createVNode(re,{title:c.value?.banner.title??"",subTitle:c.value?.banner.subTitle??"",email:j()},null,8,["title","subTitle","email"]),e.createVNode(V,null,{default:e.withCtx(()=>[e.createElementVNode("div",xo,[m[0]||(m[0]=e.createElementVNode("h3",null,"Search Conditions",-1)),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,$=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:$.title},[$.location==="InOperation"?(e.openBlock(),e.createBlock(v,{key:0,config:$,onClick:Y},null,8,["config"])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(I,{gutter:[24,20],class:"search-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,$=>(e.openBlock(),e.createBlock(f,{key:$.fieldKey,span:6,class:"search-col"},{default:e.withCtx(()=>[e.createVNode(me,{name:$.fieldKey,config:$.fieldConfig,modelValue:u.value[$.fieldKey].value,"onUpdate:modelValue":O=>u.value[$.fieldKey].value=O,class:"form-field"},null,8,["name","config","modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),e.createVNode(f,{span:6,class:"search-col"},{default:e.withCtx(()=>[e.createElementVNode("div",No,[e.createVNode(g,{size:"medium"},{default:e.withCtx(()=>[e.createVNode(E,{type:"primary",size:"medium",onClick:F},{default:e.withCtx(()=>m[1]||(m[1]=[e.createTextVNode(" Search ",-1)])),_:1,__:[1]}),e.createVNode(E,{size:"medium",onClick:K},{default:e.withCtx(()=>m[2]||(m[2]=[e.createTextVNode(" Reset ",-1)])),_:1,__:[2]})]),_:1})])]),_:1})]),_:1})]),_:1}),e.createVNode(z,{size:"large",onTabClick:N},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value?.tabs,$=>(e.openBlock(),e.createBlock(W,{key:$.key,title:$.title},null,8,["title"]))),128))]),_:1}),e.createVNode(G,{columns:p.value,data:_.value,stripe:"",border:"",pagination:{current:s.current,total:s.total,pageSize:s.pageSize,showTotal:s.showTotal,showPageSize:s.showPageSize,showJumper:!0,pageSizeOptions:[10,20,50,100]},loading:B.value,size:"medium",scroll:l.value,onPageChange:P,onPageSizeChange:H},{optional:e.withCtx(({record:$})=>[e.createVNode(g,{size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,O=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:O.title},[_e(O,$)?(e.openBlock(),e.createBlock(v,{key:0,config:O,size:"small",onClick:(...we)=>R(...we,$.workflowId)},null,8,["config","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1024)]),_:1},8,["columns","data","pagination","loading","scroll"])])}}}),[["__scopeId","data-v-02400871"]]),So={install(t,o={}){o.config&&We(o.config),o.router&&t.provide(fe,o.router),o.pinia&&t.provide(Ie,o.pinia),o.useBpmStore&&t.provide(Ae,o.useBpmStore),o.useSvrStore&&t.provide(Ue,o.useSvrStore),o.triggers&&t.provide(Te,o.triggers),o.customComps&&t.provide(Me,o.customComps),t.component("CreateView",Le),t.component("UpdateView",Fe),t.component("DetailView",De),t.component("ListView",Pe)}};A.CreateView=Le,A.DetailView=De,A.ListView=Pe,A.PiniaKey=Ie,A.RouterKey=fe,A.UpdateView=Fe,A.default=So,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=index.umd.js.map