@chase-shao/vue-component-lib 1.2.40 → 1.2.42
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/components/TopBar.vue.d.ts +7 -0
- package/dist/components/data-gen/views/CreateView.vue.d.ts +0 -1
- package/dist/components/data-gen/views/DetailView.vue.d.ts +0 -1
- package/dist/components/data-gen/views/UpdateView.vue.d.ts +0 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.es.js +1013 -902
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/services/dataGen.d.ts +9 -1
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
title: string;
|
|
3
|
+
subTitle: string;
|
|
4
|
+
email: string;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
7
|
+
export default _default;
|
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"),Ne=require("axios"),Se=require("pinia"),Be=require("vue-router"),Ee=Se.defineStore("main",()=>({token:e.ref(void 0)})),xe=async t=>new Promise(n=>setTimeout(n,t)),Ie=async(t,n,d,o=void 0)=>{if(t[n]===void 0)try{t[n]=null,t[n]=await d()||o}catch(a){console.error(a),t[n]=void 0}for(;t[n]===null;)await xe(100);return t[n]};function se(){const t=oe();return{apiBase:t.apiBase||void 0||"",appSecret:t.appSecret||void 0||""}}function le(){const{apiBase:t}=se();return Ne.create({baseURL:t,timeout:1e4,withCredentials:!0})}const ie=async()=>{const{apiBase:t,appSecret:n}=se(),d=le(),o=Ee();return await Ie(o,"token",async()=>(await d.get(`${t}/GenerateToken`,{params:{appid:"bpm",appsecret:n}}))?.data?.token)},D=async()=>{const t=await ie(),n=le();return n.defaults.headers.common.Authorization=`Bearer ${t}`,n},J={CurrentUserEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",CurrentUserPositionCode:t=>t.bpmStore()?.positionCode??888,CurrentDatetime:()=>new Date().toISOString(),ApproverEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",ApproverPositionCode:t=>t.bpmStore()?.positionCode??999,RejectReason:()=>"Test Reject Reason"},x=[];for(let t=0;t<256;++t)x.push((t+256).toString(16).slice(1));function $e(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 X;const Ue=new Uint8Array(16);function Me(){if(!X){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");X=crypto.getRandomValues.bind(crypto)}return X(Ue)}const Le=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ne={randomUUID:Le};function De(t,n,d){if(ne.randomUUID&&!t)return ne.randomUUID();t=t||{};const o=t.random??t.rng?.()??Me();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,$e(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 Te(t,n,d){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:De(),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,m])=>{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:s}=m;switch(s){case null:c.modelValue="";break;case void 0:c.modelValue="";break;default:c.modelValue=s;break}a==="onBehalf"&&n===0&&(c.modelValue=J.CurrentUserEmail(d)),p?.forEach(i=>{i.order||i.Order?c.order=i.order??i.Order:i.attributeType==="UIControl"?c.widget={...i,column:!0}:i.attributeType==="UIValidationControl"&&n!==3?c.widget?.widget!=="CheckBox"&&c.validations.push(i):i.attributeType==="UIListed"?c.widget={...i,column:!0}:i.attributeType==="UIFiltered"?c.isFiltered=!0:i.dependentType?c.dependent=J[i.dependentType]?J[i.dependentType](d):"":i.eventType==="Change"&&c.triggers?.push({event:"change",handlerName:i.eventName})}),o.fields[a]=c}),o}const z=async(t,n,d,o)=>{const m=await(await D()).get(`/General/${n}/${t}/page`,{params:o});return Te(m?.data,t,d)},ce=async(t,n,d)=>(await(await D()).post(`/General/${n}/${t}/button/List`,null,{params:d}))?.data;async function Ae(t,n){const o=await(await D()).post(`/General/${t}/list`,n);return{data:o.data.data,totalCount:o.data.totalCount}}async function Fe(t,n,d){const a=await(await D()).post(d,n,{params:{className:t}});return a.data.length>0?a.data[0]:0}function Re(t,n){return t.replace(/{workflowId}/g,n)}async function He(t,n,d,o){const a=await D(),m=Re(o,n);return(await a.put(m,d,{params:{className:t}}))?.data}function Pe(t,n){return t.replace(/{WorkflowId}/g,n)}function je(t,n){return t.replace(/{ApproverEmail}/g,encodeURIComponent(n))}function Ke(t,n){return t.replace(/{WorkFlowReason}/g,encodeURIComponent(n))}function Oe(t,n){return t.replace(/{Status}/g,n)}function ze(t,n){return t.replace(/{IfTriggerGlobal_RandP_Approval}/g,n)}function We(t,n){return t.replace(/{ClassName}/g,encodeURIComponent(n))}async function Ge(t,n,d,o,a,m,c,p){const s=await D();let i=Pe(m,n);return i=je(i,d),i=Ke(i,o),i=Oe(i,c),i=ze(i,p),i=We(i,t),(await s.put(i,a))?.data}async function qe(t,n){const a=(await(await D()).get(t,{params:{value:n}}))?.data;return Object.entries(a).map(([m,c])=>({value:m,label:c}))}async function Ye(t,n){return(await(await D()).get(`/General/${t}/${n}/process`))?.data}async function Je(t,n){return(await(await D()).get(`/General/${t}/${n}/upload/get`))?.data.reduce((m,c)=>{const{category:p}=c;return m[p]||(m[p]=[]),m[p].push(c),m},{})}const H=(t,n)=>{let d="";return{res:t.every(a=>{const m=Xe(a,n);return m||(d=a.errorMessage),m}),errorMessages:d}},Xe=(t,n)=>{const{ruleName:d,ruleParameter:o}=t;return Qe[d](o,n)},Qe={Regex:(t,n)=>new RegExp(t).test(n),Required:(t,n)=>!!n},ae=e.defineComponent({__name:"InputText",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.useModel(t,"modelValue"),c=i=>H(o.validations,i),p=i=>{a("input",i)},s=i=>{const h=c(i);a("error",h.res?"":h.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(f=>{f.event==="change"&&a(f.event,f.handlerName,i)})};return n({validate(){const i=c(o.modelValue);return a("error",i.res?"":i.errorMessages),i.res}}),(i,h)=>{const f=e.resolveComponent("AInput");return e.openBlock(),e.createBlock(f,{modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=y=>m.value=y),"allow-clear":"",disabled:o.readonly||o.config.Readonly,onInput:p,onChange:s},null,8,["modelValue","disabled"])}}}),Ze=e.defineComponent({__name:"InputNumber",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.useModel(t,"modelValue"),c=e.ref(100),p=e.ref(0);e.onMounted(()=>{o.validations&&o.validations.forEach(f=>{f.ruleName==="Max"&&(c.value=f.ruleParameter),f.ruleName==="Min"&&(p.value=f.ruleParameter)})});const s=f=>H(o.validations,f),i=f=>{a("input",f)},h=f=>{const y=s(f);a("error",y.res?"":y.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(k=>{k.event==="change"&&a(k.event,k.handlerName,f)})};return n({validate(){const f=s(o.modelValue);return a("error",f.res?"":f.errorMessages),f.res}}),(f,y)=>{const k=e.resolveComponent("AInputNumber");return e.openBlock(),e.createBlock(k,{modelValue:m.value,"onUpdate:modelValue":y[0]||(y[0]=b=>m.value=b),clearable:"",disabled:o.readonly,min:p.value,max:c.value,onInput:i,onChange:h},null,8,["modelValue","disabled","min","max"])}}}),re=e.defineComponent({__name:"SelectList",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.ref(!1),c=e.ref(o.config.options??[]),p=e.useModel(t,"modelValue"),s=f=>H(o.validations,f);e.computed(()=>{const f={};return o.triggers&&o.triggers.length>0&&o.triggers.forEach(y=>{f[y.event]=k=>{a(y.event,y.handlerName,k);const b=s(k);a("error",b.res?"":b.errorMessages)}}),f});const i=async()=>{o.config.dataSourceProvider&&(c.value=await qe(o.config.dataSourceProvider))};e.onMounted(i);const h=f=>{a("update:modelValue",f);const y=s(f);a("error",y.res?"":y.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(k=>{k.event==="change"&&a(k.event,k.handlerName,f)})};return n({validate(){const f=s(o.modelValue);return a("error",f.res?"":f.errorMessages),f.res}}),(f,y)=>{const k=e.resolveComponent("AOption"),b=e.resolveComponent("ASelect");return e.openBlock(),e.createBlock(b,{"allow-clear":"",modelValue:p.value,"onUpdate:modelValue":y[0]||(y[0]=C=>p.value=C),loading:m.value,"filter-option":!0,"allow-search":!0,onChange:h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,C=>(e.openBlock(),e.createBlock(k,{key:C.value,value:C.value,label:C.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","loading"])}}}),et=e.defineComponent({__name:"Cascader",props:{modelValue:{},config:{}},emits:["update:modelValue","change"],setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.ref(o.config.options??[]),c=s=>{a("update:modelValue",s),a("change",s)};e.onMounted(async()=>{if(o.config){const s=o.config.dataSourceProvider;if(s){const h=await(await D()).get(s);m.value=h.data}}});const p={value:"key",label:"value"};return n({validate(){return!0}}),(s,i)=>{const h=e.resolveComponent("ACascader"),f=e.resolveComponent("ASpace");return e.openBlock(),e.createBlock(f,{direction:"vertical",size:"large"},{default:e.withCtx(()=>[e.createVNode(h,{"field-names":p,"model-value":s.modelValue,options:m.value,style:{width:"320px"},placeholder:"Please select ...",onChange:c},null,8,["model-value","options"])]),_:1})}}}),tt={style:{"margin-top":"16px"}},ot=e.defineComponent({__name:"FileUpload",props:{className:{},fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.ref({}),c=e.ref([]),p=e.ref([]);e.watch(p,u=>{c.value=u,console.log("🚀 ~ fileList.value:",c.value)},{immediate:!0}),e.onMounted(async()=>{const u=await ie();m.value={Authorization:`Bearer ${u}`},p.value=e.inject(o.fieldKey,e.ref([]))});const s=u=>H(o.validations,u),h=oe().apiBase,f=e.ref(null),y=e.ref(0);function k(u,l,r){return u.replace(/{WorkflowId}/g,l).replace(/{ClassName}/g,r)}const b=e.computed(()=>{if(o.config.uploadURL){const u=h+o.config.uploadURL;console.log("🚀 ~ url, id.value.toString(), props.className:",u,y.value.toString(),o.className);const l=k(u,"5750",o.className);return console.log("🚀 ~ replacedUrl:",l),l}return""}),C=u=>{a("change",u),o.triggers&&o.triggers.length>0&&o.triggers.forEach(l=>{l.event==="change"&&a(l.event,l.handlerName,u)})},M=u=>{const{onProgress:l,onError:r,onSuccess:_,fileItem:v,name:E}=u,B=new XMLHttpRequest;B.upload&&(B.upload.onprogress=function(N){let w;N.total>0&&(w=N.loaded/N.total),l(w,N)}),B.onerror=function(w){r(w)},B.onload=function(){if(B.status<200||B.status>=300)return r(B.responseText);_(B.response)};const F=new FormData;return F.append("files",v.file,v.name),B.open("post",b.value,!0),Object.entries(m.value).forEach(([N,w])=>{console.log("🚀 ~ customRequest ~ key, value:",N,w),B.setRequestHeader(N,w)}),B.send(F),{abort(){B.abort()}}},I=e.ref(null);function L(u){const l=u.target;l.files&&l.files.length>0&&(I.value=l.files[0])}async function T(){if(console.log("🚀 ~ handleNativeUpload ~ nativeFile.value:",I.value),!I.value)return;const u=new FormData;u.append("files",I.value,I.value.name),await(await D()).post(b.value,u,{headers:{"Content-Type":"multipart/form-data"}})}function g(){f.value&&f.value.submit()}return n({submit(u){f.value&&(o.config.uploadURL&&(y.value=u),e.nextTick(()=>{f.value.submit()}))},validate(){const u=s(o.modelValue);return a("error",u.res?"":u.errorMessages),u.res}}),(u,l)=>{const r=e.resolveComponent("a-upload"),_=e.resolveComponent("a-button");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(r,{ref_key:"uploadRef",ref:f,"default-file-list":c.value,action:b.value,limit:o.config.allowedNumber,"custom-request":M,"auto-upload":!1,name:o.fieldKey,onChange:C},{"start-icon":e.withCtx(()=>l[0]||(l[0]=[])),_:1},8,["default-file-list","action","limit","name"]),e.createVNode(_,{onClick:g},{default:e.withCtx(()=>l[1]||(l[1]=[e.createTextVNode("上传",-1)])),_:1,__:[1]}),e.createElementVNode("div",tt,[e.createElementVNode("input",{type:"file",onChange:L},null,32),e.createVNode(_,{onClick:T,disabled:!I.value},{default:e.withCtx(()=>l[2]||(l[2]=[e.createTextVNode("原生上传",-1)])),_:1,__:[2]},8,["disabled"])])],64)}}}),nt=e.defineComponent({__name:"TextArea",props:{fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:n,emit:d}){const o=t,a=d,m=s=>H(o.validations,s),c=s=>{a("update:modelValue",s),a("input",s)},p=s=>{a("update:modelValue",s);const i=m(s);a("error",i.res?"":i.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(h=>{h.event==="change"&&a(h.event,h.handlerName,s)})};return n({validate(){const s=m(o.modelValue);return a("error",s.res?"":s.errorMessages),s.res}}),(s,i)=>{const h=e.resolveComponent("ATextarea");return e.openBlock(),e.createBlock(h,{"model-value":o.modelValue,placeholder:"Please enter something","allow-clear":"",disabled:o.readonly,onInput:c,onChange:p},null,8,["model-value","disabled"])}}}),at=e.defineComponent({__name:"CheckBox",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.useModel(t,"modelValue"),c=s=>H(o.validations,s),p=s=>{const i=c(s);a("error",i.res?"":i.errorMessages),o.triggers&&o.triggers.length>0&&o.triggers.forEach(h=>{h.event==="change"&&a(h.event,h.handlerName,s)})};return n({validate(){const s=c(o.modelValue);return a("error",s.res?"":s.errorMessages),s.res}}),(s,i)=>{const h=e.resolveComponent("ACheckbox");return e.openBlock(),e.createBlock(h,{modelValue:m.value,"onUpdate:modelValue":i[0]||(i[0]=f=>m.value=f),clearable:"",disabled:o.readonly||o.config.Readonly,onChange:p},{default:e.withCtx(()=>i[1]||(i[1]=[e.createTextVNode("Yes",-1)])),_:1,__:[1]},8,["modelValue","disabled"])}}}),rt={class:"widget-wrapper"},st={class:"title mb-1.5"},lt={key:0,class:"required"},it={class:"form-widget"},ct={class:"widget"},dt={key:0,class:"err-msg"},ut=e.defineComponent({__name:"index",props:e.mergeModels({config:{},className:{},fieldKey:{},modelValue:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error"],["update:modelValue"]),setup(t,{expose:n,emit:d}){const o=t,a=d,m=e.useModel(t,"modelValue"),c=e.useTemplateRef("widgetRef"),p=e.computed(()=>{switch(o.config?.widget?.widget){case"TextBox":return ae;case"Number":return Ze;case"SelectList":return re;case"Cascade":return et;case"File":return ot;case"TextArea":return nt;case"DropDown":return re;case"CheckBox":return at;default:return ae}}),s=e.ref(""),i=y=>{s.value=y},h=(y,k)=>{a("change",y,k)};function f(){return o.config?.widget?.widget==="File"}return n({isFileUpload(){return o.config?.widget?.widget==="File"},submit(y){f()&&c.value.submit(y)},validate(){return c.value?.validate()},getCompName(){return o?.config?.widget?.title}}),(y,k)=>(e.openBlock(),e.createElementBlock("div",rt,[e.createElementVNode("div",st,[e.createTextVNode(e.toDisplayString(o?.config?.widget?.title),1),o.config.validations.length?(e.openBlock(),e.createElementBlock("span",lt,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",it,[e.createElementVNode("div",ct,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),{ref_key:"widgetRef",ref:c,modelValue:m.value,"onUpdate:modelValue":k[0]||(k[0]=b=>m.value=b),"field-key":o.fieldKey,config:o.config.widget,validations:o.config.validations,triggers:o.config.triggers,"class-name":o.className,onError:i,onChange:h},null,40,["modelValue","field-key","config","validations","triggers","class-name"]))]),s.value.length>0?(e.openBlock(),e.createElementBlock("div",dt,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)])]))}}),O=(t,n)=>{const d=t.__vccOpts||t;for(const[o,a]of n)d[o]=a;return d},Z=O(ut,[["__scopeId","data-v-3ad59bc4"]]),mt=e.defineComponent({__name:"SubmitButton",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:n}){const d=t,o=n;function a(){o("click",d.url,d.redirectType)}return(m,c)=>{const p=e.resolveComponent("AButton");return e.openBlock(),e.createBlock(p,{type:"primary",onClick:a},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:3})}}}),pt=e.defineComponent({__name:"DetailLink",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:n}){const d=t,o=n;function a(){o("click",d.url,d.redirectType)}return(m,c)=>{const p=e.resolveComponent("ALink");return e.openBlock(),e.createBlock(p,{onClick:a},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:3})}}}),K=e.defineComponent({__name:"index",props:{config:{}},emits:["click"],setup(t,{emit:n}){const d=t,o=n;function a(s,i){o("click",d.config.widget,s,i,d.config.title)}const m=e.computed(()=>{switch(d.config.location){case"InOperation":return mt;case"InTable":default:return pt}}),c=e.computed(()=>d.config.widget===U.Submit?d.config.requestUrl??"":d.config.widget===U.Link?d.config.redirectUrl??"":""),p=e.computed(()=>d.config.redirectType??"Details");return(s,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value),{url:c.value,"redirect-type":p.value,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.config.title),1)]),_:1},8,["url","redirect-type"]))}}),ee=Symbol("library-router");function W(){const t=e.inject(ee,null);return t||Be.useRouter()}const de=Symbol("library-triggers");function te(){const t=e.inject(de,null);return t||{}}const ue=Symbol("library-pinia"),me=Symbol("library-bpmStore"),pe=Symbol("library-svrStore");function G(){return e.inject(me,null)}function q(){return e.inject(pe,null)}const ft={class:"page-container"},gt={class:"page-header"},vt={class:"page-title"},_t={class:"page-subtitle"},ht={class:"page-body"},wt={class:"form-card"},yt={class:"form-fields"},kt={key:0,class:"form-content"},bt={class:"page-footer"},Vt={class:"action-container"},Ct={class:"action-buttons"},Nt=e.defineComponent({__name:"CreateView",props:{className:{}},setup(t){const n=G(),d=q(),o=W(),a=te(),m=e.useTemplateRef("dataWidgets"),c=e.getCurrentInstance(),p=t,s=e.ref(),i=e.ref([]),h=e.ref({});function f(g){return g?Object.entries(g).map(([l,r])=>({fieldKey:l,...r})).filter(l=>l.widget&&l.widget.widget!=="Hidden").filter(l=>!L.value.includes(l.fieldKey)):[]}function y(g){return g?Object.entries(g).filter(([l,r])=>r.dependent).reduce((l,[r,_])=>(l[r]=_.dependent,l),{}):[]}const k=e.computed(()=>s.value?.actions?[...s.value.actions].reverse():[]),b=e.reactive({}),C=e.ref(!1);e.onMounted(async()=>{C.value=!0,s.value=await z(R.Create,p.className,{svrStore:d,bpmStore:n}),i.value=f(s.value.fields),console.log("🚀 ~ _fields.value:",i.value),h.value=y(s.value.fields);for(const g in s.value.fields)b[g]=s.value.fields[g].modelValue;C.value=!1});async function M(g,u,l){switch(g){case U.Submit:let r=!0;if(m.value?.forEach(v=>{v?.validate&&(v.validate()||(r=!1))}),!r){c?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const _=await Fe(p.className,{...b,...h.value},u);m.value?.forEach(v=>{v?.submit&&v.submit(_)}),c?.appContext.config.globalProperties.$notification.success("创建成功!"),o.push({name:"List",params:{className:p.className}});break;case U.Link:l==="List"&&o.push({name:"List",params:{className:p.className}});break;default:console.warn("Unknown action type:",g)}}const I=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],L=e.ref(I);function T(g,u){a[g]?.(u,L),s.value&&(i.value=f(s.value.fields))}return(g,u)=>{const l=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("div",gt,[e.renderSlot(g.$slots,"title",{},()=>[e.createElementVNode("h1",vt,"创建 "+e.toDisplayString(g.className),1),e.createElementVNode("p",_t,"请填写以下信息创建新的 "+e.toDisplayString(g.className)+" 记录",1)],!0)]),e.createElementVNode("div",ht,[e.createVNode(l,{loading:C.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",wt,[e.createElementVNode("div",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(r,_)=>(e.openBlock(),e.createElementBlock("div",{key:r.fieldKey,class:"form-field-wrapper"},[e.createVNode(Z,{ref_for:!0,ref:"dataWidgets","field-key":r.fieldKey,config:r,"class-name":g.className,modelValue:b[r.fieldKey],"onUpdate:modelValue":v=>b[r.fieldKey]=v,class:"form-field",onChange:T},null,8,["field-key","config","class-name","modelValue","onUpdate:modelValue"])]))),128))]),g.$slots.content?(e.openBlock(),e.createElementBlock("div",kt,[e.renderSlot(g.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",bt,[e.createElementVNode("div",Vt,[e.renderSlot(g.$slots,"action",{},void 0,!0),e.createElementVNode("div",Ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,r=>(e.openBlock(),e.createBlock(K,{key:r.Title,config:r,class:"action-button",onClick:M},null,8,["config"]))),128))])])])])}}}),fe=O(Nt,[["__scopeId","data-v-d8292149"]]),St={class:"page-container"},Bt={class:"page-header"},Et={class:"page-title"},xt={class:"page-subtitle"},It={class:"page-body"},$t={class:"form-card"},Ut={class:"form-fields"},Mt={key:0,class:"form-content"},Lt={class:"page-footer"},Dt={class:"action-container"},Tt={class:"action-buttons"},At=e.defineComponent({__name:"UpdateView",props:{className:{},workflowId:{}},setup(t){const n=W(),d=te(),o=q(),a=G(),m=e.useTemplateRef("dataWidgets"),c=e.getCurrentInstance(),p=t,s=e.ref(),i=e.ref([]),h=e.ref({});function f(u){return u?Object.entries(u).map(([r,_])=>({fieldKey:r,..._})).filter(r=>r.widget&&r.widget.widget!=="Hidden").filter(r=>!T.value.includes(r.fieldKey)):[]}function y(u){return u?Object.entries(u).filter(([r,_])=>_.dependent).reduce((r,[_,v])=>(r[_]=v.dependent,r),{}):[]}const k=e.computed(()=>s.value?.actions?[...s.value.actions].reverse():[]),b=e.reactive({}),C=e.ref(!1);e.onMounted(async()=>{C.value=!0,s.value=await z(R.Update,p.className,{svrStore:o,bpmStore:a},{workflowId:p.workflowId});const u=await ce(R.Update,p.className,{workflowId:p.workflowId,email:M()});s.value.actions=s.value.actions?.filter(r=>{const _=u.find(v=>v.button===r.title);return _?_.isShow:!0}),i.value=f(s.value.fields),h.value=y(s.value.fields);for(const r in s.value.fields)b[r]=s.value.fields[r].modelValue;const l=await Je(p.className,p.workflowId);console.log("🚀 ~ files:",l),Object.entries(l).forEach(([r,_])=>{console.log("🚀 ~ key:",r),e.provide(r,_)}),C.value=!1});function M(){return o()?.userInfo?.email_address??""}async function I(u,l,r){switch(u){case U.Submit:let _=!0;if(m.value?.forEach(E=>{E?.validate&&(E.validate()||(_=!1))}),!_){c?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const v=await He(p.className,p.workflowId,{...b,...h.value},l);m.value?.forEach(E=>{E?.submit&&E.submit(v)}),c?.appContext.config.globalProperties.$notification.success("修改成功!"),n.push({name:"List",params:{className:p.className}});break;case U.Link:n.push({name:r,params:{className:p.className}});break;default:console.warn("Unknown action type:",u)}}const L=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],T=e.ref(L);function g(u,l){d[u]?.(l,T),s.value&&(i.value=f(s.value.fields))}return(u,l)=>{const r=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("div",Bt,[e.renderSlot(u.$slots,"title",{},()=>[e.createElementVNode("h1",Et,"编辑 "+e.toDisplayString(u.className),1),e.createElementVNode("p",xt,"修改以下信息来更新 "+e.toDisplayString(u.className)+" 记录 (ID: "+e.toDisplayString(u.workflowId)+")",1)],!0)]),e.createElementVNode("div",It,[e.createVNode(r,{loading:C.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",$t,[e.createElementVNode("div",Ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(_,v)=>(e.openBlock(),e.createElementBlock("div",{key:_.fieldKey,class:"form-field-wrapper"},[e.createVNode(Z,{ref_for:!0,ref:"dataWidgets","field-key":_.fieldKey,name:v,config:_,"class-name":u.className,modelValue:b[_.fieldKey],"onUpdate:modelValue":E=>b[_.fieldKey]=E,class:"form-field",onChange:g},null,8,["field-key","name","config","class-name","modelValue","onUpdate:modelValue"])]))),128))]),u.$slots.content?(e.openBlock(),e.createElementBlock("div",Mt,[e.renderSlot(u.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Lt,[e.createElementVNode("div",Dt,[e.renderSlot(u.$slots,"action",{},void 0,!0),e.createElementVNode("div",Tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,_=>(e.openBlock(),e.createBlock(K,{key:_.Title,config:_,class:"action-button",onClick:I},null,8,["config"]))),128))])])])])}}}),ge=O(At,[["__scopeId","data-v-118b8121"]]),ve=Symbol("library-custom-comp");function Ft(){return e.inject(ve,null)}const Rt={class:"page-container"},Ht={class:"page-header"},Pt={class:"page-title"},jt={class:"page-subtitle"},Kt={class:"page-body"},Ot={class:"detail-card"},zt={class:"detail-fields"},Wt={class:"detail-field"},Gt={class:"field-label"},qt={class:"field-value"},Yt={key:0,class:"detail-content"},Jt={class:"page-footer"},Xt={class:"action-container"},Qt={class:"action-buttons"},Zt=e.defineComponent({__name:"DetailView",props:{className:{},workflowId:{}},setup(t){const n=q(),d=G(),o=te(),a=W(),m=Ft(),c=e.getCurrentInstance(),p=t,s=e.ref(),i=e.ref([]);function h(g){return g?Object.entries(g).map(([l,r])=>(typeof r.modelValue=="boolean"?r.fieldValue=r.modelValue?"Yes":"No":r.fieldValue=r.modelValue,{fieldKey:l,...r})).filter(l=>l.widget&&l.widget.widget!=="Hidden"):[]}const f=e.computed(()=>s.value?.actions?[...s.value.actions].reverse():[]),y=e.ref(!0),k=(g,u="yyyy-MM-dd hh:mm:ss.fff")=>{const l=new Date(g);if(isNaN(l.getTime()))return g;const r={yyyy:l.getFullYear(),yy:l.getFullYear().toString().substring(2),MM:(l.getMonth()+1).toString().padStart(2,"0"),M:l.getMonth()+1,dd:l.getDate().toString().padStart(2,"0"),d:l.getDate(),hh:l.getHours().toString().padStart(2,"0"),h:l.getHours(),mm:l.getMinutes().toString().padStart(2,"0"),m:l.getMinutes(),ss:l.getSeconds().toString().padStart(2,"0"),s:l.getSeconds(),fff:l.getMilliseconds().toString().padStart(3,"0"),f:l.getMilliseconds()};let _=u;for(const v of Object.keys(r))_=_.replace(v,r[v]);return _},b=(g,u)=>{const l=g.findIndex(r=>r.isCurrent);return g.map((r,_)=>{const v={id:r.id,title:"",proxy:"",sub:"",desc:"",status:1,time:""};v.title=r.workflowProcessApprovers[0]?.name;const E=r.workflowProcessApprovers[r.workflowProcessApprovers.length-1],B=r.workflowHistorys[r.workflowHistorys.length-1],F=B?.workflowHistoryApprovers[B?.workflowHistoryApprovers?.length-1];if(E&&F&&E?.email?.toLowerCase()!==F?.approverEmail?.toLowerCase()&&(v.title=`${F.name}`,v.proxy=`代理: ${E.name}`),r.sort>1?v.sub="审批角色:"+r.nodeName.replace("Submit","").replace("Approve",""):v.sub="提交申请",r.isCurrent&&u!==-1)v.desc="审批中",v.status=1;else{const N=r.workflowHistorys[r.workflowHistorys.length-1];if(N&&N.status===100)v.time=k(N.takeActionAt,"yyyy-MM-dd hh:mm:ss"),v.status=2,v.desc="已审批";else if(N&&N.status===999)v.time=k(N.takeActionAt,"yyyy-MM-dd hh:mm:ss"),v.status=0,v.desc="已跳过";else if(N)if(v.time=k(N.takeActionAt,"yyyy-MM-dd hh:mm:ss"),r.sort===1)v.status=2,v.desc="";else{const w=N.workflowHistoryApprovers[0];v.status=3,v.desc=w?.reason?`拒绝原因:${w.reason}`:"已拒绝"}else _<l||l===-1?(v.status=0,v.desc="已跳过"):(v.status=0,v.desc="待审批");N&&N.status}return v})},C=e.ref([]),M=e.ref(!1);e.onMounted(async()=>{y.value=!0,s.value=await z(R.Details,p.className,{svrStore:n,bpmStore:d},{workflowId:p.workflowId});const g=await ce(R.Details,p.className,{workflowId:p.workflowId,email:L()});s.value.actions=s.value.actions?.filter(l=>{const r=g.find(_=>_.button===l.title);return r?r.isShow:!0}),M.value=g.find(l=>l.button==="IsGlobal")?.isShow??!1,i.value=h(s.value.fields);const u=await Ye(p.className,p.workflowId);C.value=b(u,0),y.value=!1});async function I(g,u){return o[g]?.(u)}function L(){return n()?.userInfo?.email_address??""}async function T(g,u,l,r){try{switch(g){case U.Submit:const{reason:_,ifGlobal:v}=await I(r,{isGlobal:M.value}),E=r==="Approve"?"100":"-1";await Ge(p.className,p.workflowId,L(),_,[Number(p.workflowId)],u,E,v);const B=r==="Approve"?"审批已通过!":"审批已拒绝!";c?.appContext.config.globalProperties.$notification.success(B),a.push({name:"List",params:{className:p.className}});break;case U.Link:l==="List"&&a.push({name:"List",params:{className:p.className}});break;default:console.warn("Unknown action type:",g)}}catch{}}return(g,u)=>{const l=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("div",Ht,[e.renderSlot(g.$slots,"title",{},()=>[e.createElementVNode("h1",Pt,e.toDisplayString(g.className)+" 详情",1),e.createElementVNode("p",jt,"查看 "+e.toDisplayString(g.className)+" 记录详细信息 (ID: "+e.toDisplayString(g.workflowId)+")",1)],!0)]),e.createElementVNode("div",Kt,[e.createVNode(l,{loading:y.value,class:"detail-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Ot,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m).Steps),{steps:C.value},null,8,["steps"])),e.createElementVNode("div",zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.fieldKey,class:"detail-field-wrapper"},[e.createElementVNode("div",Wt,[e.createElementVNode("div",Gt,e.toDisplayString(r.widget?.title),1),e.createElementVNode("div",qt,e.toDisplayString(r.fieldValue),1)])]))),128))]),g.$slots.content?(e.openBlock(),e.createElementBlock("div",Yt,[e.renderSlot(g.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Jt,[e.createElementVNode("div",Xt,[e.renderSlot(g.$slots,"action",{},void 0,!0),e.createElementVNode("div",Qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,r=>(e.openBlock(),e.createBlock(K,{key:r.Title,config:r,class:"action-button",onClick:T},null,8,["config"]))),128))])])])])}}}),_e=O(Zt,[["__scopeId","data-v-621cefc1"]]),eo={class:"list-container"},to={class:"page-title"},oo={class:"query-title"},no={class:"field-wrapper"},ao=e.defineComponent({name:"ListView",__name:"ListView",props:{className:{}},setup(t){const n=q(),d=G(),o=W(),a=t,m=e.ref(),c=e.reactive({current:1,total:0,pageSize:10,defaultPageSize:10,showTotal:!0,showPageSize:!0,filters:[]});function p(){const w=Object.entries(_.value).filter(([,V])=>V&&V!=="").map(([V,S])=>({key:V,value:S}));return{pageNumber:c.current,pageSize:c.pageSize,filters:[...c.filters,...w],sorts:[{key:"status",type:0}]}}const s=e.computed(()=>({x:f.value.length*150+250})),i=w=>{const V=Object.entries(w).filter(([,S])=>S.widget?.column).map(([S,A],P)=>({title:A.widget.title,dataIndex:S.charAt(0).toLowerCase()+S.slice(1),order:A.order,ellipsis:!0,tooltip:!0,width:150,minWidth:100,resizable:!0})).sort((S,A)=>S.order-A.order);V.push({title:"Actions",slotName:"optional",align:"center",width:250,minWidth:200,fixed:"right",resizable:!1}),f.value=V},h=e.ref([]),f=e.ref([]),y=e.ref(!0),k=e.ref(!0),b=e.ref(),C=async()=>{k.value=!0;const w=await Ae(a.className,p());h.value=w.data,c.total=w.totalCount,k.value=!1},M=e.ref(!1);e.onMounted(async()=>{y.value=!0,m.value=await z(3,a.className,{svrStore:n,bpmStore:d}),i(m.value.fields),E(m.value.fields),r(m.value?.tabs?.[0]?.key||""),b.value=m.value.actions,y.value=!1,M.value=!0}),e.onActivated(()=>{M.value&&C()});const I=w=>{c.current=w,C()},L=w=>{c.pageSize=w,C()};function T(w,V,S,A,P){switch(w){case U.Link:o.push({name:S,params:{workflowId:P}});break;default:console.warn("Unknown action type:",w)}}function g(w,V,S){switch(w){case U.Link:o.push({name:S});break;default:console.warn("Unknown action type:",w)}}function u(){return n()?.userInfo?.email_address??""}function l(w,V){return w.replace(/{currentUserEmail}/g,V)}function r(w){const V=m.value?.tabs?.find(S=>S.key===w)?.filters;c.filters=V?.map(S=>({...S,value:l(S.value,u())}))||[],C()}const _=e.ref({}),v=e.computed(()=>m.value?.fields?Object.entries(m.value.fields).filter(([,w])=>w.isFiltered):[]),E=w=>{const V={};Object.entries(w).forEach(([S,A])=>{V[S]=A.modelValue}),_.value=V},B=()=>{c.current=1,C()},F=()=>{m.value&&E(m.value.fields),B()};function N(w,V){return!(w.location!=="InTable"||w.title==="Update"&&(V.status===100||V.status===-1))}return(w,V)=>{const S=e.resolveComponent("a-col"),A=e.resolveComponent("a-button"),P=e.resolveComponent("a-space"),ye=e.resolveComponent("a-row"),ke=e.resolveComponent("a-card"),be=e.resolveComponent("a-tab-pane"),Ve=e.resolveComponent("a-tabs"),Ce=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("div",to,e.toDisplayString(w.className)+" : List",1),e.createVNode(ke,null,{default:e.withCtx(()=>[e.createElementVNode("div",oo,[V[0]||(V[0]=e.createElementVNode("h3",null,"查询条件",-1)),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,$=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:$.title},[$.location==="InOperation"?(e.openBlock(),e.createBlock(K,{key:0,config:$,onClick:g},null,8,["config"])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(ye,{gutter:[24,20],class:"search-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,([$,j])=>(e.openBlock(),e.createBlock(S,{key:$,span:6,class:"search-col"},{default:e.withCtx(()=>[e.createVNode(Z,{name:$,config:j,modelValue:_.value[$],"onUpdate:modelValue":Y=>_.value[$]=Y,class:"form-field"},null,8,["name","config","modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),e.createVNode(S,{span:6,class:"search-col"},{default:e.withCtx(()=>[e.createElementVNode("div",no,[e.createVNode(P,{size:"medium"},{default:e.withCtx(()=>[e.createVNode(A,{type:"primary",size:"medium",onClick:B},{default:e.withCtx(()=>V[1]||(V[1]=[e.createTextVNode(" 查询 ",-1)])),_:1,__:[1]}),e.createVNode(A,{size:"medium",onClick:F},{default:e.withCtx(()=>V[2]||(V[2]=[e.createTextVNode(" 重置 ",-1)])),_:1,__:[2]})]),_:1})])]),_:1})]),_:1})]),_:1}),e.createVNode(Ve,{size:"large",onTabClick:r},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value?.tabs,$=>(e.openBlock(),e.createBlock(be,{key:$.key,title:$.title},null,8,["title"]))),128))]),_:1}),e.createVNode(Ce,{columns:f.value,data:h.value,stripe:"",border:"",pagination:{current:c.current,total:c.total,pageSize:c.pageSize,showTotal:c.showTotal,showPageSize:c.showPageSize,showJumper:!0,pageSizeOptions:[10,20,50,100]},loading:k.value,size:"medium",scroll:s.value,onPageChange:I,onPageSizeChange:L},{optional:e.withCtx(({record:$})=>[e.createVNode(P,{size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,j=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:j.title},[N(j,$)?(e.openBlock(),e.createBlock(K,{key:0,config:j,size:"small",onClick:(...Y)=>T(...Y,$.workflowId)},null,8,["config","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1024)]),_:1},8,["columns","data","pagination","loading","scroll"])])}}}),he=O(ao,[["__scopeId","data-v-78e2b122"]]);let Q={};function we(t){Q={...Q,...t}}function oe(){return Q}const ro={install(t,n={}){n.config&&we(n.config),n.router&&t.provide(ee,n.router),n.pinia&&t.provide(ue,n.pinia),n.useBpmStore&&t.provide(me,n.useBpmStore),n.useSvrStore&&t.provide(pe,n.useSvrStore),n.triggers&&t.provide(de,n.triggers),n.customComps&&t.provide(ve,n.customComps),t.component("CreateView",fe),t.component("UpdateView",ge),t.component("DetailView",_e),t.component("ListView",he)}};exports.CreateView=fe;exports.DetailView=_e;exports.ListView=he;exports.PiniaKey=ue;exports.RouterKey=ee;exports.UpdateView=ge;exports.default=ro;exports.getLibraryConfig=oe;exports.setLibraryConfig=we;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),$e=require("axios"),Ie=require("pinia"),Te=require("vue-router"),Le=Ie.defineStore("main",()=>({token:e.ref(void 0)})),Me=async t=>new Promise(o=>setTimeout(o,t)),Ue=async(t,o,s,n=void 0)=>{if(t[o]===void 0)try{t[o]=null,t[o]=await s()||n}catch(a){console.error(a),t[o]=void 0}for(;t[o]===null;)await Me(100);return t[o]};function ie(){const t=ae();return{apiBase:t.apiBase||void 0||"",appSecret:t.appSecret||void 0||""}}function ce(){const{apiBase:t}=ie();return $e.create({baseURL:t,timeout:1e4,withCredentials:!0})}const de=async()=>{const{apiBase:t,appSecret:o}=ie(),s=ce(),n=Le();return await Ue(n,"token",async()=>(await s.get(`${t}/GenerateToken`,{params:{appid:"bpm",appsecret:o}}))?.data?.token)},L=async()=>{const t=await de(),o=ce();return o.defaults.headers.common.Authorization=`Bearer ${t}`,o},X={CurrentUserEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",CurrentUserPositionCode:t=>t.bpmStore()?.positionCode??888,CurrentDatetime:()=>new Date().toISOString(),ApproverEmail:t=>t.svrStore()?.userInfo?.email_address??"test.email@dataGetter.ts",ApproverPositionCode:t=>t.bpmStore()?.positionCode??999,RejectReason:()=>"Test Reject Reason"},B=[];for(let t=0;t<256;++t)B.push((t+256).toString(16).slice(1));function Ae(t,o=0){return(B[t[o+0]]+B[t[o+1]]+B[t[o+2]]+B[t[o+3]]+"-"+B[t[o+4]]+B[t[o+5]]+"-"+B[t[o+6]]+B[t[o+7]]+"-"+B[t[o+8]]+B[t[o+9]]+"-"+B[t[o+10]]+B[t[o+11]]+B[t[o+12]]+B[t[o+13]]+B[t[o+14]]+B[t[o+15]]).toLowerCase()}let Q;const De=new Uint8Array(16);function Fe(){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(De)}const Re=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),re={randomUUID:Re};function ue(t,o,s){if(re.randomUUID&&!t)return re.randomUUID();t=t||{};const n=t.random??t.rng?.()??Fe();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Ae(n)}var $=(t=>(t[t.Submit=0]="Submit",t[t.Link=1]="Link",t))($||{}),F=(t=>(t[t.Create=0]="Create",t[t.Update=1]="Update",t[t.Details=2]="Details",t[t.List=3]="List",t))(F||{});function He(t,o,s){const n={pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}};return t.__ClassAttributes?.forEach(a=>{if(a.attributeType==="UIPageType")n.pageType=a.Type;else if(a.attributeType==="UIValidationControl")n.globalValidations.push({rule:a.ruleName,errorMessage:a.errorMessage,param:a.ruleParameter,appliesTo:a.propertyNames||["*"]});else if(a.attributeType==="UIControl"){if(a.widget==="Tab"){n.tabs||(n.tabs=[]),n.tabs.unshift({key:ue(),title:a.title,filters:a.filters?JSON.parse(a.filters):[]});return}n.actions||(n.actions=[]),n.actions.push({isSubmit:a.isSubmit,requestUrl:a.requestUrl,redirectUrl:a.redirectUrl,redirectType:a.redirectType,title:a.title,widget:a.widget==="Link"?$.Link:$.Submit,location:a.location,attributeType:a.attributeType,readonly:a.readonly})}else a.attributeType==="Banner"&&(n.banner.title=a.title,n.banner.subTitle=o===0?a.subTitle:pe(a.subTitle,t.workflowId.propertyValue))}),Object.entries(t).forEach(([a,d])=>{if(a==="__ClassAttributes"||a==="className"||a==="id"||a==="deleteFlag"||a==="status"||a==="workFlowReason"||o!==3&&a==="workflowId")return;const c={validations:[],triggers:[],isFiltered:!1,dependent:""},{attributes:m,propertyValue:r}=d;switch(r){case null:c.modelValue="";break;case void 0:c.modelValue="";break;default:c.modelValue=r;break}a==="onBehalf"&&o===0&&(c.modelValue=X.CurrentUserEmail(s)),m?.forEach(l=>{l.order||l.Order?c.order=l.order??l.Order:l.attributeType==="UIControl"?c.widget={...l,column:!0}:l.attributeType==="UIValidationControl"&&o!==3?c.widget?.widget!=="CheckBox"&&c.validations.push(l):l.attributeType==="UIListed"?c.widget={...l,column:!0}:l.attributeType==="UIFiltered"?c.isFiltered=!0:l.dependentType?c.dependent=X[l.dependentType]?X[l.dependentType](s):"":l.eventType==="Change"&&c.triggers?.push({event:"change",handlerName:l.eventName})}),n.fields[a]=c}),n}const O=async(t,o,s,n)=>{const d=await(await L()).get(`/General/${o}/${t}/page`,{params:n});return He(d?.data,t,s)},me=async(t,o,s)=>(await(await L()).post(`/General/${o}/${t}/button/List`,null,{params:s}))?.data;async function Pe(t,o){const n=await(await L()).post(`/General/${t}/list`,o);return{data:n.data.data,totalCount:n.data.totalCount}}async function je(t,o,s){const a=await(await L()).post(s,o,{params:{className:t}});return a.data.length>0?a.data[0]:0}function ze(t,o){return t.replace(/{workflowId}/g,o)}async function Ke(t,o,s,n){const a=await L(),d=ze(n,o);return(await a.put(d,s,{params:{className:t}}))?.data}function pe(t,o){return t.replace(/{WorkflowId}/g,o)}function Oe(t,o){return t.replace(/{ApproverEmail}/g,encodeURIComponent(o))}function We(t,o){return t.replace(/{WorkFlowReason}/g,encodeURIComponent(o))}function Ge(t,o){return t.replace(/{Status}/g,o)}function qe(t,o){return t.replace(/{IfTriggerGlobal_RandP_Approval}/g,o)}function Ye(t,o){return t.replace(/{ClassName}/g,encodeURIComponent(o))}async function Je(t,o,s,n,a,d,c,m){const r=await L();let l=pe(d,o);return l=Oe(l,s),l=We(l,n),l=Ge(l,c),l=qe(l,m),l=Ye(l,t),(await r.put(l,a))?.data}async function Xe(t,o){const a=(await(await L()).get(t,{params:{value:o}}))?.data;return Object.entries(a).map(([d,c])=>({value:d,label:c}))}async function Qe(t,o){return(await(await L()).get(`/General/${t}/${o}/process`))?.data}function Ze(t){return{uid:t.id??ue(),name:t.attachmentName??"unknown",url:t.attachmentKey??""}}async function fe(t,o){return(await(await L()).get(`/General/${t}/${o}/upload/get`))?.data.reduce((d,c)=>{const{category:m}=c;return d[m]||(d[m]=[]),d[m].push(Ze(c)),d},{})}const R=(t,o)=>{let s="";return{res:t.every(a=>{const d=et(a,o);return d||(s=a.errorMessage),d}),errorMessages:s}},et=(t,o)=>{const{ruleName:s,ruleParameter:n}=t;return tt[s](n,o)},tt={Regex:(t,o)=>new RegExp(t).test(o),Required:(t,o)=>!!o},se=e.defineComponent({__name:"InputText",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.useModel(t,"modelValue"),c=l=>R(n.validations,l),m=l=>{a("input",l)},r=l=>{const k=c(l);a("error",k.res?"":k.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(f=>{f.event==="change"&&a(f.event,f.handlerName,l)})};return o({validate(){const l=c(n.modelValue);return a("error",l.res?"":l.errorMessages),l.res}}),(l,k)=>{const f=e.resolveComponent("AInput");return e.openBlock(),e.createBlock(f,{modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=w=>d.value=w),"allow-clear":"",disabled:n.readonly||n.config.Readonly,onInput:m,onChange:r},null,8,["modelValue","disabled"])}}}),ot=e.defineComponent({__name:"InputNumber",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.useModel(t,"modelValue"),c=e.ref(100),m=e.ref(0);e.onMounted(()=>{n.validations&&n.validations.forEach(f=>{f.ruleName==="Max"&&(c.value=f.ruleParameter),f.ruleName==="Min"&&(m.value=f.ruleParameter)})});const r=f=>R(n.validations,f),l=f=>{a("input",f)},k=f=>{const w=r(f);a("error",w.res?"":w.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(_=>{_.event==="change"&&a(_.event,_.handlerName,f)})};return o({validate(){const f=r(n.modelValue);return a("error",f.res?"":f.errorMessages),f.res}}),(f,w)=>{const _=e.resolveComponent("AInputNumber");return e.openBlock(),e.createBlock(_,{modelValue:d.value,"onUpdate:modelValue":w[0]||(w[0]=h=>d.value=h),clearable:"",disabled:n.readonly,min:m.value,max:c.value,onInput:l,onChange:k},null,8,["modelValue","disabled","min","max"])}}}),le=e.defineComponent({__name:"SelectList",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.ref(!1),c=e.ref(n.config.options??[]),m=e.useModel(t,"modelValue"),r=f=>R(n.validations,f);e.computed(()=>{const f={};return n.triggers&&n.triggers.length>0&&n.triggers.forEach(w=>{f[w.event]=_=>{a(w.event,w.handlerName,_);const h=r(_);a("error",h.res?"":h.errorMessages)}}),f});const l=async()=>{n.config.dataSourceProvider&&(c.value=await Xe(n.config.dataSourceProvider))};e.onMounted(l);const k=f=>{a("update:modelValue",f);const w=r(f);a("error",w.res?"":w.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(_=>{_.event==="change"&&a(_.event,_.handlerName,f)})};return o({validate(){const f=r(n.modelValue);return a("error",f.res?"":f.errorMessages),f.res}}),(f,w)=>{const _=e.resolveComponent("AOption"),h=e.resolveComponent("ASelect");return e.openBlock(),e.createBlock(h,{"allow-clear":"",modelValue:m.value,"onUpdate:modelValue":w[0]||(w[0]=V=>m.value=V),loading:d.value,"filter-option":!0,"allow-search":!0,onChange:k},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,V=>(e.openBlock(),e.createBlock(_,{key:V.value,value:V.value,label:V.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue","loading"])}}}),nt=e.defineComponent({__name:"Cascader",props:{modelValue:{},config:{}},emits:["update:modelValue","change"],setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.ref(n.config.options??[]),c=r=>{a("update:modelValue",r),a("change",r)};e.onMounted(async()=>{if(n.config){const r=n.config.dataSourceProvider;if(r){const k=await(await L()).get(r);d.value=k.data}}});const m={value:"key",label:"value"};return o({validate(){return!0}}),(r,l)=>{const k=e.resolveComponent("ACascader"),f=e.resolveComponent("ASpace");return e.openBlock(),e.createBlock(f,{direction:"vertical",size:"large"},{default:e.withCtx(()=>[e.createVNode(k,{"field-names":m,"model-value":r.modelValue,options:d.value,style:{width:"320px"},placeholder:"Please select ...",onChange:c},null,8,["model-value","options"])]),_:1})}}}),at=e.defineComponent({__name:"FileUpload",props:{className:{},fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.ref({});e.onMounted(async()=>{const _=await de();d.value={Authorization:`Bearer ${_}`}});const c=_=>R(n.validations,_),r=ae().apiBase,l=e.ref(null),k=e.ref(0);function f(_,h,V){return _.replace(/{WorkflowId}/g,h).replace(/{ClassName}/g,V)}const w=e.computed(()=>{if(n.config.uploadURL){const _=r+n.config.uploadURL;return f(_,k.value.toString(),n.className)}return""});return o({submit(_){l.value&&(n.config.uploadURL&&(k.value=_),e.nextTick(()=>{l.value.submit()}))},validate(){const _=c(n.modelValue);return a("error",_.res?"":_.errorMessages),_.res}}),(_,h)=>{const V=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(V,{ref_key:"uploadRef",ref:l,"default-file-list":n.config.files,action:w.value,limit:n.config.allowedNumber,"auto-upload":!1,name:"files",headers:d.value},{"start-icon":e.withCtx(()=>h[0]||(h[0]=[])),_:1},8,["default-file-list","action","limit","headers"])}}}),rt=e.defineComponent({__name:"TextArea",props:{fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},emits:["update:modelValue","change","error","input"],setup(t,{expose:o,emit:s}){const n=t,a=s,d=r=>R(n.validations,r),c=r=>{a("update:modelValue",r),a("input",r)},m=r=>{a("update:modelValue",r);const l=d(r);a("error",l.res?"":l.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(k=>{k.event==="change"&&a(k.event,k.handlerName,r)})};return o({validate(){const r=d(n.modelValue);return a("error",r.res?"":r.errorMessages),r.res}}),(r,l)=>{const k=e.resolveComponent("ATextarea");return e.openBlock(),e.createBlock(k,{"model-value":n.modelValue,placeholder:"Please enter something","allow-clear":"",disabled:n.readonly,onInput:c,onChange:m},null,8,["model-value","disabled"])}}}),st=e.defineComponent({__name:"CheckBox",props:e.mergeModels({fieldKey:{},modelValue:{},config:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error","input"],["update:modelValue"]),setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.useModel(t,"modelValue"),c=r=>R(n.validations,r),m=r=>{const l=c(r);a("error",l.res?"":l.errorMessages),n.triggers&&n.triggers.length>0&&n.triggers.forEach(k=>{k.event==="change"&&a(k.event,k.handlerName,r)})};return o({validate(){const r=c(n.modelValue);return a("error",r.res?"":r.errorMessages),r.res}}),(r,l)=>{const k=e.resolveComponent("ACheckbox");return e.openBlock(),e.createBlock(k,{modelValue:d.value,"onUpdate:modelValue":l[0]||(l[0]=f=>d.value=f),clearable:"",disabled:n.readonly||n.config.Readonly,onChange:m},{default:e.withCtx(()=>l[1]||(l[1]=[e.createTextVNode("Yes",-1)])),_:1,__:[1]},8,["modelValue","disabled"])}}}),lt={class:"widget-wrapper"},it={class:"title mb-1.5"},ct={key:0,class:"required"},dt={class:"form-widget"},ut={class:"widget"},mt={key:0,class:"err-msg"},pt=e.defineComponent({__name:"index",props:e.mergeModels({config:{},className:{},fieldKey:{},modelValue:{},readonly:{type:Boolean},validations:{},triggers:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","error"],["update:modelValue"]),setup(t,{expose:o,emit:s}){const n=t,a=s,d=e.useModel(t,"modelValue"),c=e.useTemplateRef("widgetRef"),m=e.computed(()=>{switch(n.config?.widget?.widget){case"TextBox":return se;case"Number":return ot;case"SelectList":return le;case"Cascade":return nt;case"File":return at;case"TextArea":return rt;case"DropDown":return le;case"CheckBox":return st;default:return se}}),r=e.ref(""),l=w=>{r.value=w},k=(w,_)=>{a("change",w,_)};function f(){return n.config?.widget?.widget==="File"}return o({isFileUpload(){return n.config?.widget?.widget==="File"},submit(w){f()&&c.value.submit(w)},validate(){return c.value?.validate()},getCompName(){return n?.config?.widget?.title}}),(w,_)=>(e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("div",it,[e.createTextVNode(e.toDisplayString(n?.config?.widget?.title),1),n.config.validations.length?(e.openBlock(),e.createElementBlock("span",ct,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",dt,[e.createElementVNode("div",ut,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.value),{ref_key:"widgetRef",ref:c,modelValue:d.value,"onUpdate:modelValue":_[0]||(_[0]=h=>d.value=h),"field-key":n.fieldKey,config:n.config.widget,validations:n.config.validations,triggers:n.config.triggers,"class-name":n.className,onError:l,onChange:k},null,40,["modelValue","field-key","config","validations","triggers","class-name"]))]),r.value.length>0?(e.openBlock(),e.createElementBlock("div",mt,e.toDisplayString(r.value),1)):e.createCommentVNode("",!0)])]))}}),H=(t,o)=>{const s=t.__vccOpts||t;for(const[n,a]of o)s[n]=a;return s},te=H(pt,[["__scopeId","data-v-3ad59bc4"]]),ft=e.defineComponent({__name:"SubmitButton",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:o}){const s=t,n=o;function a(){n("click",s.url,s.redirectType)}return(d,c)=>{const m=e.resolveComponent("AButton");return e.openBlock(),e.createBlock(m,{type:"primary",onClick:a},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3})}}}),gt=e.defineComponent({__name:"DetailLink",props:{url:{},redirectType:{}},emits:["click"],setup(t,{emit:o}){const s=t,n=o;function a(){n("click",s.url,s.redirectType)}return(d,c)=>{const m=e.resolveComponent("ALink");return e.openBlock(),e.createBlock(m,{onClick:a},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3})}}}),K=e.defineComponent({__name:"index",props:{config:{}},emits:["click"],setup(t,{emit:o}){const s=t,n=o;function a(r,l){n("click",s.config.widget,r,l,s.config.title)}const d=e.computed(()=>{switch(s.config.location){case"InOperation":return ft;case"InTable":default:return gt}}),c=e.computed(()=>s.config.widget===$.Submit?s.config.requestUrl??"":s.config.widget===$.Link?s.config.redirectUrl??"":""),m=e.computed(()=>s.config.redirectType??"Details");return(r,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.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"]))}}),oe=Symbol("library-router");function W(){const t=e.inject(oe,null);return t||Te.useRouter()}const ge=Symbol("library-triggers");function ne(){const t=e.inject(ge,null);return t||{}}const ve=Symbol("library-pinia"),_e=Symbol("library-bpmStore"),ke=Symbol("library-svrStore");function G(){return e.inject(_e,null)}function q(){return e.inject(ke,null)}const vt={class:"top-bar"},_t={class:"banner-info"},kt={class:"page-title"},wt={class:"page-subtitle"},yt={class:"avatar-wrapper"},ht={class:"user-email"},bt=e.defineComponent({__name:"TopBar",props:{title:{},subTitle:{},email:{}},setup(t){return(o,s)=>{const n=e.resolveComponent("a-avatar"),a=e.resolveComponent("a-popover");return e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("div",_t,[e.createElementVNode("div",kt,e.toDisplayString(o.title),1),e.createElementVNode("div",wt,e.toDisplayString(o.subTitle),1)]),e.createElementVNode("div",yt,[e.createVNode(a,{trigger:"click"},{content:e.withCtx(()=>[e.createElementVNode("div",ht,e.toDisplayString(o.email),1)]),default:e.withCtx(()=>[e.createVNode(n,{size:48,autoFixFontSize:"",style:{cursor:"pointer",background:"#165DFF",color:"#fff"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.email.charAt(0).toUpperCase()),1)]),_:1})]),_:1})])])}}}),Y=H(bt,[["__scopeId","data-v-c0457235"]]),Ct={class:"page-container"},Vt={class:"page-body"},Nt={class:"form-card"},St={class:"form-fields"},Bt={key:0,class:"form-content"},xt={class:"page-footer"},Et={class:"action-container"},$t={class:"action-buttons"},It=e.defineComponent({__name:"CreateView",props:{className:{}},setup(t){const o=G(),s=q(),n=W(),a=ne(),d=e.useTemplateRef("dataWidgets"),c=e.getCurrentInstance(),m=t,r=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),l=e.ref([]),k=e.ref({});function f(g){return g?Object.entries(g).map(([i,u])=>({fieldKey:i,...u})).filter(i=>i.widget&&i.widget.widget!=="Hidden").filter(i=>!U.value.includes(i.fieldKey)):[]}function w(g){return g?Object.entries(g).filter(([i,u])=>u.dependent).reduce((i,[u,p])=>(i[u]=p.dependent,i),{}):[]}const _=e.computed(()=>r.value?.actions?[...r.value.actions].reverse():[]),h=e.reactive({}),V=e.ref(!1);e.onMounted(async()=>{V.value=!0,r.value=await O(F.Create,m.className,{svrStore:s,bpmStore:o}),l.value=f(r.value.fields),k.value=w(r.value.fields);for(const g in r.value.fields){if(r.value.fields[g].widget?.widget==="File"){const v=l.value.find(i=>i.fieldKey===g);v&&v.widget&&(v.widget.files=[]);continue}h[g]=r.value.fields[g].modelValue}V.value=!1});function I(){return s()?.userInfo?.email_address??""}async function A(g,v,i){switch(g){case $.Submit:let u=!0;if(d.value?.forEach(b=>{b?.validate&&(b.validate()||(u=!1))}),!u){c?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const p=await je(m.className,{...h,...k.value},v);d.value?.forEach(b=>{b?.submit&&b.submit(p)}),c?.appContext.config.globalProperties.$notification.success("创建成功!"),n.push({name:"List",params:{className:m.className}});break;case $.Link:i==="List"&&n.push({name:"List",params:{className:m.className}});break;default:console.warn("Unknown action type:",g)}}const M=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],U=e.ref(M);function N(g,v){a[g]?.(v,U),r.value&&(l.value=f(r.value.fields))}return(g,v)=>{const i=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(Y,{title:r.value.banner.title,subTitle:r.value.banner.subTitle,email:I()},null,8,["title","subTitle","email"]),e.createElementVNode("div",Vt,[e.createVNode(i,{loading:V.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(l.value,(u,p)=>(e.openBlock(),e.createElementBlock("div",{key:u.fieldKey,class:"form-field-wrapper"},[e.createVNode(te,{ref_for:!0,ref:"dataWidgets","field-key":u.fieldKey,config:u,"class-name":g.className,modelValue:h[u.fieldKey],"onUpdate:modelValue":b=>h[u.fieldKey]=b,class:"form-field",onChange:N},null,8,["field-key","config","class-name","modelValue","onUpdate:modelValue"])]))),128))]),g.$slots.content?(e.openBlock(),e.createElementBlock("div",Bt,[e.renderSlot(g.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",xt,[e.createElementVNode("div",Et,[e.renderSlot(g.$slots,"action",{},void 0,!0),e.createElementVNode("div",$t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,u=>(e.openBlock(),e.createBlock(K,{key:u.Title,config:u,class:"action-button",onClick:A},null,8,["config"]))),128))])])])])}}}),we=H(It,[["__scopeId","data-v-1b3d1fb4"]]),Tt={class:"page-container"},Lt={class:"page-body"},Mt={class:"form-card"},Ut={class:"form-fields"},At={key:0,class:"form-content"},Dt={class:"page-footer"},Ft={class:"action-container"},Rt={class:"action-buttons"},Ht=e.defineComponent({__name:"UpdateView",props:{className:{},workflowId:{}},setup(t){const o=W(),s=ne(),n=q(),a=G(),d=e.useTemplateRef("dataWidgets"),c=e.getCurrentInstance(),m=t,r=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),l=e.ref([]),k=e.ref({});function f(g){return g?Object.entries(g).map(([i,u])=>({fieldKey:i,...u})).filter(i=>i.widget&&i.widget.widget!=="Hidden").filter(i=>!U.value.includes(i.fieldKey)):[]}function w(g){return g?Object.entries(g).filter(([i,u])=>u.dependent).reduce((i,[u,p])=>(i[u]=p.dependent,i),{}):[]}const _=e.computed(()=>r.value?.actions?[...r.value.actions].reverse():[]),h=e.reactive({}),V=e.ref(!1);e.onMounted(async()=>{V.value=!0,r.value=await O(F.Update,m.className,{svrStore:n,bpmStore:a},{workflowId:m.workflowId});const g=await me(F.Update,m.className,{workflowId:m.workflowId,email:I()}),v=await fe(m.className,m.workflowId);r.value.actions=r.value.actions?.filter(i=>{const u=g.find(p=>p.button===i.title);return u?u.isShow:!0}),l.value=f(r.value.fields),k.value=w(r.value.fields);for(const i in r.value.fields){if(r.value.fields[i].widget?.widget==="File"){const u=l.value.find(p=>p.fieldKey===i);u&&u.widget&&(u.widget.files=v[i]??[]);continue}h[i]=r.value.fields[i].modelValue}V.value=!1});function I(){return n()?.userInfo?.email_address??""}async function A(g,v,i){switch(g){case $.Submit:let u=!0;if(d.value?.forEach(b=>{b?.validate&&(b.validate()||(u=!1))}),!u){c?.appContext.config.globalProperties.$message.error("表单验证未通过,请检查输入项");return}const p=await Ke(m.className,m.workflowId,{...h,...k.value},v);d.value?.forEach(b=>{b?.submit&&b.submit(p)}),c?.appContext.config.globalProperties.$notification.success("修改成功!"),o.push({name:"List",params:{className:m.className}});break;case $.Link:o.push({name:i,params:{className:m.className}});break;default:console.warn("Unknown action type:",g)}}const M=["jobScpope","currentWorkdayId","originalGrade","jobTitlePrevious","positionId"],U=e.ref(M);function N(g,v){s[g]?.(v,U),r.value&&(l.value=f(r.value.fields))}return(g,v)=>{const i=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Tt,[e.createVNode(Y,{title:r.value.banner.title,subTitle:r.value.banner.subTitle,email:I()},null,8,["title","subTitle","email"]),e.createElementVNode("div",Lt,[e.createVNode(i,{loading:V.value,class:"form-container"},{default:e.withCtx(()=>[e.createElementVNode("div",Mt,[e.createElementVNode("div",Ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(u,p)=>(e.openBlock(),e.createElementBlock("div",{key:u.fieldKey,class:"form-field-wrapper"},[e.createVNode(te,{ref_for:!0,ref:"dataWidgets","field-key":u.fieldKey,name:p,config:u,"class-name":g.className,modelValue:h[u.fieldKey],"onUpdate:modelValue":b=>h[u.fieldKey]=b,class:"form-field",onChange:N},null,8,["field-key","name","config","class-name","modelValue","onUpdate:modelValue"])]))),128))]),g.$slots.content?(e.openBlock(),e.createElementBlock("div",At,[e.renderSlot(g.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",Dt,[e.createElementVNode("div",Ft,[e.renderSlot(g.$slots,"action",{},void 0,!0),e.createElementVNode("div",Rt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,u=>(e.openBlock(),e.createBlock(K,{key:u.Title,config:u,class:"action-button",onClick:A},null,8,["config"]))),128))])])])])}}}),ye=H(Ht,[["__scopeId","data-v-8cfc2908"]]),he=Symbol("library-custom-comp");function Pt(){return e.inject(he,null)}const jt=Symbol("ArcoConfigProvider"),zt="arco",Kt="$arco",Ot=t=>{var o,s,n;const a=e.getCurrentInstance(),d=e.inject(jt,void 0);return`${(n=(s=d?.prefixCls)!=null?s:(o=a?.appContext.config.globalProperties[Kt])==null?void 0:o.classPrefix)!=null?n:zt}-${t}`},Wt=Object.prototype.toString;function Gt(t){return Wt.call(t)==="[object Number]"&&t===t}var qt=(t,o)=>{for(const[s,n]of o)t[s]=n;return t};const Yt=e.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:t=>["butt","round","square"].includes(t)},strokeLinejoin:{type:String,default:"miter",validator:t=>["arcs","bevel","miter","miter-clip","round"].includes(t)},rotate:Number,spin:Boolean},emits:{click:t=>!0},setup(t,{emit:o}){const s=Ot("icon"),n=e.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:t.spin}]),a=e.computed(()=>{const c={};return t.size&&(c.fontSize=Gt(t.size)?`${t.size}px`:t.size),t.rotate&&(c.transform=`rotate(${t.rotate}deg)`),c});return{cls:n,innerStyle:a,onClick:c=>{o("click",c)}}}}),Jt=["stroke-width","stroke-linecap","stroke-linejoin"];function Xt(t,o,s,n,a,d){return e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:e.normalizeClass(t.cls),style:e.normalizeStyle(t.innerStyle),"stroke-width":t.strokeWidth,"stroke-linecap":t.strokeLinecap,"stroke-linejoin":t.strokeLinejoin,onClick:o[0]||(o[0]=(...c)=>t.onClick&&t.onClick(...c))},o[1]||(o[1]=[e.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1)]),14,Jt)}var Z=qt(Yt,[["render",Xt]]);const Qt=Object.assign(Z,{install:(t,o)=>{var s;const n=(s=o?.iconPrefix)!=null?s:"";t.component(n+Z.name,Z)}}),Zt={class:"page-container"},eo={class:"page-body"},to={class:"detail-card"},oo={class:"detail-fields"},no={class:"detail-field"},ao={class:"field-label"},ro={key:1,class:"field-value"},so={key:0,class:"detail-content"},lo={class:"page-footer"},io={class:"action-container"},co={class:"action-buttons"},uo=e.defineComponent({__name:"DetailView",props:{className:{},workflowId:{}},setup(t){const o=q(),s=G(),n=ne(),a=W(),d=Pt(),c=e.getCurrentInstance(),m=t,r=e.ref({pageType:"",fields:{},globalValidations:[],banner:{title:"",subTitle:""}}),l=e.ref([]);function k(N){return N?Object.entries(N).map(([v,i])=>(typeof i.modelValue=="boolean"?i.fieldValue=i.modelValue?"Yes":"No":i.fieldValue=i.modelValue,{fieldKey:v,...i})).filter(v=>v.widget&&v.widget.widget!=="Hidden"):[]}const f=e.computed(()=>r.value?.actions?[...r.value.actions].reverse():[]),w=e.ref(!0),_=(N,g="yyyy-MM-dd hh:mm:ss.fff")=>{const v=new Date(N);if(isNaN(v.getTime()))return N;const i={yyyy:v.getFullYear(),yy:v.getFullYear().toString().substring(2),MM:(v.getMonth()+1).toString().padStart(2,"0"),M:v.getMonth()+1,dd:v.getDate().toString().padStart(2,"0"),d:v.getDate(),hh:v.getHours().toString().padStart(2,"0"),h:v.getHours(),mm:v.getMinutes().toString().padStart(2,"0"),m:v.getMinutes(),ss:v.getSeconds().toString().padStart(2,"0"),s:v.getSeconds(),fff:v.getMilliseconds().toString().padStart(3,"0"),f:v.getMilliseconds()};let u=g;for(const p of Object.keys(i))u=u.replace(p,i[p]);return u},h=(N,g)=>{const v=N.findIndex(i=>i.isCurrent);return N.map((i,u)=>{const p={id:i.id,title:"",proxy:"",sub:"",desc:"",status:1,time:""};p.title=i.workflowProcessApprovers[0]?.name;const b=i.workflowProcessApprovers[i.workflowProcessApprovers.length-1],D=i.workflowHistorys[i.workflowHistorys.length-1],P=D?.workflowHistoryApprovers[D?.workflowHistoryApprovers?.length-1];if(b&&P&&b?.email?.toLowerCase()!==P?.approverEmail?.toLowerCase()&&(p.title=`${P.name}`,p.proxy=`代理: ${b.name}`),i.sort>1?p.sub="审批角色:"+i.nodeName.replace("Submit","").replace("Approve",""):p.sub="提交申请",i.isCurrent&&g!==-1)p.desc="审批中",p.status=1;else{const E=i.workflowHistorys[i.workflowHistorys.length-1];if(E&&E.status===100)p.time=_(E.takeActionAt,"yyyy-MM-dd hh:mm:ss"),p.status=2,p.desc="已审批";else if(E&&E.status===999)p.time=_(E.takeActionAt,"yyyy-MM-dd hh:mm:ss"),p.status=0,p.desc="已跳过";else if(E)if(p.time=_(E.takeActionAt,"yyyy-MM-dd hh:mm:ss"),i.sort===1)p.status=2,p.desc="";else{const y=E.workflowHistoryApprovers[0];p.status=3,p.desc=y?.reason?`拒绝原因:${y.reason}`:"已拒绝"}else u<v||v===-1?(p.status=0,p.desc="已跳过"):(p.status=0,p.desc="待审批");E&&E.status}return p})},V=e.ref([]),I=e.ref(!1);e.onMounted(async()=>{w.value=!0,r.value=await O(F.Details,m.className,{svrStore:o,bpmStore:s},{workflowId:m.workflowId});const N=await me(F.Details,m.className,{workflowId:m.workflowId,email:M()}),g=await fe(m.className,m.workflowId);r.value.actions=r.value.actions?.filter(i=>{const u=N.find(p=>p.button===i.title);return u?u.isShow:!0}),I.value=N.find(i=>i.button==="IsGlobal")?.isShow??!1,l.value=k(r.value.fields);for(const i in r.value.fields)if(r.value.fields[i].widget?.widget==="File"){const u=l.value.find(p=>p.fieldKey===i);u&&u.widget&&(u.widget.files=g[i]??[])}const v=await Qe(m.className,m.workflowId);V.value=h(v,0),w.value=!1});async function A(N,g){return n[N]?.(g)}function M(){return o()?.userInfo?.email_address??""}async function U(N,g,v,i){try{switch(N){case $.Submit:const{reason:u,ifGlobal:p}=await A(i,{isGlobal:I.value}),b=i==="Approve"?"100":"-1";await Je(m.className,m.workflowId,M(),u,[Number(m.workflowId)],g,b,p);const D=i==="Approve"?"审批已通过!":"审批已拒绝!";c?.appContext.config.globalProperties.$notification.success(D),a.push({name:"List",params:{className:m.className}});break;case $.Link:v==="List"&&a.push({name:"List",params:{className:m.className}});break;default:console.warn("Unknown action type:",N)}}catch{}}return(N,g)=>{const v=e.resolveComponent("a-link"),i=e.resolveComponent("a-space"),u=e.resolveComponent("a-spin");return e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(Y,{title:r.value.banner.title,subTitle:r.value.banner.subTitle,email:M()},null,8,["title","subTitle","email"]),e.createElementVNode("div",eo,[e.createVNode(u,{loading:w.value,class:"detail-container"},{default:e.withCtx(()=>[e.createElementVNode("div",to,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).Steps),{steps:V.value},null,8,["steps"])),e.createElementVNode("div",oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,p=>(e.openBlock(),e.createElementBlock("div",{key:p.fieldKey,class:"detail-field-wrapper"},[e.createElementVNode("div",no,[e.createElementVNode("div",ao,e.toDisplayString(p.widget?.title),1),p.widget?.widget==="File"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(p.widget.files,b=>(e.openBlock(),e.createElementBlock("div",{class:"field-value",key:b.id},[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(b.name),1),e.createVNode(v,{href:b.url,target:"_blank"},{default:e.withCtx(()=>[e.createVNode(e.unref(Qt),{style:{color:"#7A00E6"}})]),_:2},1032,["href"])]),_:2},1024)]))),128)):(e.openBlock(),e.createElementBlock("div",ro,e.toDisplayString(p.fieldValue),1))])]))),128))]),N.$slots.content?(e.openBlock(),e.createElementBlock("div",so,[e.renderSlot(N.$slots,"content",{},void 0,!0)])):e.createCommentVNode("",!0)])]),_:3},8,["loading"])]),e.createElementVNode("div",lo,[e.createElementVNode("div",io,[e.renderSlot(N.$slots,"action",{},void 0,!0),e.createElementVNode("div",co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,p=>(e.openBlock(),e.createBlock(K,{key:p.Title,config:p,class:"action-button",onClick:U},null,8,["config"]))),128))])])])])}}}),be=H(uo,[["__scopeId","data-v-7604f8d3"]]),mo={class:"list-container"},po={class:"query-title"},fo={class:"field-wrapper"},go=e.defineComponent({name:"ListView",__name:"ListView",props:{className:{}},setup(t){const o=q(),s=G(),n=W(),a=t,d=e.ref(),c=e.reactive({current:1,total:0,pageSize:10,defaultPageSize:10,showTotal:!0,showPageSize:!0,filters:[]});function m(){const y=Object.entries(u.value).filter(([,C])=>C&&C!=="").map(([C,S])=>({key:C,value:S}));return{pageNumber:c.current,pageSize:c.pageSize,filters:[...c.filters,...y],sorts:[{key:"status",type:0}]}}const r=e.computed(()=>({x:f.value.length*150+250})),l=y=>{const C=Object.entries(y).filter(([,S])=>S.widget?.column).map(([S,T],j)=>({title:T.widget.title,dataIndex:S.charAt(0).toLowerCase()+S.slice(1),order:T.order,ellipsis:!0,tooltip:!0,width:150,minWidth:100,resizable:!0})).sort((S,T)=>S.order-T.order);C.push({title:"Actions",slotName:"optional",align:"center",width:250,minWidth:200,fixed:"right",resizable:!1}),f.value=C},k=e.ref([]),f=e.ref([]),w=e.ref(!0),_=e.ref(!0),h=e.ref(),V=async()=>{_.value=!0;const y=await Pe(a.className,m());k.value=y.data,c.total=y.totalCount,_.value=!1},I=e.ref(!1);e.onMounted(async()=>{w.value=!0,d.value=await O(3,a.className,{svrStore:o,bpmStore:s}),l(d.value.fields),b(d.value.fields),i(d.value?.tabs?.[0]?.key||""),h.value=d.value.actions,w.value=!1,I.value=!0}),e.onActivated(()=>{I.value&&V()});const A=y=>{c.current=y,V()},M=y=>{c.pageSize=y,V()};function U(y,C,S,T,j){switch(y){case $.Link:n.push({name:S,params:{workflowId:j}});break;default:console.warn("Unknown action type:",y)}}function N(y,C,S){switch(y){case $.Link:n.push({name:S});break;default:console.warn("Unknown action type:",y)}}function g(){return o()?.userInfo?.email_address??""}function v(y,C){return y.replace(/{currentUserEmail}/g,C)}function i(y){const C=d.value?.tabs?.find(S=>S.key===y)?.filters;c.filters=C?.map(S=>({...S,value:v(S.value,g())}))||[],V()}const u=e.ref({}),p=e.computed(()=>d.value?.fields?Object.entries(d.value.fields).filter(([,y])=>y.isFiltered):[]),b=y=>{const C={};Object.entries(y).forEach(([S,T])=>{C[S]=T.modelValue}),u.value=C},D=()=>{c.current=1,V()},P=()=>{d.value&&b(d.value.fields),D()};function E(y,C){return!(y.location!=="InTable"||y.title==="Update"&&(C.status===100||C.status===-1))}return(y,C)=>{const S=e.resolveComponent("a-col"),T=e.resolveComponent("a-button"),j=e.resolveComponent("a-space"),Ne=e.resolveComponent("a-row"),Se=e.resolveComponent("a-card"),Be=e.resolveComponent("a-tab-pane"),xe=e.resolveComponent("a-tabs"),Ee=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",mo,[e.createVNode(Y,{title:d.value?.banner.title??"",subTitle:d.value?.banner.subTitle??"",email:g()},null,8,["title","subTitle","email"]),e.createVNode(Se,null,{default:e.withCtx(()=>[e.createElementVNode("div",po,[C[0]||(C[0]=e.createElementVNode("h3",null,"查询条件",-1)),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.title},[x.location==="InOperation"?(e.openBlock(),e.createBlock(K,{key:0,config:x,onClick:N},null,8,["config"])):e.createCommentVNode("",!0)],64))),128))])]),e.createVNode(Ne,{gutter:[24,20],class:"search-row"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,([x,z])=>(e.openBlock(),e.createBlock(S,{key:x,span:6,class:"search-col"},{default:e.withCtx(()=>[e.createVNode(te,{name:x,config:z,modelValue:u.value[x],"onUpdate:modelValue":J=>u.value[x]=J,class:"form-field"},null,8,["name","config","modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),e.createVNode(S,{span:6,class:"search-col"},{default:e.withCtx(()=>[e.createElementVNode("div",fo,[e.createVNode(j,{size:"medium"},{default:e.withCtx(()=>[e.createVNode(T,{type:"primary",size:"medium",onClick:D},{default:e.withCtx(()=>C[1]||(C[1]=[e.createTextVNode(" 查询 ",-1)])),_:1,__:[1]}),e.createVNode(T,{size:"medium",onClick:P},{default:e.withCtx(()=>C[2]||(C[2]=[e.createTextVNode(" 重置 ",-1)])),_:1,__:[2]})]),_:1})])]),_:1})]),_:1})]),_:1}),e.createVNode(xe,{size:"large",onTabClick:i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value?.tabs,x=>(e.openBlock(),e.createBlock(Be,{key:x.key,title:x.title},null,8,["title"]))),128))]),_:1}),e.createVNode(Ee,{columns:f.value,data:k.value,stripe:"",border:"",pagination:{current:c.current,total:c.total,pageSize:c.pageSize,showTotal:c.showTotal,showPageSize:c.showPageSize,showJumper:!0,pageSizeOptions:[10,20,50,100]},loading:_.value,size:"medium",scroll:r.value,onPageChange:A,onPageSizeChange:M},{optional:e.withCtx(({record:x})=>[e.createVNode(j,{size:"small"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,z=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z.title},[E(z,x)?(e.openBlock(),e.createBlock(K,{key:0,config:z,size:"small",onClick:(...J)=>U(...J,x.workflowId)},null,8,["config","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1024)]),_:1},8,["columns","data","pagination","loading","scroll"])])}}}),Ce=H(go,[["__scopeId","data-v-477f539f"]]);let ee={};function Ve(t){ee={...ee,...t}}function ae(){return ee}const vo={install(t,o={}){o.config&&Ve(o.config),o.router&&t.provide(oe,o.router),o.pinia&&t.provide(ve,o.pinia),o.useBpmStore&&t.provide(_e,o.useBpmStore),o.useSvrStore&&t.provide(ke,o.useSvrStore),o.triggers&&t.provide(ge,o.triggers),o.customComps&&t.provide(he,o.customComps),t.component("CreateView",we),t.component("UpdateView",ye),t.component("DetailView",be),t.component("ListView",Ce)}};exports.CreateView=we;exports.DetailView=be;exports.ListView=Ce;exports.PiniaKey=ve;exports.RouterKey=oe;exports.UpdateView=ye;exports.default=vo;exports.getLibraryConfig=ae;exports.setLibraryConfig=Ve;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|