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