@chase-shao/vue-component-lib 1.2.58 → 1.2.59

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