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