@chase-shao/vue-component-lib 1.2.72 → 1.2.73

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