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