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