@chase-shao/vue-component-lib 1.2.52 → 1.2.53

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