@chase-shao/vue-component-lib 1.2.55 → 1.2.57

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