@chase-shao/vue-component-lib 1.2.31 → 1.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +167 -167
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),ke=require("axios"),ye=require("pinia"),Ve=require("vue-router"),be=ye.defineStore("main",()=>({token:e.ref(void 0)})),Ce=async t=>new Promise(n=>setTimeout(n,t)),Ne=async(t,n,s,o=void 0)=>{if(t[n]===void 0)try{t[n]=null,t[n]=await s()||o}catch(a){console.error(a),t[n]=void 0}for(;t[n]===null;)await Ce(100);return t[n]};function oe(){const t=fe();return{apiBase:t.apiBase||void 0||"",appSecret:t.appSecret||void 0||""}}function ne(){const{apiBase:t}=oe();return ke.create({baseURL:t,timeout:1e4,headers:{"Content-Type":"application/json"},withCredentials:!0})}const Se=async()=>{const{apiBase:t,appSecret:n}=oe(),s=ne(),o=be();return await Ne(o,"token",async()=>(await s.get(`${t}/GenerateToken`,{params:{appid:"bpm",appsecret:n}}))?.data?.token)},D=async()=>{const t=await Se(),n=ne();return n.defaults.headers.common.Authorization=`Bearer ${t}`,n},X={CurrentUserEmail:t=>t()?.userInfo?.email_address??"test.email@dataGetter.ts",CurrentUserPositionCode:t=>t()?.userInfo?.position_code??888,CurrentDatetime:()=>new Date().toISOString(),ApproverEmail:t=>t()?.userInfo?.email_address??"test.email@dataGetter.ts",ApproverPositionCode:t=>t()?.userInfo?.position_code??999,RejectReason:()=>"Test Reject Reason"},E=[];for(let t=0;t<256;++t)E.push((t+256).toString(16).slice(1));function Be(t,n=0){return(E[t[n+0]]+E[t[n+1]]+E[t[n+2]]+E[t[n+3]]+"-"+E[t[n+4]]+E[t[n+5]]+"-"+E[t[n+6]]+E[t[n+7]]+"-"+E[t[n+8]]+E[t[n+9]]+"-"+E[t[n+10]]+E[t[n+11]]+E[t[n+12]]+E[t[n+13]]+E[t[n+14]]+E[t[n+15]]).toLowerCase()}let G;const Ee=new Uint8Array(16);function xe(){if(!G){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");G=crypto.getRandomValues.bind(crypto)}return G(Ee)}const Ie=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Z={randomUUID:Ie};function $e(t,n,s){if(Z.randomUUID&&!t)return Z.randomUUID();t=t||{};const o=t.random??t.rng?.()??xe();if(o.length<16)throw new Error("Random bytes length must be >= 16");return o[6]=o[6]&15|64,o[8]=o[8]&63|128,Be(o)}var M=(t=>(t[t.Submit=0]="Submit",t[t.Link=1]="Link",t))(M||{}),T=(t=>(t[t.Create=0]="Create",t[t.Update=1]="Update",t[t.Details=2]="Details",t[t.List=3]="List",t))(T||{});function Me(t,n,s){const o={pageType:"",fields:{},globalValidations:[]};return t.__ClassAttributes?.forEach(a=>{if(a.attributeType==="UIPageType")o.pageType=a.Type;else if(a.attributeType==="UIValidationControl")o.globalValidations.push({rule:a.ruleName,errorMessage:a.errorMessage,param:a.ruleParameter,appliesTo:a.propertyNames||["*"]});else if(a.attributeType==="UIControl"){if(a.widget==="Tab"){o.tabs||(o.tabs=[]),o.tabs.unshift({key:$e(),title:a.title,filters:a.filters?JSON.parse(a.filters):[]});return}o.actions||(o.actions=[]),o.actions.push({isSubmit:a.isSubmit,requestUrl:a.requestUrl,redirectUrl:a.redirectUrl,redirectType:a.redirectType,title:a.title,widget:a.widget==="Link"?M.Link:M.Submit,location:a.location,attributeType:a.attributeType,readonly:a.readonly})}}),Object.entries(t).forEach(([a,l])=>{if(a==="__ClassAttributes"||a==="className"||a==="id"||a==="deleteFlag"||a==="status"||a==="workFlowReason"||n!==3&&a==="workflowId")return;const u={validations:[],triggers:[],isFiltered:!1,dependent:""},{attributes:m,propertyValue:c}=l;switch(c){case null:u.modelValue="";break;case void 0:u.modelValue="";break;default:u.modelValue=c;break}m?.forEach(r=>{r.order||r.Order?u.order=r.order??r.Order:r.attributeType==="UIControl"?u.widget={...r,column:!0}:r.attributeType==="UIValidationControl"&&n!==3?u.widget?.widget!=="CheckBox"&&u.validations.push(r):r.attributeType==="UIListed"?u.widget={...r,column:!0}:r.attributeType==="UIFiltered"?u.isFiltered=!0:r.dependentType?u.dependent=X[r.dependentType]?X[r.dependentType](s):"":r.eventType==="Change"&&u.triggers?.push({event:"change",handlerName:r.eventName})}),o.fields[a]=u}),o}const z=async(t,n,s,o)=>{const l=await(await D()).get(`/General/${n}/${t}/page`,{params:o});return Me(l?.data,t,s)},ae=async(t,n,s)=>(await(await D()).post(`/General/${n}/${t}/button/List`,null,{params:s}))?.data;async function Le(t,n){const o=await(await D()).post(`/General/${t}/list`,n);return{data:o.data.data,totalCount:o.data.totalCount}}async function Ue(t,n,s){const a=await(await D()).post(s,n,{params:{className:t}});return a.data.length>0?a.data[0]:0}function De(t,n){return t.replace(/{workflowId}/g,n)}async function Te(t,n,s,o){const a=await D(),l=De(o,n);return(await a.put(l,s,{params:{className:t}}))?.data}function Ae(t,n){return t.replace(/{WorkflowId}/g,n)}function Re(t,n){return t.replace(/{ApproverEmail}/g,n)}function Fe(t,n){return t.replace(/{WorkFlowReason}/g,n)}function He(t,n){return t.replace(/{Status}/g,n)}function Pe(t,n){return t.replace(/{IfTriggerGlobal_RandP_Approval}/g,n)}async function je(t,n,s,o,a,l,u,m){const c=await D();let r=Ae(l,n);return r=Re(r,s),r=Fe(r,o),r=He(r,u),r=Pe(r,m),(await c.put(r,a,{params:{className:t,reason:o}}))?.data}async function Oe(t,n){const a=(await(await D()).get(t,{params:{value:n}}))?.data;return Object.entries(a).map(([l,u])=>({value:l,label:u}))}async function ze(t,n){return(await(await D()).get(`/General/${t}/${n}/process`))?.data}const A=(t,n)=>{let s="";return{res:t.every(a=>{const l=Ke(a,n);return l||(s=a.errorMessage),l}),errorMessages:s}},Ke=(t,n)=>{const{ruleName:s,ruleParameter:o}=t;return We[s](o,n)},We={Regex:(t,n)=>new RegExp(t).test(n),Required:(t,n)=>!!n},ee=e.defineComponent({__name:"InputText",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),u=r=>A(o.validations,r),m=r=>{a("input",r)},c=r=>{const v=u(r);a("error",v.res?"":v.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(p=>{p.event==="change"&&a(p.event,p.handlerName,r)})};return n({validate(){const r=u(o.modelValue);return a("error",r.res?"":r.errorMessages),r.res}}),(r,v)=>{const p=e.resolveComponent("AInput");return e.openBlock(),e.createBlock(p,{modelValue:l.value,"onUpdate:modelValue":v[0]||(v[0]=h=>l.value=h),"allow-clear":"",disabled:o.readonly||o.config.Readonly,onInput:m,onChange:c},null,8,["modelValue","disabled"])}}}),Ge=e.defineComponent({__name:"InputNumber",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),u=e.ref(100),m=e.ref(0);e.onMounted(()=>{o.validations&&o.validations.forEach(p=>{p.ruleName==="Max"&&(u.value=p.ruleParameter),p.ruleName==="Min"&&(m.value=p.ruleParameter)})});const c=p=>A(o.validations,p),r=p=>{a("input",p)},v=p=>{const h=c(p);a("error",h.res?"":h.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(g=>{g.event==="change"&&a(g.event,g.handlerName,p)})};return n({validate(){const p=c(o.modelValue);return a("error",p.res?"":p.errorMessages),p.res}}),(p,h)=>{const g=e.resolveComponent("AInputNumber");return e.openBlock(),e.createBlock(g,{modelValue:l.value,"onUpdate:modelValue":h[0]||(h[0]=w=>l.value=w),clearable:"",disabled:o.readonly,min:m.value,max:u.value,onInput:r,onChange:v},null,8,["modelValue","disabled","min","max"])}}}),te=e.defineComponent({__name:"SelectList",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.ref(!1),u=e.ref(o.config.options??[]),m=e.useModel(t,"modelValue"),c=p=>A(o.validations,p);e.computed(()=>{const p={};return o.triggers&&o.triggers.length>0&&o.triggers.forEach(h=>{p[h.event]=g=>{a(h.event,h.handlerName,g);const w=c(g);a("error",w.res?"":w.errorMessages)}}),p});const r=async()=>{o.config.dataSourceProvider&&(u.value=await Oe(o.config.dataSourceProvider))};e.onMounted(r);const v=p=>{a("update:modelValue",p);const h=c(p);a("error",h.res?"":h.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(g=>{g.event==="change"&&a(g.event,g.handlerName,p)})};return n({validate(){const p=c(o.modelValue);return a("error",p.res?"":p.errorMessages),p.res}}),(p,h)=>{const g=e.resolveComponent("AOption"),w=e.resolveComponent("ASelect");return e.openBlock(),e.createBlock(w,{"allow-clear":"",modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=S=>m.value=S),loading:l.value,"filter-option":!0,"allow-search":!0,onChange:v},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,S=>(e.openBlock(),e.createBlock(g,{key:S.value,value:S.value,label:S.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","loading"])}}}),qe=e.defineComponent({__name:"Cascader",props:{modelValue:{},config:{}},emits:["update:modelValue","change"],setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.ref(o.config.options??[]),u=c=>{a("update:modelValue",c),a("change",c)};e.onMounted(async()=>{if(o.config){const c=o.config.dataSourceProvider;if(c){const v=await(await D()).get(c);l.value=v.data}}});const m={value:"key",label:"value"};return n({validate(){return!0}}),(c,r)=>{const v=e.resolveComponent("ACascader"),p=e.resolveComponent("ASpace");return e.openBlock(),e.createBlock(p,{direction:"vertical",size:"large"},{default:e.withCtx(()=>[e.createVNode(v,{"field-names":m,"model-value":c.modelValue,options:l.value,style:{width:"320px"},placeholder:"Please select ...",onChange:u},null,8,["model-value","options"])]),_:1})}}}),Ye=e.defineComponent({__name:"FileUpload",props:{className:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:n,emit:s}){const o=t,a=s,l=g=>A(o.validations,g),u="",m=e.ref(null),c=e.ref(0),r=e.ref([]);function v(g,w,S){return g.replace(/{WorkflowId}/g,w).replace(/{ClassName}/g,S)}const p=e.computed(()=>{if(o.config.uploadURL){const g=u+o.config.uploadURL;return v(g,c.value.toString(),o.className)}return""}),h=g=>{a("change",g),o.triggers&&o.triggers.length>0&&o.triggers.forEach(w=>{w.event==="change"&&a(w.event,w.handlerName,g)})};return n({submit(g){m.value&&(o.config.uploadURL&&(c.value=g),e.nextTick(()=>{m.value.submit()}))},validate(){const g=l(o.modelValue);return a("error",g.res?"":g.errorMessages),g.res}}),(g,w)=>{const S=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(S,{ref_key:"uploadRef",ref:m,modelValue:r.value,"onUpdate:modelValue":w[0]||(w[0]=U=>r.value=U),"auto-upload":!1,action:p.value,limit:o.config.allowedNumber,onChange:h},{"start-icon":e.withCtx(()=>w[1]||(w[1]=[])),_:1},8,["modelValue","action","limit"])}}}),Je=e.defineComponent({__name:"TextArea",props:{modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:n,emit:s}){const o=t,a=s,l=c=>A(o.validations,c),u=c=>{a("update:modelValue",c),a("input",c)},m=c=>{a("update:modelValue",c);const r=l(c);a("error",r.res?"":r.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(v=>{v.event==="change"&&a(v.event,v.handlerName,c)})};return n({validate(){const c=l(o.modelValue);return a("error",c.res?"":c.errorMessages),c.res}}),(c,r)=>{const v=e.resolveComponent("ATextarea");return e.openBlock(),e.createBlock(v,{"model-value":o.modelValue,placeholder:"Please enter something","allow-clear":"",disabled:o.readonly,onInput:u,onChange:m},null,8,["model-value","disabled"])}}}),Qe=e.defineComponent({__name:"CheckBox",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),u=c=>A(o.validations,c),m=c=>{const r=u(c);a("error",r.res?"":r.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(v=>{v.event==="change"&&a(v.event,v.handlerName,c)})};return n({validate(){const c=u(o.modelValue);return a("error",c.res?"":c.errorMessages),c.res}}),(c,r)=>{const v=e.resolveComponent("ACheckbox");return e.openBlock(),e.createBlock(v,{modelValue:l.value,"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),clearable:"",disabled:o.readonly||o.config.Readonly,onChange:m},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("Yes",-1)])),_:1,__:[1]},8,["modelValue","disabled"])}}}),Xe={class:"widget-wrapper"},Ze={class:"title mb-1.5"},et={key:0,class:"required"},tt={class:"form-widget"},ot={class:"widget"},nt={key:0,class:"err-msg"},at=e.defineComponent({__name:"index",props:e.mergeModels({config:{},className:{},modelValue:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),u=e.useTemplateRef("widgetRef"),m=e.computed(()=>{switch(o.config?.widget?.widget){case"TextBox":return ee;case"Number":return Ge;case"SelectList":return te;case"Cascade":return qe;case"File":return Ye;case"TextArea":return Je;case"DropDown":return te;case"CheckBox":return Qe;default:return ee}}),c=e.ref(""),r=h=>{c.value=h},v=(h,g)=>{a("change",h,g)};function p(){return o.config?.widget?.widget==="File"}return n({isFileUpload(){return o.config?.widget?.widget==="File"},submit(h){p()&&u.value.submit(h)},validate(){return u.value?.validate()},getCompName(){return o?.config?.widget?.title}}),(h,g)=>(e.openBlock(),e.createElementBlock("div",Xe,[e.createElementVNode("div",Ze,[e.createTextVNode(e.toDisplayString(o?.config?.widget?.title),1),o.config.validations.length?(e.openBlock(),e.createElementBlock("span",et,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",tt,[e.createElementVNode("div",ot,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value),{ref_key:"widgetRef",ref:u,modelValue:l.value,"onUpdate:modelValue":g[0]||(g[0]=w=>l.value=w),config:o.config.widget,validations:o.config.validations,triggers:o.config.triggers,"class-name":o.className,onError:r,onChange:v},null,40,["modelValue","config","validations","triggers","class-name"]))]),c.value.length>0?(e.openBlock(),e.createElementBlock("div",nt,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]))}}),j=(t,n)=>{const s=t.__vccOpts||t;for(const[o,a]of n)s[o]=a;return s},Y=j(at,[["__scopeId","data-v-18c3fe02"]]),rt=e.defineComponent({__name:"SubmitButton",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:n}){const s=t,o=n;function a(){o("click",s.url,s.redirectType)}return(l,u)=>{const m=e.resolveComponent("AButton");return e.openBlock(),e.createBlock(m,{type:"primary",onClick:a},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3})}}}),st=e.defineComponent({__name:"DetailLink",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:n}){const s=t,o=n;function a(){o("click",s.url,s.redirectType)}return(l,u)=>{const m=e.resolveComponent("ALink");return e.openBlock(),e.createBlock(m,{onClick:a},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3})}}}),H=e.defineComponent({__name:"index",props:{config:{}},emits:["click"],setup(t,{emit:n}){const s=t,o=n;function a(c,r){o("click",s.config.widget,c,r,s.config.title)}const l=e.computed(()=>{switch(s.config.location){case"InOperation":return rt;case"InTable":default:return st}}),u=e.computed(()=>s.config.widget===M.Submit?s.config.requestUrl??"":s.config.widget===M.Link?s.config.redirectUrl??"":""),m=e.computed(()=>s.config.redirectType??"Details");return(c,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{url:u.value,"redirect-type":m.value,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.config.title),1)]),_:1},8,["url","redirect-type"]))}}),J=Symbol("library-router");function K(){const t=e.inject(J,null);return t||Ve.useRouter()}const re=Symbol("library-triggers");function Q(){const t=e.inject(re,null);return t||{}}const se=Symbol("library-pinia"),lt=Symbol("library-bpmStore"),le=Symbol("library-svrStore");function P(){return e.inject(le,null)}const it={class:"page-container"},ct={class:"page-header"},dt={class:"page-title"},ut={class:"page-subtitle"},mt={class:"page-body"},pt={class:"form-card"},ft={class:"form-fields"},gt={key:0,class:"form-content"},vt={class:"page-footer"},_t={class:"action-container"},ht={class:"action-buttons"},wt=e.defineComponent({__name:"CreateView",props:{className:{}},setup(t){const n=P(),s=K(),o=Q(),a=e.useTemplateRef("dataWidgets"),l=e.getCurrentInstance(),u=t,m=e.ref(),c=e.ref([]),r=e.ref({});function v(f){return f?Object.entries(f).map(([_,i])=>({fieldKey:_,...i})).filter(_=>_.widget&&_.widget.widget!=="Hidden").filter(_=>!y.value.includes(_.fieldKey)):[]}function p(f){return f?Object.entries(f).filter(([_,i])=>i.dependent).reduce((_,[i,k])=>(_[i]=k.dependent,_),{}):[]}const h=e.computed(()=>m.value?.actions?[...m.value.actions].reverse():[]),g=e.reactive({}),w=e.ref(!1);e.onMounted(async()=>{w.value=!0,m.value=await z(T.Create,u.className,n),c.value=v(m.value.fields),r.value=p(m.value.fields);for(const f in m.value.fields)g[f]=m.value.fields[f].modelValue;w.value=!1});async function S(f,d,_){switch(f){case M.Submit:let i=!0;if(a.value?.forEach(N=>{N?.validate&&(N.validate()||(i=!1))}),!i){l?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const k=await Ue(u.className,{...g,...r.value},d);a.value?.forEach(N=>{N?.submit&&N.submit(k)}),s.push({name:"List",params:{className:u.className}});break;case M.Link:_==="List"&&s.push({name:"List",params:{className:u.className}});break;default:console.warn("Unknown action type:",f)}}const U=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],y=e.ref(U);function B(f,d){o[f]?.(d,y),m.value&&(c.value=v(m.value.fields))}return(f,d)=>{const _=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",it,[e.createElementVNode("div",ct,[e.renderSlot(f.$slots,"title",{},()=>[e.createElementVNode("h1",dt,"创建 "+e.toDisplayString(f.className),1),e.createElementVNode("p",ut,"请填写以下信息创建新的 "+e.toDisplayString(f.className)+" 记录",1)],!0)]),e.createElementVNode("div",mt,[e.createVNode(_,{loading:w.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",pt,[e.createElementVNode("div",ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(i,k)=>(e.openBlock(),e.createElementBlock("div",{key:i.fieldKey,class:"form-field-wrapper"},[e.createVNode(Y,{ref_for:!0,ref:"dataWidgets",name:k,config:i,"class-name":f.className,modelValue:g[i.fieldKey],"onUpdate:modelValue":N=>g[i.fieldKey]=N,class:"form-field",onChange:B},null,8,["name","config","class-name","modelValue","onUpdate:modelValue"])]))),128))]),f.$slots.content?(e.openBlock(),e.createElementBlock("div",gt,[e.renderSlot(f.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",vt,[e.createElementVNode("div",_t,[e.renderSlot(f.$slots,"action",{},void 0,!0),e.createElementVNode("div",ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,i=>(e.openBlock(),e.createBlock(H,{key:i.Title,config:i,class:"action-button",onClick:S},null,8,["config"]))),128))])])])])}}}),ie=j(wt,[["__scopeId","data-v-350bdd05"]]),kt={class:"page-container"},yt={class:"page-header"},Vt={class:"page-title"},bt={class:"page-subtitle"},Ct={class:"page-body"},Nt={class:"form-card"},St={class:"form-fields"},Bt={key:0,class:"form-content"},Et={class:"page-footer"},xt={class:"action-container"},It={class:"action-buttons"},$t=e.defineComponent({__name:"UpdateView",props:{className:{},workflowId:{}},setup(t){const n=K(),s=Q(),o=P(),a=e.useTemplateRef("dataWidgets"),l=e.getCurrentInstance(),u=t,m=e.ref(),c=e.ref([]),r=e.ref({});function v(d){return d?Object.entries(d).map(([i,k])=>({fieldKey:i,...k})).filter(i=>i.widget&&i.widget.widget!=="Hidden").filter(i=>!B.value.includes(i.fieldKey)):[]}function p(d){return d?Object.entries(d).filter(([i,k])=>k.dependent).reduce((i,[k,N])=>(i[k]=N.dependent,i),{}):[]}const h=e.computed(()=>m.value?.actions?[...m.value.actions].reverse():[]),g=e.reactive({}),w=e.ref(!1);e.onMounted(async()=>{w.value=!0,m.value=await z(T.Update,u.className,P,{workflowId:u.workflowId});const d=await ae(T.Update,u.className,{workflowId:u.workflowId,email:S()});m.value.actions=m.value.actions?.filter(_=>{const i=d.find(k=>k.button===_.title);return i?i.isShow:!0}),c.value=v(m.value.fields),r.value=p(m.value.fields);for(const _ in m.value.fields)g[_]=m.value.fields[_].modelValue;w.value=!1});function S(){return o()?.userInfo?.email_address??""}async function U(d,_,i){switch(d){case M.Submit:let k=!0;if(a.value?.forEach(x=>{x?.validate&&(x.validate()||(k=!1))}),!k){l?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const N=await Te(u.className,u.workflowId,{...g,...r.value},_);a.value?.forEach(x=>{x?.submit&&x.submit(N)}),n.push({name:"List",params:{className:u.className}});break;case M.Link:n.push({name:i,params:{className:u.className}});break;default:console.warn("Unknown action type:",d)}}const y=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],B=e.ref(y);function f(d,_){s[d]?.(_,B),m.value&&(c.value=v(m.value.fields))}return(d,_)=>{const i=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("div",yt,[e.renderSlot(d.$slots,"title",{},()=>[e.createElementVNode("h1",Vt,"编辑 "+e.toDisplayString(d.className),1),e.createElementVNode("p",bt,"修改以下信息来更新 "+e.toDisplayString(d.className)+" 记录 (ID: "+e.toDisplayString(d.workflowId)+")",1)],!0)]),e.createElementVNode("div",Ct,[e.createVNode(i,{loading:w.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Nt,[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(k,N)=>(e.openBlock(),e.createElementBlock("div",{key:k.fieldKey,class:"form-field-wrapper"},[e.createVNode(Y,{ref_for:!0,ref:"dataWidgets",name:N,config:k,modelValue:g[k.fieldKey],"onUpdate:modelValue":x=>g[k.fieldKey]=x,class:"form-field",onChange:f},null,8,["name","config","modelValue","onUpdate:modelValue"])]))),128))]),d.$slots.content?(e.openBlock(),e.createElementBlock("div",Bt,[e.renderSlot(d.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Et,[e.createElementVNode("div",xt,[e.renderSlot(d.$slots,"action",{},void 0,!0),e.createElementVNode("div",It,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,k=>(e.openBlock(),e.createBlock(H,{key:k.Title,config:k,class:"action-button",onClick:U},null,8,["config"]))),128))])])])])}}}),ce=j($t,[["__scopeId","data-v-b2f440b4"]]),de=Symbol("library-custom-comp");function Mt(){return e.inject(de,null)}const Lt={class:"page-container"},Ut={class:"page-header"},Dt={class:"page-title"},Tt={class:"page-subtitle"},At={class:"page-body"},Rt={class:"detail-card"},Ft={class:"detail-fields"},Ht={class:"detail-field"},Pt={class:"field-label"},jt={class:"field-value"},Ot={key:0,class:"detail-content"},zt={class:"page-footer"},Kt={class:"action-container"},Wt={class:"action-buttons"},Gt=e.defineComponent({__name:"DetailView",props:{className:{},workflowId:{}},setup(t){const n=P(),s=Q(),o=K(),a=Mt();console.log("🚀 ~ customComps:",a.Steps);const l=t,u=e.ref(),m=e.ref([]);function c(y){return y?Object.entries(y).map(([f,d])=>(typeof d.modelValue=="boolean"?d.fieldValue=d.modelValue?"Yes":"No":d.fieldValue=d.modelValue,{fieldKey:f,...d})).filter(f=>f.widget&&f.widget.widget!=="Hidden"):[]}const r=e.computed(()=>u.value?.actions?[...u.value.actions].reverse():[]),v=e.ref(!0),p=(y,B="yyyy-MM-dd hh:mm:ss.fff")=>{const f=new Date(y);if(isNaN(f.getTime()))return y;const d={yyyy:f.getFullYear(),yy:f.getFullYear().toString().substring(2),MM:(f.getMonth()+1).toString().padStart(2,"0"),M:f.getMonth()+1,dd:f.getDate().toString().padStart(2,"0"),d:f.getDate(),hh:f.getHours().toString().padStart(2,"0"),h:f.getHours(),mm:f.getMinutes().toString().padStart(2,"0"),m:f.getMinutes(),ss:f.getSeconds().toString().padStart(2,"0"),s:f.getSeconds(),fff:f.getMilliseconds().toString().padStart(3,"0"),f:f.getMilliseconds()};let _=B;for(const i of Object.keys(d))_=_.replace(i,d[i]);return _},h=(y,B)=>{const f=y.findIndex(d=>d.isCurrent);return y.map((d,_)=>{const i={id:d.id,title:"",proxy:"",sub:"",desc:"",status:1,time:""};i.title=d.workflowProcessApprovers[0]?.name;const k=d.workflowProcessApprovers[d.workflowProcessApprovers.length-1],N=d.workflowHistorys[d.workflowHistorys.length-1],x=N?.workflowHistoryApprovers[N?.workflowHistoryApprovers?.length-1];if(k&&x&&k?.email?.toLowerCase()!==x?.approverEmail?.toLowerCase()&&(i.title=`${x.name}`,i.proxy=`代理: ${k.name}`),d.sort>1?i.sub="审批角色:"+d.nodeName.replace("Submit","").replace("Approve",""):i.sub="提交申请",d.isCurrent&&B!==-1)i.desc="审批中",i.status=1;else{const $=d.workflowHistorys[d.workflowHistorys.length-1];if($&&$.status===100)i.time=p($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),i.status=2,i.desc="已审批";else if($&&$.status===999)i.time=p($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),i.status=0,i.desc="已跳过";else if($)if(i.time=p($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),d.sort===1)i.status=2,i.desc="";else{const O=$.workflowHistoryApprovers[0];i.status=3,i.desc=O?.reason?`拒绝原因:${O.reason}`:"已拒绝"}else _<f||f===-1?(i.status=0,i.desc="已跳过"):(i.status=0,i.desc="待审批");$&&$.status}return i})},g=e.ref([]);e.onMounted(async()=>{v.value=!0,u.value=await z(T.Details,l.className,n,{workflowId:l.workflowId});const y=await ae(T.Details,l.className,{workflowId:l.workflowId,email:S()});u.value.actions=u.value.actions?.filter(f=>{const d=y.find(_=>_.button===f.title);return d?d.isShow:!0}),m.value=c(u.value.fields);const B=await ze(l.className,l.workflowId);console.log("🚀 ~ process:",B),g.value=h(B,0),v.value=!1});async function w(y){return s[y]?.()}function S(){return n()?.userInfo?.email_address??""}async function U(y,B,f,d){try{switch(y){case M.Submit:const{reason:_,ifGlobal:i}=await w(d),k=d==="Approve"?"100":"-1";await je(l.className,l.workflowId,S(),_,[l.workflowId],B,k,i),o.push({name:"List",params:{className:l.className}});break;case M.Link:f==="List"&&o.push({name:"List",params:{className:l.className}});break;default:console.warn("Unknown action type:",y)}}catch{}}return(y,B)=>{const f=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("div",Ut,[e.renderSlot(y.$slots,"title",{},()=>[e.createElementVNode("h1",Dt,e.toDisplayString(y.className)+" 详情",1),e.createElementVNode("p",Tt,"查看 "+e.toDisplayString(y.className)+" 记录详细信息 (ID: "+e.toDisplayString(y.workflowId)+")",1)],!0)]),e.createElementVNode("div",At,[e.createVNode(f,{loading:v.value,class:"detail-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Rt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a).Steps),{steps:g.value},null,8,["steps"])),e.createElementVNode("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,d=>(e.openBlock(),e.createElementBlock("div",{key:d.fieldKey,class:"detail-field-wrapper"},[e.createElementVNode("div",Ht,[e.createElementVNode("div",Pt,e.toDisplayString(d.widget?.title),1),e.createElementVNode("div",jt,e.toDisplayString(d.fieldValue),1)])]))),128))]),y.$slots.content?(e.openBlock(),e.createElementBlock("div",Ot,[e.renderSlot(y.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",zt,[e.createElementVNode("div",Kt,[e.renderSlot(y.$slots,"action",{},void 0,!0),e.createElementVNode("div",Wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,d=>(e.openBlock(),e.createBlock(H,{key:d.Title,config:d,class:"action-button",onClick:U},null,8,["config"]))),128))])])])])}}}),ue=j(Gt,[["__scopeId","data-v-025209d5"]]),qt={class:"list-container"},Yt={class:"page-title"},Jt={class:"query-title"},Qt={class:"field-wrapper"},Xt=e.defineComponent({name:"ListView",__name:"ListView",props:{className:{}},setup(t){const n=P(),s=K(),o=t,a=e.ref(),l=e.reactive({current:1,total:0,pageSize:10,defaultPageSize:10,showTotal:!0,showPageSize:!0,filters:[]});function u(){const V=Object.entries(i.value).filter(([,b])=>b&&b!=="").map(([b,C])=>({key:b,value:C}));return{pageNumber:l.current,pageSize:l.pageSize,filters:[...l.filters,...V],sorts:[{key:"status",type:0}]}}const m=e.computed(()=>({x:v.value.length*150+250})),c=V=>{const b=Object.entries(V).filter(([,C])=>C.widget?.column).map(([C,L],R)=>({title:L.widget.title,dataIndex:C.charAt(0).toLowerCase()+C.slice(1),order:L.order,ellipsis:!0,tooltip:!0,width:150,minWidth:100,resizable:!0})).sort((C,L)=>C.order-L.order);b.push({title:"Actions",slotName:"optional",align:"center",width:250,minWidth:200,fixed:"right",resizable:!1}),v.value=b},r=e.ref([]),v=e.ref([]),p=e.ref(!0),h=e.ref(!0),g=e.ref(),w=async()=>{h.value=!0;const V=await Le(o.className,u());r.value=V.data,l.total=V.totalCount,h.value=!1};e.onMounted(async()=>{p.value=!0,a.value=await z(3,o.className,n),c(a.value.fields),N(a.value.fields),w(),g.value=a.value.actions,p.value=!1}),e.onActivated(()=>{w()});const S=V=>{l.current=V,w()},U=V=>{l.pageSize=V,w()};function y(V,b,C,L,R){switch(V){case M.Link:s.push({name:C,params:{workflowId:R}});break;default:console.warn("Unknown action type:",V)}}function B(V,b,C){switch(V){case M.Link:s.push({name:C});break;default:console.warn("Unknown action type:",V)}}function f(){return n()?.userInfo?.email_address??""}function d(V,b){return V.replace(/{currentUserEmail}/g,b)}function _(V){const b=a.value?.tabs?.find(C=>C.key===V)?.filters;l.filters=b?.map(C=>({...C,value:d(C.value,f())}))||[],w()}const i=e.ref({}),k=e.computed(()=>a.value?.fields?Object.entries(a.value.fields).filter(([,V])=>V.isFiltered):[]),N=V=>{const b={};Object.entries(V).forEach(([C,L])=>{b[C]=L.modelValue}),i.value=b},x=()=>{l.current=1,w()},$=()=>{a.value&&N(a.value.fields),x()};function O(V,b){return!(V.location!=="InTable"||b.status===100&&V.title==="Update")}return(V,b)=>{const C=e.resolveComponent("a-col"),L=e.resolveComponent("a-button"),R=e.resolveComponent("a-space"),ge=e.resolveComponent("a-row"),ve=e.resolveComponent("a-card"),_e=e.resolveComponent("a-tab-pane"),he=e.resolveComponent("a-tabs"),we=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",qt,[e.createElementVNode("div",Yt,e.toDisplayString(V.className)+" : List",1),e.createVNode(ve,null,{default:e.withCtx(()=>[e.createElementVNode("div",Jt,[b[0]||(b[0]=e.createElementVNode("h3",null,"查询条件",-1)),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.title},[I.location==="InOperation"?(e.openBlock(),e.createBlock(H,{key:0,config:I,onClick:B},null,8,["config"])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(ge,{gutter:[24,20],class:"search-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,([I,F])=>(e.openBlock(),e.createBlock(C,{key:I,span:6,class:"search-col"},{default:e.withCtx(()=>[e.createVNode(Y,{name:I,config:F,modelValue:i.value[I],"onUpdate:modelValue":W=>i.value[I]=W,class:"form-field"},null,8,["name","config","modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),e.createVNode(C,{span:6,class:"search-col"},{default:e.withCtx(()=>[e.createElementVNode("div",Qt,[e.createVNode(R,{size:"medium"},{default:e.withCtx(()=>[e.createVNode(L,{type:"primary",size:"medium",onClick:x},{default:e.withCtx(()=>b[1]||(b[1]=[e.createTextVNode(" 查询 ",-1)])),_:1,__:[1]}),e.createVNode(L,{size:"medium",onClick:$},{default:e.withCtx(()=>b[2]||(b[2]=[e.createTextVNode(" 重置 ",-1)])),_:1,__:[2]})]),_:1})])]),_:1})]),_:1})]),_:1}),e.createVNode(he,{size:"large",onTabClick:_},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value?.tabs,I=>(e.openBlock(),e.createBlock(_e,{key:I.key,title:I.title},null,8,["title"]))),128))]),_:1}),e.createVNode(we,{columns:v.value,data:r.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:h.value,size:"medium",scroll:m.value,onPageChange:S,onPageSizeChange:U},{optional:e.withCtx(({record:I})=>[e.createVNode(R,{size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,F=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:F.title},[O(F,I)?(e.openBlock(),e.createBlock(H,{key:0,config:F,size:"small",onClick:(...W)=>y(...W,I.workflowId)},null,8,["config","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1024)]),_:1},8,["columns","data","pagination","loading","scroll"])])}}}),me=j(Xt,[["__scopeId","data-v-03c430a9"]]);let q={};function pe(t){q={...q,...t}}function fe(){return q}const Zt={install(t,n={}){n.config&&pe(n.config),n.router&&t.provide(J,n.router),n.pinia&&t.provide(se,n.pinia),n.useBpmStore&&t.provide(lt,n.useBpmStore),n.useSvrStore&&t.provide(le,n.useSvrStore),n.triggers&&t.provide(re,n.triggers),n.customComps&&t.provide(de,n.customComps),t.component("CreateView",ie),t.component("UpdateView",ce),t.component("DetailView",ue),t.component("ListView",me)}};exports.CreateView=ie;exports.DetailView=ue;exports.ListView=me;exports.PiniaKey=se;exports.RouterKey=J;exports.UpdateView=ce;exports.default=Zt;exports.getLibraryConfig=fe;exports.setLibraryConfig=pe;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),ke=require("axios"),ye=require("pinia"),Ve=require("vue-router"),be=ye.defineStore("main",()=>({token:e.ref(void 0)})),Ce=async t=>new Promise(n=>setTimeout(n,t)),Ne=async(t,n,s,o=void 0)=>{if(t[n]===void 0)try{t[n]=null,t[n]=await s()||o}catch(a){console.error(a),t[n]=void 0}for(;t[n]===null;)await Ce(100);return t[n]};function oe(){const t=fe();return{apiBase:t.apiBase||void 0||"",appSecret:t.appSecret||void 0||""}}function ne(){const{apiBase:t}=oe();return ke.create({baseURL:t,timeout:1e4,headers:{"Content-Type":"application/json"},withCredentials:!0})}const Se=async()=>{const{apiBase:t,appSecret:n}=oe(),s=ne(),o=be();return await Ne(o,"token",async()=>(await s.get(`${t}/GenerateToken`,{params:{appid:"bpm",appsecret:n}}))?.data?.token)},D=async()=>{const t=await Se(),n=ne();return n.defaults.headers.common.Authorization=`Bearer ${t}`,n},G={CurrentUserEmail:t=>t()?.userInfo?.email_address??"test.email@dataGetter.ts",CurrentUserPositionCode:t=>t()?.userInfo?.position_code??888,CurrentDatetime:()=>new Date().toISOString(),ApproverEmail:t=>t()?.userInfo?.email_address??"test.email@dataGetter.ts",ApproverPositionCode:t=>t()?.userInfo?.position_code??999,RejectReason:()=>"Test Reject Reason"},E=[];for(let t=0;t<256;++t)E.push((t+256).toString(16).slice(1));function Be(t,n=0){return(E[t[n+0]]+E[t[n+1]]+E[t[n+2]]+E[t[n+3]]+"-"+E[t[n+4]]+E[t[n+5]]+"-"+E[t[n+6]]+E[t[n+7]]+"-"+E[t[n+8]]+E[t[n+9]]+"-"+E[t[n+10]]+E[t[n+11]]+E[t[n+12]]+E[t[n+13]]+E[t[n+14]]+E[t[n+15]]).toLowerCase()}let q;const Ee=new Uint8Array(16);function xe(){if(!q){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");q=crypto.getRandomValues.bind(crypto)}return q(Ee)}const Ie=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Z={randomUUID:Ie};function $e(t,n,s){if(Z.randomUUID&&!t)return Z.randomUUID();t=t||{};const o=t.random??t.rng?.()??xe();if(o.length<16)throw new Error("Random bytes length must be >= 16");return o[6]=o[6]&15|64,o[8]=o[8]&63|128,Be(o)}var M=(t=>(t[t.Submit=0]="Submit",t[t.Link=1]="Link",t))(M||{}),T=(t=>(t[t.Create=0]="Create",t[t.Update=1]="Update",t[t.Details=2]="Details",t[t.List=3]="List",t))(T||{});function Me(t,n,s){const o={pageType:"",fields:{},globalValidations:[]};return t.__ClassAttributes?.forEach(a=>{if(a.attributeType==="UIPageType")o.pageType=a.Type;else if(a.attributeType==="UIValidationControl")o.globalValidations.push({rule:a.ruleName,errorMessage:a.errorMessage,param:a.ruleParameter,appliesTo:a.propertyNames||["*"]});else if(a.attributeType==="UIControl"){if(a.widget==="Tab"){o.tabs||(o.tabs=[]),o.tabs.unshift({key:$e(),title:a.title,filters:a.filters?JSON.parse(a.filters):[]});return}o.actions||(o.actions=[]),o.actions.push({isSubmit:a.isSubmit,requestUrl:a.requestUrl,redirectUrl:a.redirectUrl,redirectType:a.redirectType,title:a.title,widget:a.widget==="Link"?M.Link:M.Submit,location:a.location,attributeType:a.attributeType,readonly:a.readonly})}}),Object.entries(t).forEach(([a,l])=>{if(a==="__ClassAttributes"||a==="className"||a==="id"||a==="deleteFlag"||a==="status"||a==="workFlowReason"||n!==3&&a==="workflowId")return;const c={validations:[],triggers:[],isFiltered:!1,dependent:""},{attributes:m,propertyValue:d}=l;switch(d){case null:c.modelValue="";break;case void 0:c.modelValue="";break;default:c.modelValue=d;break}a==="onBehalf"&&(c.modelValue=G.CurrentUserEmail(s)),m?.forEach(r=>{r.order||r.Order?c.order=r.order??r.Order:r.attributeType==="UIControl"?c.widget={...r,column:!0}:r.attributeType==="UIValidationControl"&&n!==3?c.widget?.widget!=="CheckBox"&&c.validations.push(r):r.attributeType==="UIListed"?c.widget={...r,column:!0}:r.attributeType==="UIFiltered"?c.isFiltered=!0:r.dependentType?c.dependent=G[r.dependentType]?G[r.dependentType](s):"":r.eventType==="Change"&&c.triggers?.push({event:"change",handlerName:r.eventName})}),o.fields[a]=c}),o}const z=async(t,n,s,o)=>{const l=await(await D()).get(`/General/${n}/${t}/page`,{params:o});return Me(l?.data,t,s)},ae=async(t,n,s)=>(await(await D()).post(`/General/${n}/${t}/button/List`,null,{params:s}))?.data;async function Le(t,n){const o=await(await D()).post(`/General/${t}/list`,n);return{data:o.data.data,totalCount:o.data.totalCount}}async function Ue(t,n,s){const a=await(await D()).post(s,n,{params:{className:t}});return a.data.length>0?a.data[0]:0}function De(t,n){return t.replace(/{workflowId}/g,n)}async function Te(t,n,s,o){const a=await D(),l=De(o,n);return(await a.put(l,s,{params:{className:t}}))?.data}function Ae(t,n){return t.replace(/{WorkflowId}/g,n)}function Re(t,n){return t.replace(/{ApproverEmail}/g,n)}function Fe(t,n){return t.replace(/{WorkFlowReason}/g,n)}function He(t,n){return t.replace(/{Status}/g,n)}function Pe(t,n){return t.replace(/{IfTriggerGlobal_RandP_Approval}/g,n)}async function je(t,n,s,o,a,l,c,m){const d=await D();let r=Ae(l,n);return r=Re(r,s),r=Fe(r,o),r=He(r,c),r=Pe(r,m),(await d.put(r,a,{params:{className:t,reason:o}}))?.data}async function Oe(t,n){const a=(await(await D()).get(t,{params:{value:n}}))?.data;return Object.entries(a).map(([l,c])=>({value:l,label:c}))}async function ze(t,n){return(await(await D()).get(`/General/${t}/${n}/process`))?.data}const A=(t,n)=>{let s="";return{res:t.every(a=>{const l=Ke(a,n);return l||(s=a.errorMessage),l}),errorMessages:s}},Ke=(t,n)=>{const{ruleName:s,ruleParameter:o}=t;return We[s](o,n)},We={Regex:(t,n)=>new RegExp(t).test(n),Required:(t,n)=>!!n},ee=e.defineComponent({__name:"InputText",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),c=r=>A(o.validations,r),m=r=>{a("input",r)},d=r=>{const v=c(r);a("error",v.res?"":v.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(p=>{p.event==="change"&&a(p.event,p.handlerName,r)})};return n({validate(){const r=c(o.modelValue);return a("error",r.res?"":r.errorMessages),r.res}}),(r,v)=>{const p=e.resolveComponent("AInput");return e.openBlock(),e.createBlock(p,{modelValue:l.value,"onUpdate:modelValue":v[0]||(v[0]=h=>l.value=h),"allow-clear":"",disabled:o.readonly||o.config.Readonly,onInput:m,onChange:d},null,8,["modelValue","disabled"])}}}),Ge=e.defineComponent({__name:"InputNumber",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),c=e.ref(100),m=e.ref(0);e.onMounted(()=>{o.validations&&o.validations.forEach(p=>{p.ruleName==="Max"&&(c.value=p.ruleParameter),p.ruleName==="Min"&&(m.value=p.ruleParameter)})});const d=p=>A(o.validations,p),r=p=>{a("input",p)},v=p=>{const h=d(p);a("error",h.res?"":h.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(g=>{g.event==="change"&&a(g.event,g.handlerName,p)})};return n({validate(){const p=d(o.modelValue);return a("error",p.res?"":p.errorMessages),p.res}}),(p,h)=>{const g=e.resolveComponent("AInputNumber");return e.openBlock(),e.createBlock(g,{modelValue:l.value,"onUpdate:modelValue":h[0]||(h[0]=w=>l.value=w),clearable:"",disabled:o.readonly,min:m.value,max:c.value,onInput:r,onChange:v},null,8,["modelValue","disabled","min","max"])}}}),te=e.defineComponent({__name:"SelectList",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.ref(!1),c=e.ref(o.config.options??[]),m=e.useModel(t,"modelValue"),d=p=>A(o.validations,p);e.computed(()=>{const p={};return o.triggers&&o.triggers.length>0&&o.triggers.forEach(h=>{p[h.event]=g=>{a(h.event,h.handlerName,g);const w=d(g);a("error",w.res?"":w.errorMessages)}}),p});const r=async()=>{o.config.dataSourceProvider&&(c.value=await Oe(o.config.dataSourceProvider))};e.onMounted(r);const v=p=>{a("update:modelValue",p);const h=d(p);a("error",h.res?"":h.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(g=>{g.event==="change"&&a(g.event,g.handlerName,p)})};return n({validate(){const p=d(o.modelValue);return a("error",p.res?"":p.errorMessages),p.res}}),(p,h)=>{const g=e.resolveComponent("AOption"),w=e.resolveComponent("ASelect");return e.openBlock(),e.createBlock(w,{"allow-clear":"",modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=S=>m.value=S),loading:l.value,"filter-option":!0,"allow-search":!0,onChange:v},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,S=>(e.openBlock(),e.createBlock(g,{key:S.value,value:S.value,label:S.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","loading"])}}}),qe=e.defineComponent({__name:"Cascader",props:{modelValue:{},config:{}},emits:["update:modelValue","change"],setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.ref(o.config.options??[]),c=d=>{a("update:modelValue",d),a("change",d)};e.onMounted(async()=>{if(o.config){const d=o.config.dataSourceProvider;if(d){const v=await(await D()).get(d);l.value=v.data}}});const m={value:"key",label:"value"};return n({validate(){return!0}}),(d,r)=>{const v=e.resolveComponent("ACascader"),p=e.resolveComponent("ASpace");return e.openBlock(),e.createBlock(p,{direction:"vertical",size:"large"},{default:e.withCtx(()=>[e.createVNode(v,{"field-names":m,"model-value":d.modelValue,options:l.value,style:{width:"320px"},placeholder:"Please select ...",onChange:c},null,8,["model-value","options"])]),_:1})}}}),Ye=e.defineComponent({__name:"FileUpload",props:{className:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:n,emit:s}){const o=t,a=s,l=g=>A(o.validations,g),c="",m=e.ref(null),d=e.ref(0),r=e.ref([]);function v(g,w,S){return g.replace(/{WorkflowId}/g,w).replace(/{ClassName}/g,S)}const p=e.computed(()=>{if(o.config.uploadURL){const g=c+o.config.uploadURL;return v(g,d.value.toString(),o.className)}return""}),h=g=>{a("change",g),o.triggers&&o.triggers.length>0&&o.triggers.forEach(w=>{w.event==="change"&&a(w.event,w.handlerName,g)})};return n({submit(g){m.value&&(o.config.uploadURL&&(d.value=g),e.nextTick(()=>{m.value.submit()}))},validate(){const g=l(o.modelValue);return a("error",g.res?"":g.errorMessages),g.res}}),(g,w)=>{const S=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(S,{ref_key:"uploadRef",ref:m,modelValue:r.value,"onUpdate:modelValue":w[0]||(w[0]=U=>r.value=U),"auto-upload":!1,action:p.value,limit:o.config.allowedNumber,onChange:h},{"start-icon":e.withCtx(()=>w[1]||(w[1]=[])),_:1},8,["modelValue","action","limit"])}}}),Je=e.defineComponent({__name:"TextArea",props:{modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:n,emit:s}){const o=t,a=s,l=d=>A(o.validations,d),c=d=>{a("update:modelValue",d),a("input",d)},m=d=>{a("update:modelValue",d);const r=l(d);a("error",r.res?"":r.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(v=>{v.event==="change"&&a(v.event,v.handlerName,d)})};return n({validate(){const d=l(o.modelValue);return a("error",d.res?"":d.errorMessages),d.res}}),(d,r)=>{const v=e.resolveComponent("ATextarea");return e.openBlock(),e.createBlock(v,{"model-value":o.modelValue,placeholder:"Please enter something","allow-clear":"",disabled:o.readonly,onInput:c,onChange:m},null,8,["model-value","disabled"])}}}),Qe=e.defineComponent({__name:"CheckBox",props:e.mergeModels({modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),c=d=>A(o.validations,d),m=d=>{const r=c(d);a("error",r.res?"":r.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(v=>{v.event==="change"&&a(v.event,v.handlerName,d)})};return n({validate(){const d=c(o.modelValue);return a("error",d.res?"":d.errorMessages),d.res}}),(d,r)=>{const v=e.resolveComponent("ACheckbox");return e.openBlock(),e.createBlock(v,{modelValue:l.value,"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),clearable:"",disabled:o.readonly||o.config.Readonly,onChange:m},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("Yes",-1)])),_:1,__:[1]},8,["modelValue","disabled"])}}}),Xe={class:"widget-wrapper"},Ze={class:"title mb-1.5"},et={key:0,class:"required"},tt={class:"form-widget"},ot={class:"widget"},nt={key:0,class:"err-msg"},at=e.defineComponent({__name:"index",props:e.mergeModels({config:{},className:{},modelValue:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error"],["update:modelValue"]),setup(t,{expose:n,emit:s}){const o=t,a=s,l=e.useModel(t,"modelValue"),c=e.useTemplateRef("widgetRef"),m=e.computed(()=>{switch(o.config?.widget?.widget){case"TextBox":return ee;case"Number":return Ge;case"SelectList":return te;case"Cascade":return qe;case"File":return Ye;case"TextArea":return Je;case"DropDown":return te;case"CheckBox":return Qe;default:return ee}}),d=e.ref(""),r=h=>{d.value=h},v=(h,g)=>{a("change",h,g)};function p(){return o.config?.widget?.widget==="File"}return n({isFileUpload(){return o.config?.widget?.widget==="File"},submit(h){p()&&c.value.submit(h)},validate(){return c.value?.validate()},getCompName(){return o?.config?.widget?.title}}),(h,g)=>(e.openBlock(),e.createElementBlock("div",Xe,[e.createElementVNode("div",Ze,[e.createTextVNode(e.toDisplayString(o?.config?.widget?.title),1),o.config.validations.length?(e.openBlock(),e.createElementBlock("span",et,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",tt,[e.createElementVNode("div",ot,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value),{ref_key:"widgetRef",ref:c,modelValue:l.value,"onUpdate:modelValue":g[0]||(g[0]=w=>l.value=w),config:o.config.widget,validations:o.config.validations,triggers:o.config.triggers,"class-name":o.className,onError:r,onChange:v},null,40,["modelValue","config","validations","triggers","class-name"]))]),d.value.length>0?(e.openBlock(),e.createElementBlock("div",nt,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)])]))}}),j=(t,n)=>{const s=t.__vccOpts||t;for(const[o,a]of n)s[o]=a;return s},J=j(at,[["__scopeId","data-v-18c3fe02"]]),rt=e.defineComponent({__name:"SubmitButton",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:n}){const s=t,o=n;function a(){o("click",s.url,s.redirectType)}return(l,c)=>{const m=e.resolveComponent("AButton");return e.openBlock(),e.createBlock(m,{type:"primary",onClick:a},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3})}}}),st=e.defineComponent({__name:"DetailLink",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:n}){const s=t,o=n;function a(){o("click",s.url,s.redirectType)}return(l,c)=>{const m=e.resolveComponent("ALink");return e.openBlock(),e.createBlock(m,{onClick:a},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3})}}}),H=e.defineComponent({__name:"index",props:{config:{}},emits:["click"],setup(t,{emit:n}){const s=t,o=n;function a(d,r){o("click",s.config.widget,d,r,s.config.title)}const l=e.computed(()=>{switch(s.config.location){case"InOperation":return rt;case"InTable":default:return st}}),c=e.computed(()=>s.config.widget===M.Submit?s.config.requestUrl??"":s.config.widget===M.Link?s.config.redirectUrl??"":""),m=e.computed(()=>s.config.redirectType??"Details");return(d,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{url:c.value,"redirect-type":m.value,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.config.title),1)]),_:1},8,["url","redirect-type"]))}}),Q=Symbol("library-router");function K(){const t=e.inject(Q,null);return t||Ve.useRouter()}const re=Symbol("library-triggers");function X(){const t=e.inject(re,null);return t||{}}const se=Symbol("library-pinia"),lt=Symbol("library-bpmStore"),le=Symbol("library-svrStore");function P(){return e.inject(le,null)}const it={class:"page-container"},ct={class:"page-header"},dt={class:"page-title"},ut={class:"page-subtitle"},mt={class:"page-body"},pt={class:"form-card"},ft={class:"form-fields"},gt={key:0,class:"form-content"},vt={class:"page-footer"},_t={class:"action-container"},ht={class:"action-buttons"},wt=e.defineComponent({__name:"CreateView",props:{className:{}},setup(t){const n=P(),s=K(),o=X(),a=e.useTemplateRef("dataWidgets"),l=e.getCurrentInstance(),c=t,m=e.ref(),d=e.ref([]),r=e.ref({});function v(f){return f?Object.entries(f).map(([_,i])=>({fieldKey:_,...i})).filter(_=>_.widget&&_.widget.widget!=="Hidden").filter(_=>!y.value.includes(_.fieldKey)):[]}function p(f){return f?Object.entries(f).filter(([_,i])=>i.dependent).reduce((_,[i,k])=>(_[i]=k.dependent,_),{}):[]}const h=e.computed(()=>m.value?.actions?[...m.value.actions].reverse():[]),g=e.reactive({}),w=e.ref(!1);e.onMounted(async()=>{w.value=!0,m.value=await z(T.Create,c.className,n),d.value=v(m.value.fields),r.value=p(m.value.fields);for(const f in m.value.fields)g[f]=m.value.fields[f].modelValue;w.value=!1});async function S(f,u,_){switch(f){case M.Submit:let i=!0;if(a.value?.forEach(N=>{N?.validate&&(N.validate()||(i=!1))}),!i){l?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const k=await Ue(c.className,{...g,...r.value},u);a.value?.forEach(N=>{N?.submit&&N.submit(k)}),s.push({name:"List",params:{className:c.className}});break;case M.Link:_==="List"&&s.push({name:"List",params:{className:c.className}});break;default:console.warn("Unknown action type:",f)}}const U=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],y=e.ref(U);function B(f,u){o[f]?.(u,y),m.value&&(d.value=v(m.value.fields))}return(f,u)=>{const _=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",it,[e.createElementVNode("div",ct,[e.renderSlot(f.$slots,"title",{},()=>[e.createElementVNode("h1",dt,"创建 "+e.toDisplayString(f.className),1),e.createElementVNode("p",ut,"请填写以下信息创建新的 "+e.toDisplayString(f.className)+" 记录",1)],!0)]),e.createElementVNode("div",mt,[e.createVNode(_,{loading:w.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",pt,[e.createElementVNode("div",ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(i,k)=>(e.openBlock(),e.createElementBlock("div",{key:i.fieldKey,class:"form-field-wrapper"},[e.createVNode(J,{ref_for:!0,ref:"dataWidgets",name:k,config:i,"class-name":f.className,modelValue:g[i.fieldKey],"onUpdate:modelValue":N=>g[i.fieldKey]=N,class:"form-field",onChange:B},null,8,["name","config","class-name","modelValue","onUpdate:modelValue"])]))),128))]),f.$slots.content?(e.openBlock(),e.createElementBlock("div",gt,[e.renderSlot(f.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",vt,[e.createElementVNode("div",_t,[e.renderSlot(f.$slots,"action",{},void 0,!0),e.createElementVNode("div",ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,i=>(e.openBlock(),e.createBlock(H,{key:i.Title,config:i,class:"action-button",onClick:S},null,8,["config"]))),128))])])])])}}}),ie=j(wt,[["__scopeId","data-v-350bdd05"]]),kt={class:"page-container"},yt={class:"page-header"},Vt={class:"page-title"},bt={class:"page-subtitle"},Ct={class:"page-body"},Nt={class:"form-card"},St={class:"form-fields"},Bt={key:0,class:"form-content"},Et={class:"page-footer"},xt={class:"action-container"},It={class:"action-buttons"},$t=e.defineComponent({__name:"UpdateView",props:{className:{},workflowId:{}},setup(t){const n=K(),s=X(),o=P(),a=e.useTemplateRef("dataWidgets"),l=e.getCurrentInstance(),c=t,m=e.ref(),d=e.ref([]),r=e.ref({});function v(u){return u?Object.entries(u).map(([i,k])=>({fieldKey:i,...k})).filter(i=>i.widget&&i.widget.widget!=="Hidden").filter(i=>!B.value.includes(i.fieldKey)):[]}function p(u){return u?Object.entries(u).filter(([i,k])=>k.dependent).reduce((i,[k,N])=>(i[k]=N.dependent,i),{}):[]}const h=e.computed(()=>m.value?.actions?[...m.value.actions].reverse():[]),g=e.reactive({}),w=e.ref(!1);e.onMounted(async()=>{w.value=!0,m.value=await z(T.Update,c.className,P,{workflowId:c.workflowId});const u=await ae(T.Update,c.className,{workflowId:c.workflowId,email:S()});m.value.actions=m.value.actions?.filter(_=>{const i=u.find(k=>k.button===_.title);return i?i.isShow:!0}),d.value=v(m.value.fields),r.value=p(m.value.fields);for(const _ in m.value.fields)g[_]=m.value.fields[_].modelValue;w.value=!1});function S(){return o()?.userInfo?.email_address??""}async function U(u,_,i){switch(u){case M.Submit:let k=!0;if(a.value?.forEach(x=>{x?.validate&&(x.validate()||(k=!1))}),!k){l?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const N=await Te(c.className,c.workflowId,{...g,...r.value},_);a.value?.forEach(x=>{x?.submit&&x.submit(N)}),n.push({name:"List",params:{className:c.className}});break;case M.Link:n.push({name:i,params:{className:c.className}});break;default:console.warn("Unknown action type:",u)}}const y=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],B=e.ref(y);function f(u,_){s[u]?.(_,B),m.value&&(d.value=v(m.value.fields))}return(u,_)=>{const i=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("div",yt,[e.renderSlot(u.$slots,"title",{},()=>[e.createElementVNode("h1",Vt,"编辑 "+e.toDisplayString(u.className),1),e.createElementVNode("p",bt,"修改以下信息来更新 "+e.toDisplayString(u.className)+" 记录 (ID: "+e.toDisplayString(u.workflowId)+")",1)],!0)]),e.createElementVNode("div",Ct,[e.createVNode(i,{loading:w.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Nt,[e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(k,N)=>(e.openBlock(),e.createElementBlock("div",{key:k.fieldKey,class:"form-field-wrapper"},[e.createVNode(J,{ref_for:!0,ref:"dataWidgets",name:N,config:k,modelValue:g[k.fieldKey],"onUpdate:modelValue":x=>g[k.fieldKey]=x,class:"form-field",onChange:f},null,8,["name","config","modelValue","onUpdate:modelValue"])]))),128))]),u.$slots.content?(e.openBlock(),e.createElementBlock("div",Bt,[e.renderSlot(u.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Et,[e.createElementVNode("div",xt,[e.renderSlot(u.$slots,"action",{},void 0,!0),e.createElementVNode("div",It,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,k=>(e.openBlock(),e.createBlock(H,{key:k.Title,config:k,class:"action-button",onClick:U},null,8,["config"]))),128))])])])])}}}),ce=j($t,[["__scopeId","data-v-b2f440b4"]]),de=Symbol("library-custom-comp");function Mt(){return e.inject(de,null)}const Lt={class:"page-container"},Ut={class:"page-header"},Dt={class:"page-title"},Tt={class:"page-subtitle"},At={class:"page-body"},Rt={class:"detail-card"},Ft={class:"detail-fields"},Ht={class:"detail-field"},Pt={class:"field-label"},jt={class:"field-value"},Ot={key:0,class:"detail-content"},zt={class:"page-footer"},Kt={class:"action-container"},Wt={class:"action-buttons"},Gt=e.defineComponent({__name:"DetailView",props:{className:{},workflowId:{}},setup(t){const n=P(),s=X(),o=K(),a=Mt();console.log("🚀 ~ customComps:",a.Steps);const l=t,c=e.ref(),m=e.ref([]);function d(y){return y?Object.entries(y).map(([f,u])=>(typeof u.modelValue=="boolean"?u.fieldValue=u.modelValue?"Yes":"No":u.fieldValue=u.modelValue,{fieldKey:f,...u})).filter(f=>f.widget&&f.widget.widget!=="Hidden"):[]}const r=e.computed(()=>c.value?.actions?[...c.value.actions].reverse():[]),v=e.ref(!0),p=(y,B="yyyy-MM-dd hh:mm:ss.fff")=>{const f=new Date(y);if(isNaN(f.getTime()))return y;const u={yyyy:f.getFullYear(),yy:f.getFullYear().toString().substring(2),MM:(f.getMonth()+1).toString().padStart(2,"0"),M:f.getMonth()+1,dd:f.getDate().toString().padStart(2,"0"),d:f.getDate(),hh:f.getHours().toString().padStart(2,"0"),h:f.getHours(),mm:f.getMinutes().toString().padStart(2,"0"),m:f.getMinutes(),ss:f.getSeconds().toString().padStart(2,"0"),s:f.getSeconds(),fff:f.getMilliseconds().toString().padStart(3,"0"),f:f.getMilliseconds()};let _=B;for(const i of Object.keys(u))_=_.replace(i,u[i]);return _},h=(y,B)=>{const f=y.findIndex(u=>u.isCurrent);return y.map((u,_)=>{const i={id:u.id,title:"",proxy:"",sub:"",desc:"",status:1,time:""};i.title=u.workflowProcessApprovers[0]?.name;const k=u.workflowProcessApprovers[u.workflowProcessApprovers.length-1],N=u.workflowHistorys[u.workflowHistorys.length-1],x=N?.workflowHistoryApprovers[N?.workflowHistoryApprovers?.length-1];if(k&&x&&k?.email?.toLowerCase()!==x?.approverEmail?.toLowerCase()&&(i.title=`${x.name}`,i.proxy=`代理: ${k.name}`),u.sort>1?i.sub="审批角色:"+u.nodeName.replace("Submit","").replace("Approve",""):i.sub="提交申请",u.isCurrent&&B!==-1)i.desc="审批中",i.status=1;else{const $=u.workflowHistorys[u.workflowHistorys.length-1];if($&&$.status===100)i.time=p($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),i.status=2,i.desc="已审批";else if($&&$.status===999)i.time=p($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),i.status=0,i.desc="已跳过";else if($)if(i.time=p($.takeActionAt,"yyyy-MM-dd hh:mm:ss"),u.sort===1)i.status=2,i.desc="";else{const O=$.workflowHistoryApprovers[0];i.status=3,i.desc=O?.reason?`拒绝原因:${O.reason}`:"已拒绝"}else _<f||f===-1?(i.status=0,i.desc="已跳过"):(i.status=0,i.desc="待审批");$&&$.status}return i})},g=e.ref([]);e.onMounted(async()=>{v.value=!0,c.value=await z(T.Details,l.className,n,{workflowId:l.workflowId});const y=await ae(T.Details,l.className,{workflowId:l.workflowId,email:S()});c.value.actions=c.value.actions?.filter(f=>{const u=y.find(_=>_.button===f.title);return u?u.isShow:!0}),m.value=d(c.value.fields);const B=await ze(l.className,l.workflowId);console.log("🚀 ~ process:",B),g.value=h(B,0),v.value=!1});async function w(y){return s[y]?.()}function S(){return n()?.userInfo?.email_address??""}async function U(y,B,f,u){try{switch(y){case M.Submit:const{reason:_,ifGlobal:i}=await w(u),k=u==="Approve"?"100":"-1";await je(l.className,l.workflowId,S(),_,[l.workflowId],B,k,i),o.push({name:"List",params:{className:l.className}});break;case M.Link:f==="List"&&o.push({name:"List",params:{className:l.className}});break;default:console.warn("Unknown action type:",y)}}catch{}}return(y,B)=>{const f=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("div",Ut,[e.renderSlot(y.$slots,"title",{},()=>[e.createElementVNode("h1",Dt,e.toDisplayString(y.className)+" 详情",1),e.createElementVNode("p",Tt,"查看 "+e.toDisplayString(y.className)+" 记录详细信息 (ID: "+e.toDisplayString(y.workflowId)+")",1)],!0)]),e.createElementVNode("div",At,[e.createVNode(f,{loading:v.value,class:"detail-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Rt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a).Steps),{steps:g.value},null,8,["steps"])),e.createElementVNode("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,u=>(e.openBlock(),e.createElementBlock("div",{key:u.fieldKey,class:"detail-field-wrapper"},[e.createElementVNode("div",Ht,[e.createElementVNode("div",Pt,e.toDisplayString(u.widget?.title),1),e.createElementVNode("div",jt,e.toDisplayString(u.fieldValue),1)])]))),128))]),y.$slots.content?(e.openBlock(),e.createElementBlock("div",Ot,[e.renderSlot(y.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",zt,[e.createElementVNode("div",Kt,[e.renderSlot(y.$slots,"action",{},void 0,!0),e.createElementVNode("div",Wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createBlock(H,{key:u.Title,config:u,class:"action-button",onClick:U},null,8,["config"]))),128))])])])])}}}),ue=j(Gt,[["__scopeId","data-v-025209d5"]]),qt={class:"list-container"},Yt={class:"page-title"},Jt={class:"query-title"},Qt={class:"field-wrapper"},Xt=e.defineComponent({name:"ListView",__name:"ListView",props:{className:{}},setup(t){const n=P(),s=K(),o=t,a=e.ref(),l=e.reactive({current:1,total:0,pageSize:10,defaultPageSize:10,showTotal:!0,showPageSize:!0,filters:[]});function c(){const V=Object.entries(i.value).filter(([,b])=>b&&b!=="").map(([b,C])=>({key:b,value:C}));return{pageNumber:l.current,pageSize:l.pageSize,filters:[...l.filters,...V],sorts:[{key:"status",type:0}]}}const m=e.computed(()=>({x:v.value.length*150+250})),d=V=>{const b=Object.entries(V).filter(([,C])=>C.widget?.column).map(([C,L],R)=>({title:L.widget.title,dataIndex:C.charAt(0).toLowerCase()+C.slice(1),order:L.order,ellipsis:!0,tooltip:!0,width:150,minWidth:100,resizable:!0})).sort((C,L)=>C.order-L.order);b.push({title:"Actions",slotName:"optional",align:"center",width:250,minWidth:200,fixed:"right",resizable:!1}),v.value=b},r=e.ref([]),v=e.ref([]),p=e.ref(!0),h=e.ref(!0),g=e.ref(),w=async()=>{h.value=!0;const V=await Le(o.className,c());r.value=V.data,l.total=V.totalCount,h.value=!1};e.onMounted(async()=>{p.value=!0,a.value=await z(3,o.className,n),d(a.value.fields),N(a.value.fields),w(),g.value=a.value.actions,p.value=!1}),e.onActivated(()=>{w()});const S=V=>{l.current=V,w()},U=V=>{l.pageSize=V,w()};function y(V,b,C,L,R){switch(V){case M.Link:s.push({name:C,params:{workflowId:R}});break;default:console.warn("Unknown action type:",V)}}function B(V,b,C){switch(V){case M.Link:s.push({name:C});break;default:console.warn("Unknown action type:",V)}}function f(){return n()?.userInfo?.email_address??""}function u(V,b){return V.replace(/{currentUserEmail}/g,b)}function _(V){const b=a.value?.tabs?.find(C=>C.key===V)?.filters;l.filters=b?.map(C=>({...C,value:u(C.value,f())}))||[],w()}const i=e.ref({}),k=e.computed(()=>a.value?.fields?Object.entries(a.value.fields).filter(([,V])=>V.isFiltered):[]),N=V=>{const b={};Object.entries(V).forEach(([C,L])=>{b[C]=L.modelValue}),i.value=b},x=()=>{l.current=1,w()},$=()=>{a.value&&N(a.value.fields),x()};function O(V,b){return!(V.location!=="InTable"||b.status===100&&V.title==="Update")}return(V,b)=>{const C=e.resolveComponent("a-col"),L=e.resolveComponent("a-button"),R=e.resolveComponent("a-space"),ge=e.resolveComponent("a-row"),ve=e.resolveComponent("a-card"),_e=e.resolveComponent("a-tab-pane"),he=e.resolveComponent("a-tabs"),we=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",qt,[e.createElementVNode("div",Yt,e.toDisplayString(V.className)+" : List",1),e.createVNode(ve,null,{default:e.withCtx(()=>[e.createElementVNode("div",Jt,[b[0]||(b[0]=e.createElementVNode("h3",null,"查询条件",-1)),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.title},[I.location==="InOperation"?(e.openBlock(),e.createBlock(H,{key:0,config:I,onClick:B},null,8,["config"])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(ge,{gutter:[24,20],class:"search-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,([I,F])=>(e.openBlock(),e.createBlock(C,{key:I,span:6,class:"search-col"},{default:e.withCtx(()=>[e.createVNode(J,{name:I,config:F,modelValue:i.value[I],"onUpdate:modelValue":W=>i.value[I]=W,class:"form-field"},null,8,["name","config","modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),e.createVNode(C,{span:6,class:"search-col"},{default:e.withCtx(()=>[e.createElementVNode("div",Qt,[e.createVNode(R,{size:"medium"},{default:e.withCtx(()=>[e.createVNode(L,{type:"primary",size:"medium",onClick:x},{default:e.withCtx(()=>b[1]||(b[1]=[e.createTextVNode(" 查询 ",-1)])),_:1,__:[1]}),e.createVNode(L,{size:"medium",onClick:$},{default:e.withCtx(()=>b[2]||(b[2]=[e.createTextVNode(" 重置 ",-1)])),_:1,__:[2]})]),_:1})])]),_:1})]),_:1})]),_:1}),e.createVNode(he,{size:"large",onTabClick:_},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value?.tabs,I=>(e.openBlock(),e.createBlock(_e,{key:I.key,title:I.title},null,8,["title"]))),128))]),_:1}),e.createVNode(we,{columns:v.value,data:r.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:h.value,size:"medium",scroll:m.value,onPageChange:S,onPageSizeChange:U},{optional:e.withCtx(({record:I})=>[e.createVNode(R,{size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,F=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:F.title},[O(F,I)?(e.openBlock(),e.createBlock(H,{key:0,config:F,size:"small",onClick:(...W)=>y(...W,I.workflowId)},null,8,["config","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1024)]),_:1},8,["columns","data","pagination","loading","scroll"])])}}}),me=j(Xt,[["__scopeId","data-v-03c430a9"]]);let Y={};function pe(t){Y={...Y,...t}}function fe(){return Y}const Zt={install(t,n={}){n.config&&pe(n.config),n.router&&t.provide(Q,n.router),n.pinia&&t.provide(se,n.pinia),n.useBpmStore&&t.provide(lt,n.useBpmStore),n.useSvrStore&&t.provide(le,n.useSvrStore),n.triggers&&t.provide(re,n.triggers),n.customComps&&t.provide(de,n.customComps),t.component("CreateView",ie),t.component("UpdateView",ce),t.component("DetailView",ue),t.component("ListView",me)}};exports.CreateView=ie;exports.DetailView=ue;exports.ListView=me;exports.PiniaKey=se;exports.RouterKey=Q;exports.UpdateView=ce;exports.default=Zt;exports.getLibraryConfig=fe;exports.setLibraryConfig=pe;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|