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