@vue-start/pro 0.5.2 → 0.5.4
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/LICENSE.md +21 -0
- package/dist/index.d.ts +13 -8
- package/dist/index.es.js +778 -782
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var st=Object.defineProperty;var ct=(e,t,o)=>t in e?st(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var x=(e,t,o)=>(ct(e,typeof t!="symbol"?t+"":t,o),o);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),n=require("lodash"),R=require("rxjs"),L=require("@vue-start/hooks"),j=require("@vue-start/request"),Ee=require("rxjs/operators"),Ne=require("vue-router"),ut=()=>({elementMap:{type:Object},formElementMap:{type:Object},columns:{type:Array},columnState:{type:Object}}),_=ut(),it=()=>({elementMap:{type:Object},formElementMap:{type:Object},registerStores:{type:Array},registerActors:{type:Array},registerMetas:{type:Array}}),de=Symbol("pro-config"),$=()=>r.inject(de)||{},lt=r.defineComponent({props:{...it()},setup:(e,{slots:t})=>{const o=n.reduce(e.registerStores,(i,f)=>({...i,[f.key]:f}),{}),u=n.reduce(e.registerActors,(i,f)=>({...i,[f.actor.name]:f}),{}),c=n.reduce(e.registerMetas,(i,f)=>({...i,[f.actorName]:f}),{});je(c,u);const{dispatchRequest:s}=j.useRequestProvide(),a=(i,f,g)=>{const P=n.get(u,i);if(!!P)return s(P.actor,f,g)};return r.provide(de,{elementMap:e.elementMap,formElementMap:e.formElementMap,registerStoreMap:o,registerActorMap:u,registerMetaMap:c,dispatchRequest:a}),()=>{var i;return(i=t.default)==null?void 0:i.call(t)}}}),dt=(e={})=>t=>{t.provide(de,e)},mt=Object.prototype.hasOwnProperty,Te=(e,t)=>e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t,pt=(e,t)=>{if(Te(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const o=Object.keys(e),u=Object.keys(t);if(o.length!==u.length)return!1;for(let c=0;c<o.length;c++)if(!mt.call(t,o[c])||!Te(e[o[c]],t[o[c]]))return!1;return!0},ft="$store",ne=()=>r.inject(ft),gt=(e,t)=>(o={},u)=>{const c=typeof e=="function"?e(u):e;if(c==="")return o;const s=t(o[c],u),a={};for(const i in o)i!==c&&(a[i]=o[i]);return typeof s<"u"&&(a[c]=s),a};class yt{constructor(t){x(this,"group");x(this,"name");x(this,"stage");x(this,"effect");x(this,"arg");x(this,"opts");this.group=t.group||"UN_GROUPED",this.name=t.name||"UN_NAMED",this.stage=t.stage,this.effect=t.effect,this.arg=t.arg||{},this.opts=t.opts||{}}static of(t){return new this({group:t})}named(t,o){return new this.constructor({...this,name:t,opts:{...this.opts,...o}})}staged(t){return new this.constructor({...this,stage:t})}effectWith(t){return new this.constructor({...this,effect:t})}effectOn(t,o){return this.effectWith(gt(t,o))}with(t,o){return new this.constructor({...this,arg:t,opts:{...this.opts,...o}})}invoke(t){t.dispatch(this)}get type(){let t=!1;for(const o in this.opts)o!=="parentActor"&&(this.opts[o],t=!0);return`@@${this.group}/${this.name}${this.stage?`::${this.stage}`:""}${t?`${JSON.stringify(this.opts)}`:""}`}is(t){const o=this.isSameGroup(t)&&t.name===this.name;return this.stage?o&&t.stage===this.stage:o}isSameGroup(t){return t.group===this.group}}class re extends R.Observable{constructor(o,u,c=pt){super(s=>this.state$.pipe(Ee.map(a=>{const i=this.mapper(a);return c(i,this._value)||(this._value=i),this._value}),Ee.distinctUntilChanged()).subscribe(s));x(this,"_value");this.state$=o,this.mapper=u}static from(o,u){return new re(o,u,u.equalFn)}get value(){return typeof this._value>"u"&&(this._value=this.mapper(this.state$.value)),this._value}}const ht=(e,t)=>{const[o,u]=L.useState(t||e.value);return L.useEffect(()=>{const c=e.subscribe(s=>{u(s)});return()=>{c&&c.unsubscribe()}},void 0),o},Pt=(e,t)=>{const o=r.ref(t||e.value);return L.useEffect(()=>{const u=e.subscribe(c=>{o.value=c});return()=>{u&&u.unsubscribe()}},[]),o},bt=(e,t)=>re.from(e,t),St=e=>bt(ne(),e||(t=>t)),vt=yt.of("state"),Oe=vt.named("update").effectOn(e=>e.opts.key,(e,t)=>t.arg(e)),Re=()=>{const e=ne();return(t,o,u,c)=>{const s=`${u?"$":""}${t}`,a=n.isFunction(c)?c():c;Oe.with((i=a)=>n.isFunction(o)?o(i):o,{key:s}).invoke(e)}},Ct=(e,t,o)=>{const u=`${o?"$":""}${e}`,c=n.isFunction(t)?t():t,s=ne(),a=g=>Oe.with((P=c)=>n.isFunction(g)?g(P):g,{key:u}).invoke(s),i=re.from(s,g=>n.get(g,[u],c));return[ht(i),a]},Et=(e,t,o=!1)=>()=>{const[u,c]=Ct(e,t,o);return[u,c]},Ve=e=>(t,o)=>{const{requestSubject$:u}=j.useRequestProvide(),c=new Set(n.map(t,s=>n.isString(s)?s:s.name));L.useEffect(()=>{const s=u.pipe(R.filter(e),R.tap(a=>{c.has(a.name)&&o(a)})).subscribe();return()=>{s.unsubscribe()}},[])},Nt=Ve(j.isDoneRequestActor),Tt=Ve(j.isFailedRequestActor),Ke=(e,t,o)=>{const{requestSubject$:u,dispatchRequest:c}=j.useRequestProvide(),s=new Set(n.map(e,i=>n.isString(i)?i:i.name)),a={};L.useEffect(()=>{const i=R.merge(u.pipe(R.filter(j.isDoneRequestActor),R.tap(f=>{var g,P;s.has(f.name)&&((g=t.onSuccess)==null||g.call(t,f),(P=t.onFinish)==null||P.call(t,f),a[f.name]=void 0)})),u.pipe(R.filter(j.isFailedRequestActor),R.tap(f=>{var g,P;s.has(f.name)&&((g=t.onFailed)==null||g.call(t,f),(P=t.onFinish)==null||P.call(t,f),a[f.name]=void 0)}))).subscribe();return()=>{i.unsubscribe(),o&&n.forEach(a,f=>{f&&c({...f,stage:"CANCEL"})})}},[])},we=(e,t,o)=>{var c;const u=(c=e.res)==null?void 0:c.data;return t?t(u,e):o?n.get(u,o):u},Mt=()=>{const e=ne(),{registerMetaMap:t,dispatchRequest:o}=$();return u=>{const c=n.get(t,u);if(!c)return;const s=c.storeName||u;n.get(e.value,s)||o(u,c.initParams||{})}},je=(e,t)=>{const{requestSubject$:o}=j.useRequestProvide(),u=Re(),c=s=>{const a=n.get(e,s.name),i=n.get(t,s.name);return!!(a&&i&&i.actor)};L.useEffect(()=>{const s=o.pipe(R.filter(c),R.tap(a=>{const i=n.get(e,a.name);if(!i)return;const f=i.storeName||a.name,g=we(a,i.convertData,i.convertPath);u(f,g,!1,void 0)})).subscribe();return()=>{s.unsubscribe()}},[])},me=e=>e.formValueType||e.valueType||"text",B=e=>{var t;return((t=e.formItemProps)==null?void 0:t.name)||e.dataIndex},pe=(e,t,o=!0)=>{var i;const u=me(t),c=n.get(e,u);if(!c)return null;const s=B(t),a=o?t.formItemProps:n.omit(t.formItemProps,"rules");return r.h(c,{key:s,name:s,label:t.title,...a,fieldProps:n.omit(t.formFieldProps,"slots"),showProps:t.showProps},(i=t.formFieldProps)==null?void 0:i.slots)},oe=(e,t,o)=>{var s;const u=t.valueType||"text",c=n.get(e,u);return c?r.h(c,{...n.omit(t.formFieldProps,"slots"),showProps:t.showProps,value:o},(s=t.formFieldProps)==null?void 0:s.slots):null},ae=(e,t)=>n.map(t,o=>G(e,o)),$e=(e,t)=>{var c;const o=t.elementProps,u={...t.elementProps};return n.forEach((c=t.highConfig$)==null?void 0:c.registerPropsTrans,s=>{const a=n.get(o,s.name);if(!(!a||r.isVNode(a))){if(n.isArray(a)){if(n.some(a,i=>r.isVNode(i)))return;n.set(u,s.name,ae(e,a));return}!a.elementType||(s.isFun?n.set(u,s.name,(...i)=>{const f=s.needParams?{...a.elementProps,params$:i}:a.elementProps;return G(e,{...a,elementProps:f})}):n.set(u,s.name,G(e,a)))}}),u},xe=(e,t)=>{const o=n.size(t.children)>0?ae(e,t.children):void 0,u=t.childrenSlotName||"default",c=n.omit(t.slots,o?u:"");return n.forEach(n.keys(c),s=>{const a=c[s];a&&!n.isFunction(a)&&a.elementType&&(c[s]=(...i)=>{const f=a.needParams?{...a.elementProps,params$:i}:a.elementProps;return G(e,{...a,elementProps:f})})}),{[u]:o?()=>o:void 0,...c}},G=(e,t)=>{const o=n.get(e,t.elementType)||t.elementType;if(t.highConfig$)return r.h(Ue,{key:t.elementId,elementMap:e,elementConfig:t});const u=xe(e,t),c=$e(e,t);return r.h(o,{key:t.elementId,...c},u)},qe=e=>n.isArray(e)?n.head(e):n.isString(e)&&e.indexOf(".")>0?e.substring(0,e.indexOf(".")):e,Ue=r.defineComponent({props:{elementMap:{type:Object},elementConfig:{type:Object}},setup:e=>{const{state:t,sendEvent:o}=X(),{elementMap:u,elementConfig:c}=e,s=c.highConfig$,a=$e(u,c),i=n.reduce(s.registerEventList,(p,l)=>({...p,[l.name]:(...d)=>{o({type:l.sendEventName||c.elementId,payload:d})}}),{}),f=r.computed(()=>{if(!s.registerStateList||n.size(s.registerStateList)<=0)return;const p={...a},l=n.map(s.registerStateList,d=>{const y=d.mapName||d.name,m=n.get(t,d.name);return n.set(p,y,m),qe(y)});return n.pick(p,l)}),g=n.get(u,c.elementType)||c.elementType,P=xe(u,c);return()=>n.get(f.value,"show$")===!1?null:r.h(g,{key:c.elementId,...a,...n.omit(f.value,"show$"),...i},P)}}),Be=Symbol("pro-module"),X=()=>r.inject(Be),ze=e=>{r.provide(Be,e)},se=e=>{const{subject$:t}=X();L.useEffect(()=>{const o=t.subscribe({next:u=>{e(u)}});return()=>o.unsubscribe()},[])},W={Success:"request-success$",Fail:"request-fail$"},It=()=>({state:{type:Object},elementMap:{type:Object},elementConfigs:{type:Array},requests:{type:Array}}),Z=r.defineComponent({props:{...It()},setup:(e,{slots:t,expose:o})=>{const u=l=>n.isArray(l)?ae(e.elementMap,l):G(e.elementMap,l),c=new R.Subject,s=l=>{c.next(l)},a=e.state||r.reactive({}),i=l=>{const d=a[l.type],y=n.isFunction(l.payload)?l.payload(d):l.payload;if(n.isObject(d)){L.setReactiveValue(a[l.type],y);return}a[l.type]=y},{dispatchRequest:f}=j.useRequestProvide(),g=n.reduce(e.requests,(l,d)=>{var y;return{...l,[(y=d.actor)==null?void 0:y.name]:d}},{}),P=n.reduce(e.requests,(l,d)=>({...l,[d.action]:d}),{}),p=(l,...d)=>{const y=n.get(g,l)||n.get(P,l);if(!y)return;let m;y.convertParams?m=y.convertParams(...d):m=n.get(d,0),y.loadingName&&i({type:y.loadingName,payload:!0}),f(y.actor,m)};return Ke(n.keys(g),{onSuccess:l=>{var y,m;const d=n.get(g,l.name);if(d!=null&&d.stateName){const b=d.convertData?d.convertData(l):(y=l.res)==null?void 0:y.data;i({type:d.stateName,payload:b})}s({type:W.Success,payload:{actor:l,requestOpts:d}}),(m=d.onSuccess)==null||m.call(d,l)},onFailed:l=>{var y;const d=n.get(g,l.name);s({type:W.Fail,payload:{actor:l,requestOpts:d}}),(y=d.onFailed)==null||y.call(d,l)},onFinish:l=>{const d=n.get(g,[l.name,"loadingName"]);d&&i({type:d,payload:!1})}},!0),ze({elementMap:e.elementMap,subject$:c,sendEvent:s,state:a,dispatch:i,requests:e.requests,sendRequest:p}),o({sendEvent:s,sendRequest:p}),()=>{var l;return r.createVNode(r.Fragment,null,[n.size(e.elementConfigs)>0&&u(e.elementConfigs),(l=t.default)==null?void 0:l.call(t)])}}}),Ft=()=>{const e=Re(),{registerStoreMap:t}=$();return(o,u)=>{const c=n.get(t,o);!c||e(o,u,!!c.persist,c.initialState)}},Dt=e=>{const{registerStoreMap:t}=$(),o=n.get(t,e),u=`${o!=null&&o.persist?"$":""}${o==null?void 0:o.key}`;return Pt(St(s=>{const a=n.get(s,u);return a||(n.isFunction(o==null?void 0:o.initialState)?o==null?void 0:o.initialState():o==null?void 0:o.initialState)}))},_e=Et("access",void 0,!0),Ge=()=>{const[e]=_e();return e},At=()=>{const[e,t]=_e();return[e,t,()=>{t(void 0)}]},Lt=r.defineComponent((e,{slots:t,emit:o})=>{const u=Ge(),c=r.computed(()=>u&&u.token);return L.useEffect(()=>{c.value||o("toLogin")},c),()=>{var s;return c.value?(s=t.default)==null?void 0:s.call(t):null}}),fe=Symbol("logon-user"),kt=()=>r.inject(fe),Ot=r.defineComponent((e,{slots:t})=>{const[o,u]=L.useState(),[c,s]=L.useState(),a={};return r.provide(fe,{user:o,setUser:u,per:c,setPer:s,opts:a}),()=>{var i;return(i=t.default)==null?void 0:i.call(t)}}),A={LoadingKey:"Loading$",RowKey:"Row$",ColKey:"Col$",ButtonKey:"Button$",DescriptionsKey:"ProDescriptions$",DescriptionsItemKey:"ProDescriptionsItem$",PaginationKey:"Pagination$",PopoverKey:"Popover$",CheckboxKey:"Checkbox$",ModalKey:"Modal$",FormKey:"Form$",FormItemKey:"FormItem$",TableKey:"Table$",ProFormKey:"ProForm$",ProSearchFormKey:"ProSearchForm$",ProTableKey:"ProTable$"},K=()=>{const{elementMap:e}=$();return t=>n.get(e,t)};function Rt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const Vt=()=>({row:{type:Object,default:void 0},col:{type:Object},items:{type:Array}}),ee=r.defineComponent({props:{...Vt()},setup:e=>{const t=K(),o=t(A.RowKey),u=t(A.ColKey);return()=>{let c;return!o||!u?null:r.createVNode(o,e.row,Rt(c=n.map(e.items,s=>r.createVNode(u,r.mergeProps({key:s.rowKey},e.col,s.col),{default:()=>[s.vNode]})))?c:{default:()=>[c]})}}}),We=(e,t,o)=>{if(t){const u=n.filter(n.keys(t),c=>!t[c]);return n.omit(e,u)}if(o){const u=n.filter(n.keys(o),c=>!o[c](e));return n.omit(e,u)}return e},ge=e=>{if(!!e)return n.isArray(e)?e:e&&n.isString(e)&&e.indexOf(".")>0?n.split(e,"."):[e]},Q=(e,t,o)=>!t||!o?e:n.map(e,u=>{const c=n.isFunction(o)?o(u):n.get(u,o),s=n.get(t,c);return!s||n.isEmpty(s)||n.isFunction(s)||!n.isObject(s)?u:n.mergeWith(u,s,(a,i)=>{if(n.isArray(a)||n.isArray(i))return i})}),z=(e,t)=>{const o=n.reduce(e,(u,c)=>({...u,[c]:(...s)=>{var a,i;return(i=(a=t.value)==null?void 0:a[c])==null?void 0:i.call(a,...s)}}),{});return o.originRef=t,o},Kt=(e,t,o)=>{const u={originRef:e,...o};return t&&n.size(t)>0&&n.forEach(t,c=>{u[c]=(...s)=>{var a,i;return(i=(a=e.value)==null?void 0:a[c])==null?void 0:i.call(a,...s)}}),u},ye=(e,t)=>n.get(e,["extra",t])||n.get(e,t),q=(e,t)=>{const o=n.keys(e),u=`${t}-`,c=n.filter(o,a=>n.startsWith(a,u)),s=n.pick(e,c);return n.mapKeys(s,(a,i)=>i.replace(u,""))},He=Symbol("pro-form-list"),he=()=>r.inject(He),Pe=e=>{r.provide(He,e)},wt=r.defineComponent({props:{pathList:{type:Array}},setup:(e,{slots:t})=>(Pe({pathList:e.pathList}),()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}),jt=()=>({rowKey:{type:String,default:"id"},name:{type:[String,Number,Array],required:!0}}),$t=r.defineComponent({props:{...jt()},setup:(e,{slots:t})=>{const u=K()(A.FormItemKey),{formState:c,readonly:s}=be(),a=he(),i=ge(e.name),f=a!=null&&a.pathList?[...a.pathList,...i]:i,g=()=>{let p=n.get(c,f);n.isArray(p)||(p=[]),p.push({[e.rowKey]:new Date().valueOf()}),n.set(c,f,p)},P=p=>{const l=n.get(c,f);n.size(l)<=0||l.splice(p,1)};return()=>u?r.createVNode(u,n.omit(e,"rowKey"),{default:()=>{var p;return[n.map(n.get(c,f),(l,d)=>r.createVNode(wt,{key:l[e.rowKey]||d,pathList:[...f,d]},{default:()=>{var y,m,b;return[r.createVNode("div",{class:"pro-form-list-item"},[(y=t.default)==null?void 0:y.call(t),!s.value&&r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"pro-form-list-item-add",onClick:g},[(m=t.itemAdd)==null?void 0:m.call(t)]),r.createVNode("div",{class:"pro-form-list-item-minus",onClick:()=>P(d)},[(b=t.itemMinus)==null?void 0:b.call(t)])])])]}})),!s.value&&r.createVNode("div",{class:"pro-form-list-add",onClick:g},[(p=t.add)==null?void 0:p.call(t)])]}}):null}}),Xe=Symbol("pro-form"),be=()=>r.inject(Xe),xt=e=>{r.provide(Xe,e)};exports.FormAction=void 0;(function(e){e.RESET="RESET",e.SUBMIT="SUBMIT",e.CONTINUE="CONTINUE"})(exports.FormAction||(exports.FormAction={}));const Me=()=>({clsName:{type:String,default:"pro-form"},model:{type:Object},readonly:{type:Boolean,default:void 0},showState:{type:Object},showStateRules:{type:Object},readonlyState:{type:Object},readonlyStateRules:{type:Object},disableState:{type:Object},disableStateRules:{type:Object},needRules:{type:Boolean,default:!0},provideExtra:{type:Object},operate:{type:Object},submitLoading:{type:Boolean},formMethods:{type:Array}}),Je=r.defineComponent({inheritAttrs:!1,props:{..._,...Me(),...n.omit(ee.props,"items")},setup:(e,{slots:t,emit:o,expose:u,attrs:c})=>{const{elementMap:s,formElementMap:a}=$(),i=e.elementMap||s,f=e.formElementMap||a,g=e.model||r.reactive({}),P=e.showState||r.reactive({}),p=e.readonlyState||r.reactive({}),l=e.disableState||r.reactive({});L.useEffect(()=>{e.showStateRules&&n.forEach(e.showStateRules,(S,h)=>{P[h]=S(g)}),e.readonlyStateRules&&n.forEach(e.readonlyStateRules,(S,h)=>{p[h]=S(g)}),e.disableStateRules&&n.forEach(e.disableStateRules,(S,h)=>{l[h]=S(g)})},g);const d=r.computed(()=>e.readonly),y=r.computed(()=>Q(e.columns,e.columnState,S=>B(S))),m=S=>{const h=We(S,P,e.showStateRules);o("finish",h,S)},b=r.ref();u(z(e.formMethods||[],b)),xt({formState:g,showState:P,readonlyState:p,disableState:l,elementMap:i,formElementMap:f,readonly:d,columns:y,formRef:b,...e.provideExtra});const M=[{value:exports.FormAction.RESET,label:"\u91CD\u7F6E"},{value:exports.FormAction.SUBMIT,label:"\u63D0\u4EA4",extraProps:{type:"primary"}}],N=r.computed(()=>{const S=e.operate,h=(S==null?void 0:S.items)||M;return n.map(h,E=>(!E.onClick&&!n.get(S==null?void 0:S.itemState,[E.value,"onClick"])&&(E.value===exports.FormAction.RESET?E.onClick=()=>{var k;if(S!=null&&S.onReset){S.onReset();return}(k=b.value)==null||k.resetFields()}:E.value===exports.FormAction.SUBMIT?E.onClick=()=>{var k;if(S!=null&&S.onSubmit){S.onSubmit();return}(k=b.value)==null||k.submit()}:E.value===exports.FormAction.CONTINUE&&(S==null?void 0:S.onContinue)&&(E.onClick=()=>{S.onContinue()})),E.value===exports.FormAction.SUBMIT&&!n.has(E,"loading")&&(E.loading=e.submitLoading),E))}),v=S=>{const h=B(S);return h&&t[h]?t[h](S,g):pe(f,S,e.needRules)};Pe({});const T=n.keys(Me()),F=n.keys(n.omit(ee.props,"items")),D=n.get(s,A.FormKey);return()=>D?r.createVNode(D,r.mergeProps({ref:b,class:e.clsName},n.omit(c,"onFinish"),n.omit(e,...T,...F,"onFinish","operate"),{model:g,onFinish:m}),{default:()=>{var S,h,E;return[(S=t.start)==null?void 0:S.call(t),f&&n.size(y.value)>0&&r.createVNode(r.Fragment,null,[e.row?r.createVNode(ee,{row:e.row,col:e.col,items:n.map(y.value,k=>({rowKey:B(k),vNode:v(k),col:n.get(k,["extra","col"])}))},null):n.map(y.value,k=>v(k))]),(h=t.default)==null?void 0:h.call(t),e.operate&&r.createVNode(Se,r.mergeProps({clsName:"pro-form-operate",items:N.value},n.omit(e.operate,"items","onReset","onSubmit","onContinue")),null),(E=t.end)==null?void 0:E.call(t)]}}):null}});exports.SearchMode=void 0;(function(e){e.AUTO="AUTO",e.MANUAL="MANUAL"})(exports.SearchMode||(exports.SearchMode={}));const Ie=()=>({initEmit:{type:Boolean,default:!0},searchMode:{type:String,default:exports.SearchMode.AUTO},debounceKeys:{type:Array},debounceTypes:{type:Array,default:["text"]},debounceTime:{type:Number,default:800}}),qt=r.defineComponent({props:{...Ie(),needRules:{type:Boolean,default:!1}},setup:(e,{slots:t,expose:o})=>{const c=K()(A.ProFormKey),s=e.model||r.reactive({}),a=new Set(e.debounceTypes),i=n.map(n.filter(e.columns,y=>{const m=me(y);return a.has(m)}),y=>B(y)),f=r.ref(),g=e.formMethods||[];o(z(g,f));const P=()=>{var y;(y=f.value)==null||y.submit()},p=n.debounce(()=>{P()},e.debounceTime);L.useEffect(()=>{e.initEmit&&P()},[]);const l=(y,m,b)=>n.some(b,M=>n.get(y,M)!==n.get(m,M));L.useWatch((y,m)=>{if(e.searchMode!==exports.SearchMode.AUTO)return;const b=n.size(e.debounceKeys)>0?e.debounceKeys:i;if(n.size(b)>0&&l(y,m,b)){p();return}P()},()=>n.clone(s));const d=n.keys(n.omit(Ie(),"columns"));return()=>c?r.createVNode(c,r.mergeProps({ref:f},n.omit(e,d),{model:s}),t):null}}),Fe=()=>({readonly:{type:Boolean,default:void 0},fieldProps:{type:Object},showProps:{type:Object},slots:{type:Object}}),Ut=(e,t)=>({InputComp:o,valueType:u,name:c})=>r.defineComponent({name:c,props:{...e.props,...Fe()},setup:(s,{slots:a})=>{const{formState:i,showState:f,readonlyState:g,disableState:P,readonly:p,elementMap:l}=be(),d=he(),y=r.computed(()=>n.isBoolean(s.readonly)?s.readonly:n.isBoolean(g[s.name])?g[s.name]:p.value),m=ge(s.name),b=d!=null&&d.pathList?[...d.pathList,...m]:m,M=v=>{n.set(i,b,v)},N=n.keys(Fe());return()=>{const v=n.get(f,b);if(n.isBoolean(v)&&!v)return null;const T=n.get(i,b),F=n.get(l,u);return r.createVNode(e,r.mergeProps(n.omit(s,...N,"name","slots"),{name:b}),{default:()=>[y.value?r.createVNode(r.Fragment,null,[F?r.createVNode(F,r.mergeProps({value:T},s.fieldProps,{showProps:s.showProps}),a):r.createVNode("span",null,[T])]):r.createVNode(o,r.mergeProps(t(T,M,n.get(P,b)),s.fieldProps),a)],...s.slots})}}});function Bt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const zt=()=>({clsName:{type:String,default:"pro-operate"},items:{type:Array},itemState:{type:Object},elementKey:{type:String,default:A.ButtonKey}}),Se=r.defineComponent({props:{...zt()},setup:(e,{slots:t})=>{const o=K(),u=e.elementKey?o(e.elementKey):void 0,c=r.computed(()=>{const a=n.filter(e.items,i=>n.isFunction(i.show)?i.show():n.isBoolean(i.show)?i.show:!0);return n.map(a,i=>n.has(e.itemState,i.value)?{...i,...n.get(e.itemState,i.value)}:i)}),s=a=>{var i;(i=a.onClick)==null||i.call(a,a.value)};return()=>r.createVNode("div",{class:e.clsName},[n.map(c.value,a=>{const i=n.isFunction(a.disabled)?a.disabled():a.disabled,f=n.isFunction(a.loading)?a.loading():a.loading,g=n.isFunction(a.label)?a.label():a.label,P=n.isFunction(a.extraProps)?a.extraProps():a.extraProps,p={...n.omit(a,"show","disabled","element"),disabled:i};return a.element&&n.isFunction(a.element)?a.element(p):t[a.value]?t[a.value](p):u?r.createVNode(u,r.mergeProps({disabled:i,loading:f,onClick:()=>s(a)},P),Bt(g)?g:{default:()=>[g]}):r.createVNode("div",{class:`${e.clsName}-item`,onClick:()=>s(a)},[g])})])}}),_t=()=>({clsName:{type:String,default:"pro-table-toolbar-column"},signName:{type:String,default:"columnSetting"},popoverProps:Object}),Gt=r.defineComponent({props:{..._t()},setup:(e,{slots:t})=>{const o=K(),u=o(A.PopoverKey),c=o(A.CheckboxKey),{originColumns:s,state:a}=Ye(),[i,f]=L.useUpdateKey();L.useWatch(()=>{f()},()=>a.selectIds);const g=r.computed(()=>n.reduce(a.selectIds,(m,b)=>({...m,[b]:!0}),{})),P=m=>ye(m,e.signName),p=r.computed(()=>{const m=n.every(s.value,M=>{const N=P(M);return N!=null&&N.disabled?!0:n.get(g.value,M.dataIndex)}),b=n.some(s.value,M=>{const N=P(M);return N!=null&&N.disabled?!0:n.get(g.value,M.dataIndex)});return{checked:m,indeterminate:m?!1:b}}),l=m=>{var M;(n.isObject(m)?(M=m.target)==null?void 0:M.checked:m)?a.selectIds=n.map(s.value,N=>N.dataIndex):a.selectIds=n.map(n.filter(s.value,N=>{var v;return!!((v=P(N))!=null&&v.disabled)}),N=>N.dataIndex)},d=()=>{a.selectIds=n.map(n.filter(s.value,m=>{var b;return((b=P(m))==null?void 0:b.initShow)!==!1}),m=>m.dataIndex)},y=(m,b)=>{var N;(n.isObject(b)?(N=b.target)==null?void 0:N.checked:b)?a.selectIds=[...a.selectIds,m.dataIndex]:a.selectIds=n.filter(a.selectIds,v=>m.dataIndex!==v)};return()=>u?r.createVNode(u,r.mergeProps({trigger:"click"},e.popoverProps),{default:()=>{var m;return[((m=t.default)==null?void 0:m.call(t))||"\u5217\u8BBE\u7F6E"]},content:()=>r.createVNode("div",{class:`${e.clsName}`},[r.createVNode("div",{class:`${e.clsName}-header`},[r.createVNode(c,{checked:p.value.checked,indeterminate:p.value.indeterminate,onChange:l},{default:()=>[r.createTextVNode("\u5217\u5C55\u793A")]}),r.createVNode("a",{onClick:d},[r.createTextVNode("\u91CD\u7F6E")])]),r.createVNode("div",{key:i.value,class:`${e.clsName}-list`},[n.map(s.value,m=>{const b=P(m);return r.createVNode(c,{checked:n.get(g.value,m.dataIndex,!1),disabled:b==null?void 0:b.disabled,onChange:M=>{y(m,M)}},{default:()=>[m.title]})})])]),...n.omit(t,"default")}):null}}),Qe=Symbol("pro-table"),Ye=()=>r.inject(Qe),Wt=e=>{r.provide(Qe,e)},De=()=>({clsName:{type:String,default:"pro-table"},operate:{type:Object},columnEmptyText:{type:String},column:{type:Object},serialNumber:{type:[Boolean,Object]},paginationState:{type:Object},toolbar:{type:Object},provideExtra:{type:Object},tableMethods:{type:Array}}),Ht=r.defineComponent({inheritAttrs:!1,props:{..._,...De()},setup:(e,{slots:t,expose:o,attrs:u})=>{const{elementMap:c}=$(),s=e.elementMap||c,a=n.get(c,A.TableKey),i=()=>({title:"\u5E8F\u53F7",dataIndex:"serialNumber",width:80,...e.column,...n.isBoolean(e.serialNumber)?void 0:e.serialNumber,customRender:({index:v})=>{var T,F;return((T=e.paginationState)==null?void 0:T.page)&&((F=e.paginationState)==null?void 0:F.pageSize)?e.paginationState.pageSize*(e.paginationState.page-1)+v+1:v+1}}),f=q(t,"operate"),g=()=>{const v=e.operate,T=n.map(v.items,D=>({...D,...n.get(v.itemState,D.value)})),F=n.sortBy(T,D=>D.sort);return{...e.column,title:"\u64CD\u4F5C",dataIndex:"operate",fixed:"right",...v.column,customRender:({record:D})=>{const S=n.map(F,h=>({value:h.value,label:h.label,show:n.isFunction(h.show)?h.show(D):h.show,disabled:n.isFunction(h.disabled)?h.disabled(D):h.disabled,loading:n.isFunction(h.loading)?h.loading(D):h.loading,extraProps:n.isFunction(h.extraProps)?h.extraProps(D):h.extraProps,onClick:()=>{var E;(E=h.onClick)==null||E.call(h,D)},element:n.isFunction(h.element)?()=>h.element(D,h):h.element}));return r.createVNode(Se,{clsName:v.clsName||`${e.clsName}-operate`,items:S,elementKey:v.elementKey},n.reduce(n.keys(f),(h,E)=>({...h,[E]:k=>{var O;return(O=f[E])==null?void 0:O.call(f,D,k)}}),{}))}}},P=()=>{var F,D;const v=((D=(F=e.toolbar)==null?void 0:F.columnSetting)==null?void 0:D.signName)||"columnSetting",T=n.filter(e.columns,S=>{var h;return((h=ye(S,v))==null?void 0:h.initShow)!==!1});return e.serialNumber&&T.unshift(i()),n.map(T,S=>S.dataIndex)},p=r.reactive({selectIds:P()}),l=r.toRef(e,"columns"),d=r.computed(()=>{const v=n.reduce(p.selectIds,(T,F)=>({...T,[F]:!0}),{});return n.filter(e.columns,T=>n.get(v,T.dataIndex))}),y=v=>n.map(v,T=>{const F={...e.column,...T};return T.children&&n.size(T.children)>0?(F.children=y(T.children),F):(T.customRender||(F.customRender=({text:D})=>{var h;return oe(s,{...T,showProps:{...T.showProps,content:((h=T.showProps)==null?void 0:h.content)||e.columnEmptyText}},D)||D||e.columnEmptyText}),F)}),m=r.computed(()=>{const v=Q(d.value,e.columnState,F=>F.dataIndex),T=y(v);return e.serialNumber&&T.unshift(i()),e.operate&&e.operate.items&&n.some(e.operate.items,F=>F.show)&&T.push(g()),T}),b=r.ref();Wt({columns:m,originColumns:l,state:p,tableRef:b,toolbar:e.toolbar,...e.provideExtra}),o(z(e.tableMethods||[],b));const M=n.keys(De()),N=q(t,"columnSetting");return()=>{var T,F,D;if(!a)return null;const v=t.toolbar?t.toolbar():void 0;return r.createVNode("div",r.mergeProps({class:e.clsName},n.pick(u,"class")),[(v||((T=e.toolbar)==null?void 0:T.columnSetting))&&r.createVNode("div",{class:`${e.clsName}-toolbar`},[v,((F=e.toolbar)==null?void 0:F.columnSetting)&&r.createVNode(Gt,(D=e.toolbar)==null?void 0:D.columnSetting,N)]),r.createVNode(a,r.mergeProps({ref:b},n.omit(u,"class"),n.omit(e,M),{columns:m.value}),t)])}}}),Xt=()=>({title:{type:String},subTitle:{type:String},showBack:Boolean,hideWhileNoHistory:{type:Boolean,default:!0}}),te=r.defineComponent({props:{...Xt()},setup:(e,{slots:t,emit:o})=>()=>{var c,s,a,i;const u=e.hideWhileNoHistory&&((s=(c=window.history)==null?void 0:c.state)==null?void 0:s.back)||e.hideWhileNoHistory===!1;return r.createVNode("div",{class:"pro-page-header"},[e.showBack&&u&&r.createVNode("div",{class:"pro-page-header-back",onClick:()=>{o("back")}},[t.backIcon?t.backIcon():"\u8FD4\u56DE"]),r.createVNode("div",{class:"pro-page-header-title"},[t.title?t.title():e.title]),r.createVNode("div",{class:"pro-page-header-sub-title"},[t.subTitle?t.subTitle():e.subTitle]),r.createVNode("div",{class:"pro-page-header-space"},[(a=t.space)==null?void 0:a.call(t)]),r.createVNode("div",{class:"pro-page-header-extra"},[(i=t.extra)==null?void 0:i.call(t)])])}}),Jt=()=>({loading:{type:Boolean,default:!1},loadingOpts:Object,fillMode:{type:Boolean,default:!0}}),Qt=r.defineComponent({props:{...te.props,...Jt()},setup:(e,{slots:t,emit:o})=>{const c=K()(A.LoadingKey),s=r.ref(),a=r.ref(0);L.useResizeObserver(s,f=>{var P;const g=(P=f[0])==null?void 0:P.contentRect;a.value=g==null?void 0:g.height});const i=n.keys(te.props);return()=>{var P,p,l;const f=e.title||t.title||e.subTitle||t.subTitle||t.extra,g=!!t.footer;return r.createVNode("div",{class:"pro-page"},[f&&r.createVNode(te,r.mergeProps(n.pick(e,i),{onBack:()=>{o("back")}}),n.pick(t,"backIcon","title","subTitle","space","extra")),e.loading&&c?r.createVNode(c,r.mergeProps({loading:!0},e.loadingOpts),{default:()=>[r.createVNode("div",{class:"pro-loading-dom"},null)]}):r.createVNode("div",{ref:s,style:a.value>0?`height:${a.value>0}`:"",class:"pro-page-content"},[e.fillMode?r.createVNode(r.Fragment,null,[a.value>0&&((P=t.default)==null?void 0:P.call(t))]):(p=t.default)==null?void 0:p.call(t)]),!e.loading&&g&&r.createVNode("div",{class:"pro-page-footer"},[(l=t.footer)==null?void 0:l.call(t)])])}}}),Ze=Object.freeze({page:1,pageSize:10}),Yt=()=>({clsName:{type:String,default:"pro-list"},searchProps:{type:Object},tableProps:{type:Object},paginationProps:{type:[Object,Boolean]},pageState:{type:Object}}),le=r.defineComponent({props:{...Yt()},setup:(e,{slots:t,emit:o})=>{const u=K(),c=u(A.ProSearchFormKey),s=u(A.ProTableKey),a=u(A.PaginationKey),i=e.pageState||r.reactive({...Ze});let f;const g=()=>{o("search",{...f,...i})},P=(m,b)=>{f=m,i.page=b||1,g()},p=(m,b)=>{i.page=m,i.pageSize=b,g()},l=q(t,"search"),d=q(t,"table"),y=q(t,"pagination");return()=>{var m,b,M,N;return r.createVNode(r.Fragment,null,[(m=t.start)==null?void 0:m.call(t),t.search?t.search({executeSearchWithResetPage:P,pageState:i}):r.createVNode(r.Fragment,null,[c?r.createVNode(c,r.mergeProps({clsName:`${e.clsName}-search`},n.omit(e.searchProps,"onFinish"),{onFinish:v=>P(v)}),l):null]),(b=t.divide)==null?void 0:b.call(t),t.table?t.table({pageState:i}):r.createVNode(r.Fragment,null,[s?r.createVNode(s,r.mergeProps({clsName:`${e.clsName}-table`,paginationState:{page:i.page,pageSize:i.pageSize}},e.tableProps),d):null]),(M=t.divide2)==null?void 0:M.call(t),t.pagination?t.pagination({executePageChange:p,pageState:i}):r.createVNode(r.Fragment,null,[e.paginationProps!==!1&&a?r.createVNode(a,r.mergeProps({clsName:`${e.clsName}-pagination`},n.omit(n.isBoolean(e.paginationProps)?{}:e.paginationProps,"onChange"),{page:i.page,pageSize:i.pageSize,onComposeChange:p}),y):null]),(N=t.end)==null?void 0:N.call(t)])}}}),Ae=()=>({clsName:{type:String,default:"pro-desc"},model:{type:Object}}),et=r.defineComponent({props:{..._,...Ae()},setup:(e,{slots:t})=>{const{elementMap:o}=$(),u=e.elementMap||o,c=K(),s=c(A.DescriptionsKey),a=c(A.DescriptionsItemKey),i=r.computed(()=>Q(e.columns,e.columnState,"dataIndex")),f=n.keys(_),g=n.keys(Ae());return()=>!s||!a?null:r.createVNode(s,r.mergeProps({class:e.clsName},n.omit(e,...f,...g,"model")),{default:()=>{var P,p;return[(P=t.start)==null?void 0:P.call(t),n.map(i.value,l=>{const d=l.dataIndex,y=n.get(e.model,d);return r.createVNode(a,r.mergeProps({class:`${e.clsName}-item`},n.get(l.extra,"desc")),{default:()=>{var m;return[((m=t.value)==null?void 0:m.call(t,y,l))||oe(u,l,y)]},label:()=>{var m;return((m=t.label)==null?void 0:m.call(t,l))||l.title}})}),(p=t.default)==null?void 0:p.call(t)]},...t})}}),tt=Symbol("pro-curd"),V=()=>r.inject(tt),nt=e=>r.provide(tt,e);var C=(e=>(e.LIST="LIST",e.DETAIL="DETAIL",e.ADD="ADD",e.EDIT="EDIT",e.DELETE="DELETE",e))(C||{}),I=(e=>(e.EMIT="EMIT",e.EXECUTE="EXECUTE",e.PAGE="PAGE",e.SUCCESS="SUCCESS",e.FAIL="FAIL",e))(I||{}),U=(e=>(e.ADD="ADD",e.EDIT="EDIT",e.DETAIL="DETAIL",e))(U||{}),H=(e=>(e.NORMAL="NORMAL",e.CONTINUE="CONTINUE",e))(H||{});const Zt=()=>({rowKey:{type:String,default:"id"},operates:{type:Array},listProps:{type:Object},formProps:{type:Object},descProps:{type:Object},modalProps:{type:Object}}),ve=["sendCurdEvent","refreshList","sendEvent","sendRequest"],Le=r.defineComponent({props:{..._,...Zt()},setup:(e,{slots:t,expose:o})=>{const{elementMap:u,state:c,sendEvent:s,sendRequest:a}=X(),i=r.computed(()=>Q(e.columns,e.columnState,h=>B(h))),f=(h,E=!0)=>pe(e.formElementMap,h,E),g=(h,E)=>oe(u,h,E),P=(h,E)=>{const k=n.filter(i.value,O=>{const w=n.get(O,["extra",h])||n.get(O,h);return E?w!==!1:w});return n.sortBy(k,O=>n.get(O,["extra",`${h}Sort`])||n.get(O,`${h}Sort`))},p=r.computed(()=>P("form",!0)),l=r.computed(()=>P("detail",!0)),d=r.computed(()=>P("table",!0)),y=r.computed(()=>P("search"));let m;const b=h=>{a(C.LIST,{...m,...h})},M=h=>{s({type:h.action,payload:n.omit(h,"action","source"),source:h.source})};se(({type:h,payload:E,source:k})=>{if(k)return;let O=h,w=E==null?void 0:E.type;O===W.Success&&(O=n.get(E,["requestOpts","action"]),w=I.SUCCESS);const{values:Y,record:at}=E;switch(O){case C.LIST:w===I.EMIT&&(m=Y,b());return;case C.ADD:w===I.EXECUTE&&a(C.ADD,Y,c.detailData);return;case C.EDIT:w===I.EXECUTE&&a(C.EDIT,Y,c.detailData);return;case C.DELETE:w===I.EMIT?a(C.DELETE,at,e.rowKey):w===I.SUCCESS&&b();return}O&&h===I.EXECUTE&&a(O,Y)});const N=n.reduce(e.operates,(h,E)=>({...h,[E.action]:E}),{}),v=h=>n.get(N,h),T=r.computed(()=>e.listProps),F=r.computed(()=>e.formProps),D=r.computed(()=>e.descProps),S=r.computed(()=>e.modalProps);return nt({columns:i,getSignColumns:P,getFormItemVNode:f,getItemVNode:g,elementMap:u,formElementMap:e.formElementMap,rowKey:e.rowKey,curdState:c,formColumns:p,descColumns:l,tableColumns:d,searchColumns:y,sendCurdEvent:M,operates:e.operates,getOperate:v,refreshList:b,listProps:T,formProps:F,descProps:D,modalProps:S}),o({sendCurdEvent:M,refreshList:b}),()=>{var h;return(h=t.default)==null?void 0:h.call(t)}}}),J=r.defineComponent({props:{...n.omit(Z.props,"state","requests"),...Le.props,curdState:{type:Object}},setup:(e,{slots:t,expose:o})=>{const{elementMap:u,formElementMap:c}=$(),s=r.ref(),a=r.ref(),i=e.curdState||r.reactive({detailData:{}}),f={[C.LIST]:{convertParams:l=>l,convertData:l=>{var d;return(d=l.res)==null?void 0:d.data},loadingName:"listLoading",stateName:"listData"},[C.DETAIL]:{convertParams:(l,d)=>n.pick(l,d),convertData:l=>{var d;return(d=l.res)==null?void 0:d.data},loadingName:"detailLoading",stateName:"detailData",label:"\u8BE6\u60C5"},[C.ADD]:{convertParams:(l,d)=>({body:{...d,...l}}),loadingName:"operateLoading",label:"\u6DFB\u52A0"},[C.EDIT]:{convertParams:(l,d)=>({body:{...d,...l}}),loadingName:"operateLoading",label:"\u7F16\u8F91"},[C.DELETE]:{convertParams:(l,d)=>n.pick(l,d),label:"\u5220\u9664"}},g=n.map(e.operates,l=>({...n.get(f,l.action),...l})),P=n.filter(g,l=>l.actor),p=n.keys(n.omit(Z.props,"state","requests"));return o({sendCurdEvent:l=>{var d;(d=a.value)==null||d.sendCurdEvent(l)},refreshList:l=>{var d;(d=a.value)==null||d.refreshList(l)},sendEvent:l=>{var d;(d=s.value)==null||d.sendEvent(l)},sendRequest:(l,...d)=>{var y;(y=s.value)==null||y.sendRequest(l,...d)}}),()=>r.createVNode(Z,r.mergeProps({ref:s},n.pick(e,p),{elementMap:e.elementMap||u,state:i,requests:P}),{default:()=>[r.createVNode(Le,r.mergeProps({ref:a},n.omit(e,...p,"curdState","operates"),{formElementMap:e.formElementMap||c,operates:g}),t)]})}}),en=()=>({defaultAddRecord:{type:Object}}),ue=r.defineComponent({props:{...en()},setup:e=>{var d;const{dispatch:t,sendRequest:o}=X(),{rowKey:u,curdState:c,listProps:s,getOperate:a,refreshList:i}=V(),f=(d=s==null?void 0:s.value)==null?void 0:d.pageState,g=y=>{const m=a(C.DETAIL);m!=null&&m.actor?o(C.DETAIL,y,u):t({type:"detailData",payload:n.cloneDeep(y)})},P=(y,{record:m})=>{y===I.EMIT&&(t({type:"mode",payload:U.DETAIL}),g(m))},p=y=>{y===I.EMIT?(t({type:"mode",payload:U.ADD}),t({type:"detailData",payload:e.defaultAddRecord||{}})):y===I.SUCCESS&&(f&&(f.page=1),i(),c.addAction===H.CONTINUE?t({type:"detailData",payload:e.defaultAddRecord||{}}):t({type:"mode",payload:void 0}))},l=(y,{record:m})=>{y===I.EMIT?(t({type:"mode",payload:U.EDIT}),g(m)):y===I.SUCCESS&&(t({type:"mode",payload:void 0}),i())};return se(({type:y,payload:m,source:b})=>{if(b)return;let M=y,N=m==null?void 0:m.type;const v=m==null?void 0:m.record;switch(M===W.Success&&(M=n.get(m,["requestOpts","action"]),N=I.SUCCESS),M){case C.DETAIL:P(N,{record:v});break;case C.ADD:p(N);break;case C.EDIT:l(N,{record:v});break}}),()=>null}}),tn=r.defineComponent({props:{...J.props,...ue.props},setup:(e,{slots:t,expose:o})=>{const u=r.ref();o(z(ve,u));const c=n.keys(ue.props);return()=>r.createVNode(J,r.mergeProps({ref:u},n.omit(e,c)),{default:()=>{var s;return[r.createVNode(ue,n.pick(e,c),null),(s=t.default)==null?void 0:s.call(t)]}})}}),nn=()=>({defaultAddRecord:{type:Object},routeBack:{type:Function}}),ie=r.defineComponent({props:{...nn()},setup:e=>{const t=Ne.useRouter(),o=Ne.useRoute(),{dispatch:u,sendRequest:c}=X(),{rowKey:s,curdState:a}=V(),i=p=>{p===I.PAGE&&(u({type:"mode",payload:void 0}),u({type:"detailData",payload:{}}),u({type:"detailLoading",payload:!1}),u({type:"addAction",payload:void 0}))},f=(p,{record:l})=>{p===I.EMIT?t.push({path:`${o.path}/detail`,query:n.pick(l,s)}):p===I.PAGE&&(u({type:"mode",payload:U.DETAIL}),c(C.DETAIL,o.query,s))},g=p=>{p===I.EMIT?t.push({path:`${o.path}/add`}):p===I.PAGE?(u({type:"mode",payload:U.ADD}),u({type:"detailData",payload:e.defaultAddRecord||{}})):p===I.SUCCESS&&(a.addAction===H.CONTINUE?u({type:"detailData",payload:e.defaultAddRecord||{}}):e.routeBack?e.routeBack(C.ADD):t.go(-1))},P=(p,{record:l})=>{p===I.EMIT?t.push({path:`${o.path}/edit`,query:n.pick(l,s)}):p===I.PAGE?(u({type:"mode",payload:U.EDIT}),c(C.DETAIL,o.query,s)):p===I.SUCCESS&&(e.routeBack?e.routeBack(C.EDIT):t.go(-1))};return se(({type:p,payload:l,source:d})=>{if(d)return;let y=p,m=l==null?void 0:l.type;const b=l==null?void 0:l.record;switch(y===W.Success&&(y=n.get(l,["requestOpts","action"]),m=I.SUCCESS),y){case C.LIST:i(m);break;case C.DETAIL:f(m,{record:b});break;case C.ADD:g(m);break;case C.EDIT:P(m,{record:b});break}}),()=>null}}),rn=r.defineComponent({props:{...J.props,...ie.props},setup:(e,{slots:t,expose:o})=>{const u=r.ref();o(z(ve,u));const c=n.keys(ie.props);return()=>r.createVNode(J,r.mergeProps({ref:u},n.omit(e,c)),{default:()=>{var s;return[r.createVNode(ie,n.pick(e,c),null),(s=t.default)==null?void 0:s.call(t)]}})}}),rt=r.defineComponent({props:{...le.props,clsName:{type:String,default:"pro-curd-list"}},setup:(e,{slots:t})=>{const{elementMap:o,formElementMap:u,curdState:c,searchColumns:s,tableColumns:a,sendCurdEvent:i,operates:f}=V(),g=n.map(n.filter(f,p=>{const l=p.action;return l===C.DETAIL||l===C.EDIT||l===C.DELETE||p.tableOperate}),p=>{const l={...n.pick(p,"label","show","disabled","loading","extraProps","onClick","element"),value:p.action};return l.onClick||(l.onClick=d=>{i({action:p.action,type:I.EMIT,record:d})}),l}),P=p=>{i({action:C.LIST,type:I.EMIT,values:p})};return()=>{var M,N;const p=e.searchProps,l={formElementMap:u,columns:s.value,...p},d=e.tableProps,y={elementMap:o,columns:a.value,loading:c.listLoading,dataSource:(M=c.listData)==null?void 0:M.dataSource,...n.omit(d,"operate"),operate:{items:g,...d==null?void 0:d.operate}},m=e.paginationProps,b={total:(N=c.listData)==null?void 0:N.total,...n.isBoolean(m)?{}:m};return r.createVNode(le,r.mergeProps(n.omit(e,"searchProps","tableProps","paginationProps"),{searchProps:l,tableProps:y,paginationProps:b,onSearch:P}),{...t,search:t.search?v=>t.search(v,l):void 0,pagination:t.pagination?v=>t.pagination(v,b):void 0})}}}),on=r.defineComponent(()=>{const{listProps:e}=V();return()=>r.createVNode(rt,n.omit(e==null?void 0:e.value,"slots"),n.get(e==null?void 0:e.value,"slots"))}),an=()=>({clsName:{type:String,default:"pro-curd-form"},signName:{type:String}}),ce=r.defineComponent({props:{...an()},setup:(e,{slots:t,expose:o,attrs:u})=>{const{elementMap:c,formElementMap:s,curdState:a,formColumns:i,getSignColumns:f,sendCurdEvent:g}=V(),P=r.ref();o(z(e.formMethods||[],P));const p=r.computed(()=>e.signName?f(e.signName):i.value),l=()=>{var b;a.addAction=H.NORMAL,(b=P.value)==null||b.submit()},d=()=>{var b;a.addAction=H.CONTINUE,(b=P.value)==null||b.submit()},y=[{value:exports.FormAction.RESET,label:"\u91CD\u7F6E"},{value:exports.FormAction.SUBMIT,label:"\u63D0\u4EA4",extraProps:{type:"primary"}},{value:exports.FormAction.CONTINUE,label:"\u786E\u5B9A\u5E76\u7EE7\u7EED",extraProps:{type:"primary"},show:!1}],m=b=>{u.onFinish||(a.mode===C.EDIT?g({action:C.EDIT,type:I.EXECUTE,values:b}):g({action:C.ADD,type:I.EXECUTE,values:b}))};return()=>r.createVNode(Je,r.mergeProps({ref:P},n.omit(e,"operate"),{elementMap:e.elementMap||c,formElementMap:e.formElementMap||s,columns:e.columns||p.value,readonly:a.mode===C.DETAIL,model:e.model||a.detailData,hideRequiredMark:a.mode===C.DETAIL,operate:e.operate?{items:y,onSubmit:l,onContinue:d,...e.operate}:void 0,onFinish:m}),t)}}),sn=r.defineComponent(()=>{const{formProps:e}=V();return()=>r.createVNode(ce,n.omit(e==null?void 0:e.value,"slots"),n.get(e==null?void 0:e.value,"slots"))}),cn=()=>({clsName:{type:String,default:"pro-curd-desc"},signName:{type:String}}),ot=r.defineComponent({props:{...cn()},setup:(e,{slots:t})=>{const{curdState:o,descColumns:u,getSignColumns:c}=V(),s=r.computed(()=>e.signName?c(e.signName):u.value);return()=>r.createVNode(et,r.mergeProps(n.omit(e,"signName","model","columns"),{model:e.model||o.detailData,columns:s.value}),t)}}),un=r.defineComponent(()=>{const{descProps:e}=V();return()=>r.createVNode(ot,n.omit(e==null?void 0:e.value,"slots"),n.get(e==null?void 0:e.value,"slots"))}),ke=()=>({clsName:{type:String,default:"pro-curd-modal"},validMode:{type:Array,default:[C.ADD,C.DETAIL,C.EDIT]}}),Ce=r.defineComponent({props:{...ke()},setup:(e,{slots:t})=>{const o=K(),u=o(A.ModalKey),c=o(A.LoadingKey),{curdState:s,getOperate:a}=V(),i=()=>{s.mode=void 0,L.setReactiveValue(s.detailData,{}),s.detailLoading=!1,s.addAction=void 0},f=n.keys(ke());return()=>{var P;const g=s.mode;return!n.some(e.validMode,p=>p===g)||!u?null:r.createVNode(u,r.mergeProps(n.omit(e,f),{visible:n.some(e.validMode,p=>p===g),title:e.title||((P=a(s.mode))==null?void 0:P.label),confirmLoading:s.operateLoading,maskClosable:s.mode===C.DETAIL,onCancel:i}),{default:()=>{var p;return[s.detailLoading&&c?r.createVNode(c,{loading:!0},{default:()=>[r.createVNode("div",{class:`${e.clsName}-loading-dom`},null)]}):(p=t.default)==null?void 0:p.call(t)]},...n.omit(t,"default")})}}}),ln=r.defineComponent({props:{modalProps:Object,formProps:Object},setup:(e,{slots:t})=>{const o=r.ref(),u=q(t,"modal"),c=q(t,"form");return()=>r.createVNode(Ce,r.mergeProps(e.modalProps,{onOk:()=>{var s;(s=o.value)==null||s.submit()}}),{default:()=>[r.createVNode(ce,r.mergeProps({ref:o},e.formProps),c)],...u})}}),dn=r.defineComponent(()=>{const{modalProps:e,formProps:t}=V(),o=r.ref();return()=>r.createVNode(Ce,r.mergeProps(n.omit(e,"slots"),{onOk:()=>{var u;(u=o.value)==null||u.submit()}}),{default:()=>[r.createVNode(ce,r.mergeProps({ref:o},n.omit(t,"slots")),n.get(t,"slots"))],...n.get(e,"slots")})});exports.CurdAction=C;exports.CurdAddAction=H;exports.CurdCurrentMode=U;exports.CurdMethods=ve;exports.CurdSubAction=I;exports.ElementKeys=A;exports.LogonUser=Ot;exports.LogonUserKey=fe;exports.MustLogon=Lt;exports.PageHeader=te;exports.ProConfig=lt;exports.ProCurd=J;exports.ProCurdDesc=ot;exports.ProCurdDescConnect=un;exports.ProCurdForm=ce;exports.ProCurdFormConnect=sn;exports.ProCurdList=rt;exports.ProCurdListConnect=on;exports.ProCurdModal=Ce;exports.ProCurdModalForm=ln;exports.ProCurdModalFormConnect=dn;exports.ProDesc=et;exports.ProForm=Je;exports.ProFormList=$t;exports.ProGrid=ee;exports.ProList=le;exports.ProModalCurd=tn;exports.ProModule=Z;exports.ProOperate=Se;exports.ProPage=Qt;exports.ProPageCurd=rn;exports.ProSearchForm=qt;exports.ProTable=Ht;exports.RequestAction=W;exports.Wrapper=Ue;exports.convertPathToList=ge;exports.convertResData=we;exports.createExpose=z;exports.createExposeObj=Kt;exports.createFormItemCompFn=Ut;exports.createProConfig=dt;exports.defaultPage=Ze;exports.filterSlotsByPrefix=q;exports.getColumnFormItemName=B;exports.getColumnValueType=me;exports.getFirstPropName=qe;exports.getFormItemEl=pe;exports.getItemEl=oe;exports.getSignValue=ye;exports.getValidValues=We;exports.mergeStateToList=Q;exports.proBaseProps=_;exports.provideProCurd=nt;exports.provideProFormList=Pe;exports.provideProModule=ze;exports.renderElement=G;exports.renderElements=ae;exports.useAccess=Ge;exports.useAccessMgr=At;exports.useComposeRequestActor=Ke;exports.useDispatchMeta=Mt;exports.useDispatchStore=Ft;exports.useDoneRequestActor=Nt;exports.useFailedRequestActor=Tt;exports.useGetCompByKey=K;exports.useLogonUser=kt;exports.useMetaRegister=je;exports.useModuleEvent=se;exports.useProConfig=$;exports.useProCurd=V;exports.useProForm=be;exports.useProFormList=he;exports.useProModule=X;exports.useProTable=Ye;exports.useReadStore=Dt;
|
|
1
|
+
"use strict";var st=Object.defineProperty;var ct=(e,t,o)=>t in e?st(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var x=(e,t,o)=>(ct(e,typeof t!="symbol"?t+"":t,o),o);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),n=require("lodash"),R=require("rxjs"),A=require("@vue-start/hooks"),j=require("@vue-start/request"),Ee=require("rxjs/operators"),Ne=require("vue-router"),ut=()=>({elementMap:{type:Object},formElementMap:{type:Object},columns:{type:Array},columnState:{type:Object}}),_=ut(),it=()=>({elementMap:{type:Object},formElementMap:{type:Object},registerStores:{type:Array},registerActors:{type:Array},registerMetas:{type:Array}}),de=Symbol("pro-config"),$=()=>r.inject(de)||{},lt=r.defineComponent({props:{...it()},setup:(e,{slots:t})=>{const o=n.reduce(e.registerStores,(i,p)=>({...i,[p.key]:p}),{}),u=n.reduce(e.registerActors,(i,p)=>({...i,[p.actor.name]:p}),{}),c=n.reduce(e.registerMetas,(i,p)=>({...i,[p.actorName]:p}),{});je(c,u);const{dispatchRequest:s}=j.useRequestProvide(),a=(i,p,y)=>{const P=n.get(u,i);if(!!P)return s(P.actor,p,y)};return r.provide(de,{elementMap:e.elementMap,formElementMap:e.formElementMap,registerStoreMap:o,registerActorMap:u,registerMetaMap:c,dispatchRequest:a}),()=>{var i;return(i=t.default)==null?void 0:i.call(t)}}}),dt=(e={})=>t=>{t.provide(de,e)},mt=Object.prototype.hasOwnProperty,Te=(e,t)=>e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t,pt=(e,t)=>{if(Te(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const o=Object.keys(e),u=Object.keys(t);if(o.length!==u.length)return!1;for(let c=0;c<o.length;c++)if(!mt.call(t,o[c])||!Te(e[o[c]],t[o[c]]))return!1;return!0},ft="$store",ne=()=>r.inject(ft),gt=(e,t)=>(o={},u)=>{const c=typeof e=="function"?e(u):e;if(c==="")return o;const s=t(o[c],u),a={};for(const i in o)i!==c&&(a[i]=o[i]);return typeof s<"u"&&(a[c]=s),a};class yt{constructor(t){x(this,"group");x(this,"name");x(this,"stage");x(this,"effect");x(this,"arg");x(this,"opts");this.group=t.group||"UN_GROUPED",this.name=t.name||"UN_NAMED",this.stage=t.stage,this.effect=t.effect,this.arg=t.arg||{},this.opts=t.opts||{}}static of(t){return new this({group:t})}named(t,o){return new this.constructor({...this,name:t,opts:{...this.opts,...o}})}staged(t){return new this.constructor({...this,stage:t})}effectWith(t){return new this.constructor({...this,effect:t})}effectOn(t,o){return this.effectWith(gt(t,o))}with(t,o){return new this.constructor({...this,arg:t,opts:{...this.opts,...o}})}invoke(t){t.dispatch(this)}get type(){let t=!1;for(const o in this.opts)o!=="parentActor"&&(this.opts[o],t=!0);return`@@${this.group}/${this.name}${this.stage?`::${this.stage}`:""}${t?`${JSON.stringify(this.opts)}`:""}`}is(t){const o=this.isSameGroup(t)&&t.name===this.name;return this.stage?o&&t.stage===this.stage:o}isSameGroup(t){return t.group===this.group}}class re extends R.Observable{constructor(o,u,c=pt){super(s=>this.state$.pipe(Ee.map(a=>{const i=this.mapper(a);return c(i,this._value)||(this._value=i),this._value}),Ee.distinctUntilChanged()).subscribe(s));x(this,"_value");this.state$=o,this.mapper=u}static from(o,u){return new re(o,u,u.equalFn)}get value(){return typeof this._value>"u"&&(this._value=this.mapper(this.state$.value)),this._value}}const ht=(e,t)=>{const[o,u]=A.useState(t||e.value);return A.useEffect(()=>{const c=e.subscribe(s=>{u(s)});return()=>{c&&c.unsubscribe()}},void 0),o},Pt=(e,t)=>{const o=r.ref(t||e.value);return A.useEffect(()=>{const u=e.subscribe(c=>{o.value=c});return()=>{u&&u.unsubscribe()}},[]),o},bt=(e,t)=>re.from(e,t),vt=e=>bt(ne(),e||(t=>t)),St=yt.of("state"),Oe=St.named("update").effectOn(e=>e.opts.key,(e,t)=>t.arg(e)),Re=()=>{const e=ne();return(t,o,u,c)=>{const s=`${u?"$":""}${t}`,a=n.isFunction(c)?c():c;Oe.with((i=a)=>n.isFunction(o)?o(i):o,{key:s}).invoke(e)}},Ct=(e,t,o)=>{const u=`${o?"$":""}${e}`,c=n.isFunction(t)?t():t,s=ne(),a=y=>Oe.with((P=c)=>n.isFunction(y)?y(P):y,{key:u}).invoke(s),i=re.from(s,y=>n.get(y,[u],c));return[ht(i),a]},Et=(e,t,o=!1)=>()=>{const[u,c]=Ct(e,t,o);return[u,c]},Ve=e=>(t,o)=>{const{requestSubject$:u}=j.useRequestProvide(),c=new Set(n.map(t,s=>n.isString(s)?s:s.name));A.useEffect(()=>{const s=u.pipe(R.filter(e),R.tap(a=>{c.has(a.name)&&o(a)})).subscribe();return()=>{s.unsubscribe()}},[])},Nt=Ve(j.isDoneRequestActor),Tt=Ve(j.isFailedRequestActor),Ke=(e,t,o)=>{const{requestSubject$:u,dispatchRequest:c}=j.useRequestProvide(),s=new Set(n.map(e,i=>n.isString(i)?i:i.name)),a={};A.useEffect(()=>{const i=R.merge(u.pipe(R.filter(j.isDoneRequestActor),R.tap(p=>{var y,P;s.has(p.name)&&((y=t.onSuccess)==null||y.call(t,p),(P=t.onFinish)==null||P.call(t,p),a[p.name]=void 0)})),u.pipe(R.filter(j.isFailedRequestActor),R.tap(p=>{var y,P;s.has(p.name)&&((y=t.onFailed)==null||y.call(t,p),(P=t.onFinish)==null||P.call(t,p),a[p.name]=void 0)}))).subscribe();return()=>{i.unsubscribe(),o&&n.forEach(a,p=>{p&&c({...p,stage:"CANCEL"})})}},[])},we=(e,t,o)=>{var c;const u=(c=e.res)==null?void 0:c.data;return t?t(u,e):o?n.get(u,o):u},Mt=()=>{const e=ne(),{registerMetaMap:t,dispatchRequest:o}=$();return u=>{const c=n.get(t,u);if(!c)return;const s=c.storeName||u;n.get(e.value,s)||o(u,c.initParams||{})}},je=(e,t)=>{const{requestSubject$:o}=j.useRequestProvide(),u=Re(),c=s=>{const a=n.get(e,s.name),i=n.get(t,s.name);return!!(a&&i&&i.actor)};A.useEffect(()=>{const s=o.pipe(R.filter(c),R.tap(a=>{const i=n.get(e,a.name);if(!i)return;const p=i.storeName||a.name,y=we(a,i.convertData,i.convertPath);u(p,y,!1,void 0)})).subscribe();return()=>{s.unsubscribe()}},[])},me=e=>e.formValueType||e.valueType||"text",B=e=>{var t;return((t=e.formItemProps)==null?void 0:t.name)||e.dataIndex},pe=(e,t,o=!0)=>{var i;const u=me(t),c=n.get(e,u);if(!c)return null;const s=B(t),a=o?t.formItemProps:n.omit(t.formItemProps,"rules");return r.h(c,{key:s,name:s,label:t.title,...a,fieldProps:n.omit(t.formFieldProps,"slots"),showProps:t.showProps},(i=t.formFieldProps)==null?void 0:i.slots)},oe=(e,t,o)=>{var s;const u=t.valueType||"text",c=n.get(e,u);return c?r.h(c,{...n.omit(t.formFieldProps,"slots"),showProps:t.showProps,value:o},(s=t.formFieldProps)==null?void 0:s.slots):null},ae=(e,t)=>n.map(t,o=>G(e,o)),$e=(e,t)=>{var c;const o=t.elementProps,u={...t.elementProps};return n.forEach((c=t.highConfig$)==null?void 0:c.registerPropsTrans,s=>{const a=n.get(o,s.name);if(!(!a||r.isVNode(a))){if(n.isArray(a)){if(n.some(a,i=>r.isVNode(i)))return;n.set(u,s.name,ae(e,a));return}!a.elementType||(s.isFun?n.set(u,s.name,(...i)=>{const p=s.needParams?{...a.elementProps,params$:i}:a.elementProps;return G(e,{...a,elementProps:p})}):n.set(u,s.name,G(e,a)))}}),u},xe=(e,t)=>{const o=n.size(t.children)>0?ae(e,t.children):void 0,u=t.childrenSlotName||"default",c=n.omit(t.slots,o?u:"");return n.forEach(n.keys(c),s=>{const a=c[s];a&&!n.isFunction(a)&&a.elementType&&(c[s]=(...i)=>{const p=a.needParams?{...a.elementProps,params$:i}:a.elementProps;return G(e,{...a,elementProps:p})})}),{[u]:o?()=>o:void 0,...c}},G=(e,t)=>{const o=n.get(e,t.elementType)||t.elementType;if(t.highConfig$)return r.h(Ue,{key:t.elementId,elementMap:e,elementConfig:t});const u=xe(e,t),c=$e(e,t);return r.h(o,{key:t.elementId,...c},u)},qe=e=>n.isArray(e)?n.head(e):n.isString(e)&&e.indexOf(".")>0?e.substring(0,e.indexOf(".")):e,Ue=r.defineComponent({props:{elementMap:{type:Object},elementConfig:{type:Object}},setup:e=>{const{state:t,sendEvent:o}=X(),{elementMap:u,elementConfig:c}=e,s=c.highConfig$,a=$e(u,c),i=n.reduce(s.registerEventList,(f,l)=>({...f,[l.name]:(...d)=>{o({type:l.sendEventName||c.elementId,payload:d})}}),{}),p=r.computed(()=>{if(!s.registerStateList||n.size(s.registerStateList)<=0)return;const f={...a},l=n.map(s.registerStateList,d=>{const g=d.mapName||d.name,m=n.get(t,d.name);return n.set(f,g,m),qe(g)});return n.pick(f,l)}),y=n.get(u,c.elementType)||c.elementType,P=xe(u,c);return()=>n.get(p.value,"show$")===!1?null:r.h(y,{key:c.elementId,...a,...n.omit(p.value,"show$"),...i},P)}}),Be=Symbol("pro-module"),X=()=>r.inject(Be),ze=e=>{r.provide(Be,e)},se=e=>{const{subject$:t}=X();A.useEffect(()=>{const o=t.subscribe({next:u=>{e(u)}});return()=>o.unsubscribe()},[])},W={Success:"request-success$",Fail:"request-fail$"},It=()=>({state:{type:Object},elementMap:{type:Object},elementConfigs:{type:Array},requests:{type:Array}}),Z=r.defineComponent({props:{...It()},setup:(e,{slots:t,expose:o})=>{const u=l=>n.isArray(l)?ae(e.elementMap,l):G(e.elementMap,l),c=new R.Subject,s=l=>{c.next(l)},a=e.state||r.reactive({}),i=l=>{const d=a[l.type],g=n.isFunction(l.payload)?l.payload(d):l.payload;if(n.isObject(d)){A.setReactiveValue(a[l.type],g);return}a[l.type]=g},{dispatchRequest:p}=j.useRequestProvide(),y=n.reduce(e.requests,(l,d)=>{var g;return{...l,[(g=d.actor)==null?void 0:g.name]:d}},{}),P=n.reduce(e.requests,(l,d)=>({...l,[d.action]:d}),{}),f=(l,...d)=>{const g=n.get(y,l)||n.get(P,l);if(!g)return;let m;g.convertParams?m=g.convertParams(...d):m=n.get(d,0),g.loadingName&&i({type:g.loadingName,payload:!0}),p(g.actor,m)};return Ke(n.keys(y),{onSuccess:l=>{var g,m;const d=n.get(y,l.name);if(d!=null&&d.stateName){const h=d.convertData?d.convertData(l):(g=l.res)==null?void 0:g.data;i({type:d.stateName,payload:h})}s({type:W.Success,payload:{actor:l,requestOpts:d}}),(m=d.onSuccess)==null||m.call(d,l)},onFailed:l=>{var g;const d=n.get(y,l.name);s({type:W.Fail,payload:{actor:l,requestOpts:d}}),(g=d.onFailed)==null||g.call(d,l)},onFinish:l=>{const d=n.get(y,[l.name,"loadingName"]);d&&i({type:d,payload:!1})}},!0),ze({elementMap:e.elementMap,subject$:c,sendEvent:s,state:a,dispatch:i,requests:e.requests,sendRequest:f}),o({sendEvent:s,sendRequest:f}),()=>{var l;return r.createVNode(r.Fragment,null,[n.size(e.elementConfigs)>0&&u(e.elementConfigs),(l=t.default)==null?void 0:l.call(t)])}}}),Ft=()=>{const e=Re(),{registerStoreMap:t}=$();return(o,u)=>{const c=n.get(t,o);!c||e(o,u,!!c.persist,c.initialState)}},Dt=e=>{const{registerStoreMap:t}=$(),o=n.get(t,e),u=`${o!=null&&o.persist?"$":""}${o==null?void 0:o.key}`;return Pt(vt(s=>{const a=n.get(s,u);return a||(n.isFunction(o==null?void 0:o.initialState)?o==null?void 0:o.initialState():o==null?void 0:o.initialState)}))},_e=Et("access",void 0,!0),Ge=()=>{const[e]=_e();return e},At=()=>{const[e,t]=_e();return[e,t,()=>{t(void 0)}]},Lt=r.defineComponent((e,{slots:t,emit:o})=>{const u=Ge(),c=r.computed(()=>u&&u.token);return A.useEffect(()=>{c.value||o("toLogin")},c),()=>{var s;return c.value?(s=t.default)==null?void 0:s.call(t):null}}),fe=Symbol("logon-user"),kt=()=>r.inject(fe),Ot=r.defineComponent((e,{slots:t})=>{const[o,u]=A.useState(),[c,s]=A.useState(),a={};return r.provide(fe,{user:o,setUser:u,per:c,setPer:s,opts:a}),()=>{var i;return(i=t.default)==null?void 0:i.call(t)}}),L={LoadingKey:"Loading$",RowKey:"Row$",ColKey:"Col$",ButtonKey:"Button$",DescriptionsKey:"ProDescriptions$",DescriptionsItemKey:"ProDescriptionsItem$",PaginationKey:"Pagination$",PopoverKey:"Popover$",CheckboxKey:"Checkbox$",ModalKey:"Modal$",FormKey:"Form$",FormItemKey:"FormItem$",TableKey:"Table$",ProFormKey:"ProForm$",ProSearchFormKey:"ProSearchForm$",ProTableKey:"ProTable$"},K=()=>{const{elementMap:e}=$();return t=>n.get(e,t)};function Rt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const Vt=()=>({row:{type:Object,default:void 0},col:{type:Object},items:{type:Array}}),ee=r.defineComponent({props:{...Vt()},setup:e=>{const t=K(),o=t(L.RowKey),u=t(L.ColKey);return()=>{let c;return!o||!u?null:r.createVNode(o,e.row,Rt(c=n.map(e.items,s=>r.createVNode(u,r.mergeProps({key:s.rowKey},e.col,s.col),{default:()=>[s.vNode]})))?c:{default:()=>[c]})}}}),We=(e,t,o)=>{if(t){const u=n.filter(n.keys(t),c=>!t[c]);return n.omit(e,u)}if(o){const u=n.filter(n.keys(o),c=>!o[c](e));return n.omit(e,u)}return e},ge=e=>{if(!!e)return n.isArray(e)?e:e&&n.isString(e)&&e.indexOf(".")>0?n.split(e,"."):[e]},Q=(e,t,o)=>!t||!o?e:n.map(e,u=>{const c=n.isFunction(o)?o(u):n.get(u,o),s=n.get(t,c);return!s||n.isEmpty(s)||n.isFunction(s)||!n.isObject(s)?u:n.mergeWith(u,s,(a,i)=>{if(n.isArray(a)||n.isArray(i))return i})}),z=(e,t)=>{const o=n.reduce(e,(u,c)=>({...u,[c]:(...s)=>{var a,i;return(i=(a=t.value)==null?void 0:a[c])==null?void 0:i.call(a,...s)}}),{});return o.originRef=t,o},Kt=(e,t,o)=>{const u={originRef:e,...o};return t&&n.size(t)>0&&n.forEach(t,c=>{u[c]=(...s)=>{var a,i;return(i=(a=e.value)==null?void 0:a[c])==null?void 0:i.call(a,...s)}}),u},ye=(e,t)=>n.get(e,["extra",t])||n.get(e,t),q=(e,t)=>{const o=n.keys(e),u=`${t}-`,c=n.filter(o,a=>n.startsWith(a,u)),s=n.pick(e,c);return n.mapKeys(s,(a,i)=>i.replace(u,""))},He=Symbol("pro-form-list"),he=()=>r.inject(He),Pe=e=>{r.provide(He,e)},wt=r.defineComponent({props:{pathList:{type:Array}},setup:(e,{slots:t})=>(Pe({pathList:e.pathList}),()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}),jt=()=>({rowKey:{type:String,default:"id"},name:{type:[String,Number,Array],required:!0}}),$t=r.defineComponent({props:{...jt()},setup:(e,{slots:t})=>{const u=K()(L.FormItemKey),{formState:c,readonly:s}=be(),a=he(),i=ge(e.name),p=a!=null&&a.pathList?[...a.pathList,...i]:i,y=()=>{let f=n.get(c,p);n.isArray(f)||(f=[]),f.push({[e.rowKey]:new Date().valueOf()}),n.set(c,p,f)},P=f=>{const l=n.get(c,p);n.size(l)<=0||l.splice(f,1)};return()=>u?r.createVNode(u,n.omit(e,"rowKey"),{default:()=>{var f;return[n.map(n.get(c,p),(l,d)=>r.createVNode(wt,{key:l[e.rowKey]||d,pathList:[...p,d]},{default:()=>{var g,m,h;return[r.createVNode("div",{class:"pro-form-list-item"},[(g=t.default)==null?void 0:g.call(t),!s.value&&r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"pro-form-list-item-add",onClick:y},[(m=t.itemAdd)==null?void 0:m.call(t)]),r.createVNode("div",{class:"pro-form-list-item-minus",onClick:()=>P(d)},[(h=t.itemMinus)==null?void 0:h.call(t)])])])]}})),!s.value&&r.createVNode("div",{class:"pro-form-list-add",onClick:y},[(f=t.add)==null?void 0:f.call(t)])]}}):null}}),Xe=Symbol("pro-form"),be=()=>r.inject(Xe),xt=e=>{r.provide(Xe,e)};exports.FormAction=void 0;(function(e){e.RESET="RESET",e.SUBMIT="SUBMIT",e.CONTINUE="CONTINUE"})(exports.FormAction||(exports.FormAction={}));const Me=()=>({clsName:{type:String,default:"pro-form"},model:{type:Object},readonly:{type:Boolean,default:void 0},showState:{type:Object},showStateRules:{type:Object},readonlyState:{type:Object},readonlyStateRules:{type:Object},disableState:{type:Object},disableStateRules:{type:Object},needRules:{type:Boolean,default:!0},provideExtra:{type:Object},operate:{type:Object},submitLoading:{type:Boolean},formMethods:{type:Array}}),Je=r.defineComponent({inheritAttrs:!1,props:{..._,...Me(),...n.omit(ee.props,"items")},setup:(e,{slots:t,emit:o,expose:u,attrs:c})=>{const{elementMap:s,formElementMap:a}=$(),i=e.elementMap||s,p=e.formElementMap||a,y=e.model||r.reactive({}),P=A.useRuleState(y,e.showStateRules,e.showState),f=A.useRuleState(y,e.readonlyStateRules,e.readonlyState),l=A.useRuleState(y,e.disableStateRules,e.disableState),d=r.computed(()=>e.readonly),g=r.computed(()=>Q(e.columns,e.columnState,C=>B(C))),m=C=>{const b=We(C,P,e.showStateRules);o("finish",b,C)},h=r.ref();u(z(e.formMethods||[],h)),xt({formState:y,showState:P,readonlyState:f,disableState:l,elementMap:i,formElementMap:p,readonly:d,columns:g,formRef:h,...e.provideExtra});const M=[{value:exports.FormAction.RESET,label:"\u91CD\u7F6E"},{value:exports.FormAction.SUBMIT,label:"\u63D0\u4EA4",extraProps:{type:"primary"}}],N=r.computed(()=>{const C=e.operate,b=(C==null?void 0:C.items)||M;return n.map(b,E=>(!E.onClick&&!n.get(C==null?void 0:C.itemState,[E.value,"onClick"])&&(E.value===exports.FormAction.RESET?E.onClick=()=>{var k;if(C!=null&&C.onReset){C.onReset();return}(k=h.value)==null||k.resetFields()}:E.value===exports.FormAction.SUBMIT?E.onClick=()=>{var k;if(C!=null&&C.onSubmit){C.onSubmit();return}(k=h.value)==null||k.submit()}:E.value===exports.FormAction.CONTINUE&&(C==null?void 0:C.onContinue)&&(E.onClick=()=>{C.onContinue()})),E.value===exports.FormAction.SUBMIT&&!n.has(E,"loading")&&(E.loading=e.submitLoading),E))}),v=C=>{const b=B(C);return b&&t[b]?t[b](C,y):pe(p,C,e.needRules)};Pe({});const T=n.keys(Me()),F=n.keys(n.omit(ee.props,"items")),D=n.get(s,L.FormKey);return()=>D?r.createVNode(D,r.mergeProps({ref:h,class:e.clsName},n.omit(c,"onFinish"),n.omit(e,...T,...F,"onFinish","operate"),{model:y,onFinish:m}),{default:()=>{var C,b,E;return[(C=t.start)==null?void 0:C.call(t),p&&n.size(g.value)>0&&r.createVNode(r.Fragment,null,[e.row?r.createVNode(ee,{row:e.row,col:e.col,items:n.map(g.value,k=>({rowKey:B(k),vNode:v(k),col:n.get(k,["extra","col"])}))},null):n.map(g.value,k=>v(k))]),(b=t.default)==null?void 0:b.call(t),e.operate&&r.createVNode(ve,r.mergeProps({clsName:`${e.clsName}-operate`,items:N.value},n.omit(e.operate,"items","onReset","onSubmit","onContinue")),null),(E=t.end)==null?void 0:E.call(t)]}}):null}});exports.SearchMode=void 0;(function(e){e.AUTO="AUTO",e.MANUAL="MANUAL"})(exports.SearchMode||(exports.SearchMode={}));const Ie=()=>({clsName:{type:String,default:"pro-search-form"},initEmit:{type:Boolean,default:!0},searchMode:{type:String,default:exports.SearchMode.AUTO},debounceKeys:{type:Array},debounceTypes:{type:Array,default:["text"]},debounceTime:{type:Number,default:800}}),qt=r.defineComponent({props:{...Ie(),needRules:{type:Boolean,default:!1}},setup:(e,{slots:t,expose:o})=>{const c=K()(L.ProFormKey),s=e.model||r.reactive({}),a=new Set(e.debounceTypes),i=n.map(n.filter(e.columns,g=>{const m=me(g);return a.has(m)}),g=>B(g)),p=r.ref(),y=e.formMethods||[];o(z(y,p));const P=()=>{var g;(g=p.value)==null||g.submit()},f=n.debounce(()=>{P()},e.debounceTime);A.useEffect(()=>{e.initEmit&&P()},[]);const l=(g,m,h)=>n.some(h,M=>n.get(g,M)!==n.get(m,M));A.useWatch((g,m)=>{if(e.searchMode!==exports.SearchMode.AUTO)return;const h=n.size(e.debounceKeys)>0?e.debounceKeys:i;if(n.size(h)>0&&l(g,m,h)){f();return}P()},()=>n.clone(s));const d=n.keys(n.omit(Ie(),"clsName","columns"));return()=>c?r.createVNode(c,r.mergeProps({ref:p},n.omit(e,d),{model:s}),t):null}}),Fe=()=>({readonly:{type:Boolean,default:void 0},fieldProps:{type:Object},showProps:{type:Object},slots:{type:Object}}),Ut=(e,t)=>({InputComp:o,valueType:u,name:c})=>r.defineComponent({name:c,props:{...e.props,...Fe()},setup:(s,{slots:a})=>{const{formState:i,showState:p,readonlyState:y,disableState:P,readonly:f,elementMap:l}=be(),d=he(),g=r.computed(()=>n.isBoolean(s.readonly)?s.readonly:n.isBoolean(y[s.name])?y[s.name]:f.value),m=ge(s.name),h=d!=null&&d.pathList?[...d.pathList,...m]:m,M=v=>{n.set(i,h,v)},N=n.keys(Fe());return()=>{const v=n.get(p,h);if(n.isBoolean(v)&&!v)return null;const T=n.get(i,h),F=n.get(l,u);return r.createVNode(e,r.mergeProps(n.omit(s,...N,"name","slots"),{name:h}),{default:()=>[g.value?r.createVNode(r.Fragment,null,[F?r.createVNode(F,r.mergeProps({value:T},s.fieldProps,{showProps:s.showProps}),a):r.createVNode("span",null,[T])]):r.createVNode(o,r.mergeProps(t(T,M,n.get(P,h)),s.fieldProps),a)],...s.slots})}}});function Bt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const zt=()=>({clsName:{type:String,default:"pro-operate"},items:{type:Array},itemState:{type:Object},elementKey:{type:String,default:L.ButtonKey}}),ve=r.defineComponent({props:{...zt()},setup:(e,{slots:t})=>{const o=K(),u=e.elementKey?o(e.elementKey):void 0,c=r.computed(()=>{const a=n.filter(e.items,i=>n.isFunction(i.show)?i.show():n.isBoolean(i.show)?i.show:!0);return n.map(a,i=>n.has(e.itemState,i.value)?{...i,...n.get(e.itemState,i.value)}:i)}),s=a=>{var i;(i=a.onClick)==null||i.call(a,a.value)};return()=>r.createVNode("div",{class:e.clsName},[n.map(c.value,a=>{const i=n.isFunction(a.disabled)?a.disabled():a.disabled,p=n.isFunction(a.loading)?a.loading():a.loading,y=n.isFunction(a.label)?a.label():a.label,P=n.isFunction(a.extraProps)?a.extraProps():a.extraProps,f={...n.omit(a,"show","disabled","element"),disabled:i};return a.element&&n.isFunction(a.element)?a.element(f):t[a.value]?t[a.value](f):u?r.createVNode(u,r.mergeProps({disabled:i,loading:p,onClick:()=>s(a)},P),Bt(y)?y:{default:()=>[y]}):r.createVNode("div",{class:`${e.clsName}-item`,onClick:()=>s(a)},[y])})])}}),_t=()=>({clsName:{type:String,default:"pro-table-toolbar-column"},signName:{type:String,default:"columnSetting"},popoverProps:Object}),Gt=r.defineComponent({props:{..._t()},setup:(e,{slots:t})=>{const o=K(),u=o(L.PopoverKey),c=o(L.CheckboxKey),{originColumns:s,state:a}=Ye(),[i,p]=A.useUpdateKey();A.useWatch(()=>{p()},()=>a.selectIds);const y=r.computed(()=>n.reduce(a.selectIds,(m,h)=>({...m,[h]:!0}),{})),P=m=>ye(m,e.signName),f=r.computed(()=>{const m=n.every(s.value,M=>{const N=P(M);return N!=null&&N.disabled?!0:n.get(y.value,M.dataIndex)}),h=n.some(s.value,M=>{const N=P(M);return N!=null&&N.disabled?!0:n.get(y.value,M.dataIndex)});return{checked:m,indeterminate:m?!1:h}}),l=m=>{var M;(n.isObject(m)?(M=m.target)==null?void 0:M.checked:m)?a.selectIds=n.map(s.value,N=>N.dataIndex):a.selectIds=n.map(n.filter(s.value,N=>{var v;return!!((v=P(N))!=null&&v.disabled)}),N=>N.dataIndex)},d=()=>{a.selectIds=n.map(n.filter(s.value,m=>{var h;return((h=P(m))==null?void 0:h.initShow)!==!1}),m=>m.dataIndex)},g=(m,h)=>{var N;(n.isObject(h)?(N=h.target)==null?void 0:N.checked:h)?a.selectIds=[...a.selectIds,m.dataIndex]:a.selectIds=n.filter(a.selectIds,v=>m.dataIndex!==v)};return()=>u?r.createVNode(u,r.mergeProps({trigger:"click"},e.popoverProps),{default:()=>{var m;return[((m=t.default)==null?void 0:m.call(t))||"\u5217\u8BBE\u7F6E"]},content:()=>r.createVNode("div",{class:`${e.clsName}`},[r.createVNode("div",{class:`${e.clsName}-header`},[r.createVNode(c,{checked:f.value.checked,indeterminate:f.value.indeterminate,onChange:l},{default:()=>[r.createTextVNode("\u5217\u5C55\u793A")]}),r.createVNode("a",{onClick:d},[r.createTextVNode("\u91CD\u7F6E")])]),r.createVNode("div",{key:i.value,class:`${e.clsName}-list`},[n.map(s.value,m=>{const h=P(m);return r.createVNode(c,{checked:n.get(y.value,m.dataIndex,!1),disabled:h==null?void 0:h.disabled,onChange:M=>{g(m,M)}},{default:()=>[m.title]})})])]),...n.omit(t,"default")}):null}}),Qe=Symbol("pro-table"),Ye=()=>r.inject(Qe),Wt=e=>{r.provide(Qe,e)},De=()=>({clsName:{type:String,default:"pro-table"},operate:{type:Object},columnEmptyText:{type:String},column:{type:Object},serialNumber:{type:[Boolean,Object]},paginationState:{type:Object},toolbar:{type:Object},provideExtra:{type:Object},tableMethods:{type:Array}}),Ht=r.defineComponent({inheritAttrs:!1,props:{..._,...De()},setup:(e,{slots:t,expose:o,attrs:u})=>{const{elementMap:c}=$(),s=e.elementMap||c,a=n.get(c,L.TableKey),i=()=>({title:"\u5E8F\u53F7",dataIndex:"serialNumber",width:80,...e.column,...n.isBoolean(e.serialNumber)?void 0:e.serialNumber,customRender:({index:v})=>{var T,F;return((T=e.paginationState)==null?void 0:T.page)&&((F=e.paginationState)==null?void 0:F.pageSize)?e.paginationState.pageSize*(e.paginationState.page-1)+v+1:v+1}}),p=q(t,"operate"),y=()=>{const v=e.operate,T=n.map(v.items,D=>({...D,...n.get(v.itemState,D.value)})),F=n.sortBy(T,D=>D.sort);return{...e.column,title:"\u64CD\u4F5C",dataIndex:"operate",fixed:"right",...v.column,customRender:({record:D})=>{const C=n.map(F,b=>({value:b.value,label:b.label,show:n.isFunction(b.show)?b.show(D):b.show,disabled:n.isFunction(b.disabled)?b.disabled(D):b.disabled,loading:n.isFunction(b.loading)?b.loading(D):b.loading,extraProps:n.isFunction(b.extraProps)?b.extraProps(D):b.extraProps,onClick:()=>{var E;(E=b.onClick)==null||E.call(b,D)},element:n.isFunction(b.element)?()=>b.element(D,b):b.element}));return r.createVNode(ve,{clsName:v.clsName||`${e.clsName}-operate`,items:C,elementKey:v.elementKey},n.reduce(n.keys(p),(b,E)=>({...b,[E]:k=>{var O;return(O=p[E])==null?void 0:O.call(p,D,k)}}),{}))}}},P=()=>{var F,D;const v=((D=(F=e.toolbar)==null?void 0:F.columnSetting)==null?void 0:D.signName)||"columnSetting",T=n.filter(e.columns,C=>{var b;return((b=ye(C,v))==null?void 0:b.initShow)!==!1});return e.serialNumber&&T.unshift(i()),n.map(T,C=>C.dataIndex)},f=r.reactive({selectIds:P()}),l=r.toRef(e,"columns"),d=r.computed(()=>{const v=n.reduce(f.selectIds,(T,F)=>({...T,[F]:!0}),{});return n.filter(e.columns,T=>n.get(v,T.dataIndex))}),g=v=>n.map(v,T=>{const F={...e.column,...T};return T.children&&n.size(T.children)>0?(F.children=g(T.children),F):(T.customRender||(F.customRender=({text:D})=>{var b;return oe(s,{...T,showProps:{...T.showProps,content:((b=T.showProps)==null?void 0:b.content)||e.columnEmptyText}},D)||D||e.columnEmptyText}),F)}),m=r.computed(()=>{const v=Q(d.value,e.columnState,F=>F.dataIndex),T=g(v);return e.serialNumber&&T.unshift(i()),e.operate&&e.operate.items&&n.some(e.operate.items,F=>F.show)&&T.push(y()),T}),h=r.ref();Wt({columns:m,originColumns:l,state:f,tableRef:h,toolbar:e.toolbar,...e.provideExtra}),o(z(e.tableMethods||[],h));const M=n.keys(De()),N=q(t,"columnSetting");return()=>{var T,F,D;if(!a)return null;const v=t.toolbar?t.toolbar():void 0;return r.createVNode("div",r.mergeProps({class:e.clsName},n.pick(u,"class")),[(v||((T=e.toolbar)==null?void 0:T.columnSetting))&&r.createVNode("div",{class:`${e.clsName}-toolbar`},[v,((F=e.toolbar)==null?void 0:F.columnSetting)&&r.createVNode(Gt,(D=e.toolbar)==null?void 0:D.columnSetting,N)]),r.createVNode(a,r.mergeProps({ref:h},n.omit(u,"class"),n.omit(e,M),{columns:m.value}),t)])}}}),Xt=()=>({title:{type:String},subTitle:{type:String},showBack:Boolean,hideWhileNoHistory:{type:Boolean,default:!0}}),te=r.defineComponent({props:{...Xt()},setup:(e,{slots:t,emit:o})=>()=>{var c,s,a,i;const u=e.hideWhileNoHistory&&((s=(c=window.history)==null?void 0:c.state)==null?void 0:s.back)||e.hideWhileNoHistory===!1;return r.createVNode("div",{class:"pro-page-header"},[e.showBack&&u&&r.createVNode("div",{class:"pro-page-header-back",onClick:()=>{o("back")}},[t.backIcon?t.backIcon():"\u8FD4\u56DE"]),r.createVNode("div",{class:"pro-page-header-title"},[t.title?t.title():e.title]),r.createVNode("div",{class:"pro-page-header-sub-title"},[t.subTitle?t.subTitle():e.subTitle]),r.createVNode("div",{class:"pro-page-header-space"},[(a=t.space)==null?void 0:a.call(t)]),r.createVNode("div",{class:"pro-page-header-extra"},[(i=t.extra)==null?void 0:i.call(t)])])}}),Jt=()=>({loading:{type:Boolean,default:!1},loadingOpts:Object,fillMode:{type:Boolean,default:!0}}),Qt=r.defineComponent({props:{...te.props,...Jt()},setup:(e,{slots:t,emit:o})=>{const c=K()(L.LoadingKey),s=r.ref(),a=r.ref(0);A.useResizeObserver(s,p=>{var P;const y=(P=p[0])==null?void 0:P.contentRect;a.value=y==null?void 0:y.height});const i=n.keys(te.props);return()=>{var P,f,l;const p=e.title||t.title||e.subTitle||t.subTitle||t.extra,y=!!t.footer;return r.createVNode("div",{class:"pro-page"},[p&&r.createVNode(te,r.mergeProps(n.pick(e,i),{onBack:()=>{o("back")}}),n.pick(t,"backIcon","title","subTitle","space","extra")),e.loading&&c?r.createVNode(c,r.mergeProps({loading:!0},e.loadingOpts),{default:()=>[r.createVNode("div",{class:"pro-loading-dom"},null)]}):r.createVNode("div",{ref:s,style:a.value>0?`height:${a.value>0}`:"",class:"pro-page-content"},[e.fillMode?r.createVNode(r.Fragment,null,[a.value>0&&((P=t.default)==null?void 0:P.call(t))]):(f=t.default)==null?void 0:f.call(t)]),!e.loading&&y&&r.createVNode("div",{class:"pro-page-footer"},[(l=t.footer)==null?void 0:l.call(t)])])}}}),Ze=Object.freeze({page:1,pageSize:10}),Yt=()=>({clsName:{type:String,default:"pro-list"},searchProps:{type:Object},tableProps:{type:Object},paginationProps:{type:[Object,Boolean]},pageState:{type:Object}}),le=r.defineComponent({props:{...Yt()},setup:(e,{slots:t,emit:o})=>{const u=K(),c=u(L.ProSearchFormKey),s=u(L.ProTableKey),a=u(L.PaginationKey),i=e.pageState||r.reactive({...Ze});let p;const y=()=>{o("search",{...p,...i})},P=(m,h)=>{p=m,i.page=h||1,y()},f=(m,h)=>{i.page=m,i.pageSize=h,y()},l=q(t,"search"),d=q(t,"table"),g=q(t,"pagination");return()=>{var m,h,M,N;return r.createVNode(r.Fragment,null,[(m=t.start)==null?void 0:m.call(t),t.search?t.search({executeSearchWithResetPage:P,pageState:i}):r.createVNode(r.Fragment,null,[c&&r.createVNode(c,r.mergeProps({clsName:`${e.clsName}-search`},n.omit(e.searchProps,"onFinish"),{onFinish:v=>P(v)}),l)]),(h=t.divide)==null?void 0:h.call(t),t.table?t.table({pageState:i}):r.createVNode(r.Fragment,null,[s&&r.createVNode(s,r.mergeProps({clsName:`${e.clsName}-table`,paginationState:{page:i.page,pageSize:i.pageSize},pagination:!1},e.tableProps),d)]),(M=t.divide2)==null?void 0:M.call(t),t.pagination?t.pagination({executePageChange:f,pageState:i}):r.createVNode(r.Fragment,null,[e.paginationProps!==!1&&a&&r.createVNode("div",{class:`${e.clsName}-pagination`},[r.createVNode(a,r.mergeProps(n.omit(n.isBoolean(e.paginationProps)?{}:e.paginationProps,"onChange"),{page:i.page,pageSize:i.pageSize,onComposeChange:f}),g)])]),(N=t.end)==null?void 0:N.call(t)])}}}),Ae=()=>({clsName:{type:String,default:"pro-desc"},model:{type:Object}}),et=r.defineComponent({props:{..._,...Ae()},setup:(e,{slots:t})=>{const{elementMap:o}=$(),u=e.elementMap||o,c=K(),s=c(L.DescriptionsKey),a=c(L.DescriptionsItemKey),i=r.computed(()=>Q(e.columns,e.columnState,"dataIndex")),p=n.keys(_),y=n.keys(Ae());return()=>!s||!a?null:r.createVNode(s,r.mergeProps({class:e.clsName},n.omit(e,...p,...y,"model")),{default:()=>{var P,f;return[(P=t.start)==null?void 0:P.call(t),n.map(i.value,l=>{const d=l.dataIndex,g=n.get(e.model,d);return r.createVNode(a,r.mergeProps({class:`${e.clsName}-item`},n.get(l.extra,"desc")),{default:()=>{var m;return[((m=t.value)==null?void 0:m.call(t,g,l))||oe(u,l,g)]},label:()=>{var m;return((m=t.label)==null?void 0:m.call(t,l))||l.title}})}),(f=t.default)==null?void 0:f.call(t)]},...t})}}),tt=Symbol("pro-curd"),V=()=>r.inject(tt),nt=e=>r.provide(tt,e);var S=(e=>(e.LIST="LIST",e.DETAIL="DETAIL",e.ADD="ADD",e.EDIT="EDIT",e.DELETE="DELETE",e))(S||{}),I=(e=>(e.EMIT="EMIT",e.EXECUTE="EXECUTE",e.PAGE="PAGE",e.SUCCESS="SUCCESS",e.FAIL="FAIL",e))(I||{}),U=(e=>(e.ADD="ADD",e.EDIT="EDIT",e.DETAIL="DETAIL",e))(U||{}),H=(e=>(e.NORMAL="NORMAL",e.CONTINUE="CONTINUE",e))(H||{});const Zt=()=>({rowKey:{type:String,default:"id"},operates:{type:Array},listProps:{type:Object},formProps:{type:Object},descProps:{type:Object},modalProps:{type:Object}}),Se=["sendCurdEvent","refreshList","sendEvent","sendRequest"],Le=r.defineComponent({props:{..._,...Zt()},setup:(e,{slots:t,expose:o})=>{const{elementMap:u,state:c,sendEvent:s,sendRequest:a}=X(),i=r.computed(()=>Q(e.columns,e.columnState,b=>B(b))),p=(b,E=!0)=>pe(e.formElementMap,b,E),y=(b,E)=>oe(u,b,E),P=(b,E)=>{const k=n.filter(i.value,O=>{const w=n.get(O,["extra",b])||n.get(O,b);return E?w!==!1:w});return n.sortBy(k,O=>n.get(O,["extra",`${b}Sort`])||n.get(O,`${b}Sort`))},f=r.computed(()=>P("form",!0)),l=r.computed(()=>P("detail",!0)),d=r.computed(()=>P("table",!0)),g=r.computed(()=>P("search"));let m;const h=b=>{a(S.LIST,{...m,...b})},M=b=>{s({type:b.action,payload:n.omit(b,"action","source"),source:b.source})};se(({type:b,payload:E,source:k})=>{if(k)return;let O=b,w=E==null?void 0:E.type;O===W.Success&&(O=n.get(E,["requestOpts","action"]),w=I.SUCCESS);const{values:Y,record:at}=E;switch(O){case S.LIST:w===I.EMIT&&(m=Y,h());return;case S.ADD:w===I.EXECUTE&&a(S.ADD,Y,c.detailData);return;case S.EDIT:w===I.EXECUTE&&a(S.EDIT,Y,c.detailData);return;case S.DELETE:w===I.EMIT?a(S.DELETE,at,e.rowKey):w===I.SUCCESS&&h();return}O&&b===I.EXECUTE&&a(O,Y)});const N=n.reduce(e.operates,(b,E)=>({...b,[E.action]:E}),{}),v=b=>n.get(N,b),T=r.computed(()=>e.listProps),F=r.computed(()=>e.formProps),D=r.computed(()=>e.descProps),C=r.computed(()=>e.modalProps);return nt({columns:i,getSignColumns:P,getFormItemVNode:p,getItemVNode:y,elementMap:u,formElementMap:e.formElementMap,rowKey:e.rowKey,curdState:c,formColumns:f,descColumns:l,tableColumns:d,searchColumns:g,sendCurdEvent:M,operates:e.operates,getOperate:v,refreshList:h,listProps:T,formProps:F,descProps:D,modalProps:C}),o({sendCurdEvent:M,refreshList:h}),()=>{var b;return(b=t.default)==null?void 0:b.call(t)}}}),J=r.defineComponent({props:{...n.omit(Z.props,"state","requests"),...Le.props,curdState:{type:Object}},setup:(e,{slots:t,expose:o})=>{const{elementMap:u,formElementMap:c}=$(),s=r.ref(),a=r.ref(),i=e.curdState||r.reactive({detailData:{}}),p={[S.LIST]:{convertParams:l=>l,convertData:l=>{var d;return(d=l.res)==null?void 0:d.data},loadingName:"listLoading",stateName:"listData"},[S.DETAIL]:{convertParams:(l,d)=>n.pick(l,d),convertData:l=>{var d;return(d=l.res)==null?void 0:d.data},loadingName:"detailLoading",stateName:"detailData",label:"\u8BE6\u60C5"},[S.ADD]:{convertParams:(l,d)=>({body:{...d,...l}}),loadingName:"operateLoading",label:"\u6DFB\u52A0"},[S.EDIT]:{convertParams:(l,d)=>({body:{...d,...l}}),loadingName:"operateLoading",label:"\u7F16\u8F91"},[S.DELETE]:{convertParams:(l,d)=>n.pick(l,d),label:"\u5220\u9664"}},y=n.map(e.operates,l=>({...n.get(p,l.action),...l})),P=n.filter(y,l=>l.actor),f=n.keys(n.omit(Z.props,"state","requests"));return o({sendCurdEvent:l=>{var d;(d=a.value)==null||d.sendCurdEvent(l)},refreshList:l=>{var d;(d=a.value)==null||d.refreshList(l)},sendEvent:l=>{var d;(d=s.value)==null||d.sendEvent(l)},sendRequest:(l,...d)=>{var g;(g=s.value)==null||g.sendRequest(l,...d)}}),()=>r.createVNode(Z,r.mergeProps({ref:s},n.pick(e,f),{elementMap:e.elementMap||u,state:i,requests:P}),{default:()=>[r.createVNode(Le,r.mergeProps({ref:a},n.omit(e,...f,"curdState","operates"),{formElementMap:e.formElementMap||c,operates:y}),t)]})}}),en=()=>({defaultAddRecord:{type:Object}}),ue=r.defineComponent({props:{...en()},setup:e=>{var d;const{dispatch:t,sendRequest:o}=X(),{rowKey:u,curdState:c,listProps:s,getOperate:a,refreshList:i}=V(),p=(d=s==null?void 0:s.value)==null?void 0:d.pageState,y=g=>{const m=a(S.DETAIL);m!=null&&m.actor?o(S.DETAIL,g,u):t({type:"detailData",payload:n.cloneDeep(g)})},P=(g,{record:m})=>{g===I.EMIT&&(t({type:"mode",payload:U.DETAIL}),y(m))},f=g=>{g===I.EMIT?(t({type:"mode",payload:U.ADD}),t({type:"detailData",payload:e.defaultAddRecord||{}})):g===I.SUCCESS&&(p&&(p.page=1),i(),c.addAction===H.CONTINUE?t({type:"detailData",payload:e.defaultAddRecord||{}}):t({type:"mode",payload:void 0}))},l=(g,{record:m})=>{g===I.EMIT?(t({type:"mode",payload:U.EDIT}),y(m)):g===I.SUCCESS&&(t({type:"mode",payload:void 0}),i())};return se(({type:g,payload:m,source:h})=>{if(h)return;let M=g,N=m==null?void 0:m.type;const v=m==null?void 0:m.record;switch(M===W.Success&&(M=n.get(m,["requestOpts","action"]),N=I.SUCCESS),M){case S.DETAIL:P(N,{record:v});break;case S.ADD:f(N);break;case S.EDIT:l(N,{record:v});break}}),()=>null}}),tn=r.defineComponent({props:{...J.props,...ue.props},setup:(e,{slots:t,expose:o})=>{const u=r.ref();o(z(Se,u));const c=n.keys(ue.props);return()=>r.createVNode(J,r.mergeProps({ref:u},n.omit(e,c)),{default:()=>{var s;return[r.createVNode(ue,n.pick(e,c),null),(s=t.default)==null?void 0:s.call(t)]}})}}),nn=()=>({defaultAddRecord:{type:Object},routeBack:{type:Function}}),ie=r.defineComponent({props:{...nn()},setup:e=>{const t=Ne.useRouter(),o=Ne.useRoute(),{dispatch:u,sendRequest:c}=X(),{rowKey:s,curdState:a}=V(),i=f=>{f===I.PAGE&&(u({type:"mode",payload:void 0}),u({type:"detailData",payload:{}}),u({type:"detailLoading",payload:!1}),u({type:"addAction",payload:void 0}))},p=(f,{record:l})=>{f===I.EMIT?t.push({path:`${o.path}/detail`,query:n.pick(l,s)}):f===I.PAGE&&(u({type:"mode",payload:U.DETAIL}),c(S.DETAIL,o.query,s))},y=f=>{f===I.EMIT?t.push({path:`${o.path}/add`}):f===I.PAGE?(u({type:"mode",payload:U.ADD}),u({type:"detailData",payload:e.defaultAddRecord||{}})):f===I.SUCCESS&&(a.addAction===H.CONTINUE?u({type:"detailData",payload:e.defaultAddRecord||{}}):e.routeBack?e.routeBack(S.ADD):t.go(-1))},P=(f,{record:l})=>{f===I.EMIT?t.push({path:`${o.path}/edit`,query:n.pick(l,s)}):f===I.PAGE?(u({type:"mode",payload:U.EDIT}),c(S.DETAIL,o.query,s)):f===I.SUCCESS&&(e.routeBack?e.routeBack(S.EDIT):t.go(-1))};return se(({type:f,payload:l,source:d})=>{if(d)return;let g=f,m=l==null?void 0:l.type;const h=l==null?void 0:l.record;switch(g===W.Success&&(g=n.get(l,["requestOpts","action"]),m=I.SUCCESS),g){case S.LIST:i(m);break;case S.DETAIL:p(m,{record:h});break;case S.ADD:y(m);break;case S.EDIT:P(m,{record:h});break}}),()=>null}}),rn=r.defineComponent({props:{...J.props,...ie.props},setup:(e,{slots:t,expose:o})=>{const u=r.ref();o(z(Se,u));const c=n.keys(ie.props);return()=>r.createVNode(J,r.mergeProps({ref:u},n.omit(e,c)),{default:()=>{var s;return[r.createVNode(ie,n.pick(e,c),null),(s=t.default)==null?void 0:s.call(t)]}})}}),rt=r.defineComponent({props:{...le.props,clsName:{type:String,default:"pro-curd-list"}},setup:(e,{slots:t})=>{const{elementMap:o,formElementMap:u,curdState:c,searchColumns:s,tableColumns:a,sendCurdEvent:i,operates:p}=V(),y=n.map(n.filter(p,f=>{const l=f.action;return l===S.DETAIL||l===S.EDIT||l===S.DELETE||f.tableOperate}),f=>{const l={...n.pick(f,"label","show","disabled","loading","extraProps","onClick","element"),value:f.action};return l.onClick||(l.onClick=d=>{i({action:f.action,type:I.EMIT,record:d})}),l}),P=f=>{i({action:S.LIST,type:I.EMIT,values:f})};return()=>{var M,N;const f=e.searchProps,l={formElementMap:u,columns:s.value,...f},d=e.tableProps,g={elementMap:o,columns:a.value,loading:c.listLoading,dataSource:(M=c.listData)==null?void 0:M.dataSource,...n.omit(d,"operate"),operate:{items:y,...d==null?void 0:d.operate}},m=e.paginationProps,h={total:(N=c.listData)==null?void 0:N.total,...n.isBoolean(m)?{}:m};return r.createVNode(le,r.mergeProps(n.omit(e,"searchProps","tableProps","paginationProps"),{searchProps:l,tableProps:g,paginationProps:h,onSearch:P}),{...t,search:t.search?v=>t.search(v,l):void 0,table:t.table?v=>t.table(v,g):void 0,pagination:t.pagination?v=>t.pagination(v,h):void 0})}}}),on=r.defineComponent(()=>{const{listProps:e}=V();return()=>r.createVNode(rt,n.omit(e==null?void 0:e.value,"slots"),n.get(e==null?void 0:e.value,"slots"))}),an=()=>({clsName:{type:String,default:"pro-curd-form"},signName:{type:String}}),ce=r.defineComponent({props:{...an()},setup:(e,{slots:t,expose:o,attrs:u})=>{const{elementMap:c,formElementMap:s,curdState:a,formColumns:i,getSignColumns:p,sendCurdEvent:y}=V(),P=r.ref();o(z(e.formMethods||[],P));const f=r.computed(()=>e.signName?p(e.signName):i.value),l=()=>{var h;a.addAction=H.NORMAL,(h=P.value)==null||h.submit()},d=()=>{var h;a.addAction=H.CONTINUE,(h=P.value)==null||h.submit()},g=[{value:exports.FormAction.RESET,label:"\u91CD\u7F6E"},{value:exports.FormAction.SUBMIT,label:"\u63D0\u4EA4",extraProps:{type:"primary"}},{value:exports.FormAction.CONTINUE,label:"\u786E\u5B9A\u5E76\u7EE7\u7EED",extraProps:{type:"primary"},show:!1}],m=h=>{u.onFinish||(a.mode===S.EDIT?y({action:S.EDIT,type:I.EXECUTE,values:h}):y({action:S.ADD,type:I.EXECUTE,values:h}))};return()=>r.createVNode(Je,r.mergeProps({ref:P},n.omit(e,"operate"),{elementMap:e.elementMap||c,formElementMap:e.formElementMap||s,columns:e.columns||f.value,readonly:a.mode===S.DETAIL,model:e.model||a.detailData,hideRequiredMark:a.mode===S.DETAIL,operate:e.operate?{items:g,onSubmit:l,onContinue:d,...e.operate}:void 0,onFinish:m}),t)}}),sn=r.defineComponent(()=>{const{formProps:e}=V();return()=>r.createVNode(ce,n.omit(e==null?void 0:e.value,"slots"),n.get(e==null?void 0:e.value,"slots"))}),cn=()=>({clsName:{type:String,default:"pro-curd-desc"},signName:{type:String}}),ot=r.defineComponent({props:{...cn()},setup:(e,{slots:t})=>{const{curdState:o,descColumns:u,getSignColumns:c}=V(),s=r.computed(()=>e.signName?c(e.signName):u.value);return()=>r.createVNode(et,r.mergeProps(n.omit(e,"signName","model","columns"),{model:e.model||o.detailData,columns:s.value}),t)}}),un=r.defineComponent(()=>{const{descProps:e}=V();return()=>r.createVNode(ot,n.omit(e==null?void 0:e.value,"slots"),n.get(e==null?void 0:e.value,"slots"))}),ke=()=>({clsName:{type:String,default:"pro-curd-modal"},validMode:{type:Array,default:[S.ADD,S.DETAIL,S.EDIT]}}),Ce=r.defineComponent({props:{...ke()},setup:(e,{slots:t})=>{const o=K(),u=o(L.ModalKey),c=o(L.LoadingKey),{curdState:s,getOperate:a}=V(),i=()=>{s.mode=void 0,A.setReactiveValue(s.detailData,{}),s.detailLoading=!1,s.addAction=void 0},p=n.keys(ke());return()=>{var P;const y=s.mode;return!n.some(e.validMode,f=>f===y)||!u?null:r.createVNode(u,r.mergeProps(n.omit(e,p),{visible:n.some(e.validMode,f=>f===y),title:e.title||((P=a(s.mode))==null?void 0:P.label),confirmLoading:s.operateLoading,maskClosable:s.mode===S.DETAIL,onCancel:i}),{default:()=>{var f;return[s.detailLoading&&c?r.createVNode(c,{loading:!0},{default:()=>[r.createVNode("div",{class:`${e.clsName}-loading-dom`},null)]}):(f=t.default)==null?void 0:f.call(t)]},...n.omit(t,"default")})}}}),ln=r.defineComponent({props:{modalProps:Object,formProps:Object},setup:(e,{slots:t})=>{const o=r.ref(),u=q(t,"modal"),c=q(t,"form");return()=>r.createVNode(Ce,r.mergeProps(e.modalProps,{onOk:()=>{var s;(s=o.value)==null||s.submit()}}),{default:()=>[r.createVNode(ce,r.mergeProps({ref:o},e.formProps),c)],...u})}}),dn=r.defineComponent(()=>{const{modalProps:e,formProps:t}=V(),o=r.ref();return()=>r.createVNode(Ce,r.mergeProps(n.omit(e==null?void 0:e.value,"slots"),{onOk:()=>{var u;(u=o.value)==null||u.submit()}}),{default:()=>[r.createVNode(ce,r.mergeProps({ref:o},n.omit(t==null?void 0:t.value,"slots")),n.get(t==null?void 0:t.value,"slots"))],...n.get(e==null?void 0:e.value,"slots")})});exports.CurdAction=S;exports.CurdAddAction=H;exports.CurdCurrentMode=U;exports.CurdMethods=Se;exports.CurdSubAction=I;exports.ElementKeys=L;exports.LogonUser=Ot;exports.LogonUserKey=fe;exports.MustLogon=Lt;exports.PageHeader=te;exports.ProConfig=lt;exports.ProCurd=J;exports.ProCurdDesc=ot;exports.ProCurdDescConnect=un;exports.ProCurdForm=ce;exports.ProCurdFormConnect=sn;exports.ProCurdList=rt;exports.ProCurdListConnect=on;exports.ProCurdModal=Ce;exports.ProCurdModalForm=ln;exports.ProCurdModalFormConnect=dn;exports.ProDesc=et;exports.ProForm=Je;exports.ProFormList=$t;exports.ProGrid=ee;exports.ProList=le;exports.ProModalCurd=tn;exports.ProModule=Z;exports.ProOperate=ve;exports.ProPage=Qt;exports.ProPageCurd=rn;exports.ProSearchForm=qt;exports.ProTable=Ht;exports.RequestAction=W;exports.Wrapper=Ue;exports.convertPathToList=ge;exports.convertResData=we;exports.createExpose=z;exports.createExposeObj=Kt;exports.createFormItemCompFn=Ut;exports.createProConfig=dt;exports.defaultPage=Ze;exports.filterSlotsByPrefix=q;exports.getColumnFormItemName=B;exports.getColumnValueType=me;exports.getFirstPropName=qe;exports.getFormItemEl=pe;exports.getItemEl=oe;exports.getSignValue=ye;exports.getValidValues=We;exports.mergeStateToList=Q;exports.proBaseProps=_;exports.provideProCurd=nt;exports.provideProFormList=Pe;exports.provideProModule=ze;exports.renderElement=G;exports.renderElements=ae;exports.useAccess=Ge;exports.useAccessMgr=At;exports.useComposeRequestActor=Ke;exports.useDispatchMeta=Mt;exports.useDispatchStore=Ft;exports.useDoneRequestActor=Nt;exports.useFailedRequestActor=Tt;exports.useGetCompByKey=K;exports.useLogonUser=kt;exports.useMetaRegister=je;exports.useModuleEvent=se;exports.useProConfig=$;exports.useProCurd=V;exports.useProForm=be;exports.useProFormList=he;exports.useProModule=X;exports.useProTable=Ye;exports.useReadStore=Dt;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue-start/pro",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "zx <zxpstudy@163.com>",
|
|
6
6
|
"homepage": "https://github.com/zxeryu/vue-start#readme",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"vue": ">=3.x",
|
|
33
33
|
"vue-router": ">=4.x"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "e4a353000de13e03b0da5ba118be58fb8c3bce4e"
|
|
36
36
|
}
|