@chase-shao/vue-component-lib 1.2.50 → 1.2.52

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