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