workdesktop-ai 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -7,5 +7,5 @@
7
7
  `);l=s===-1?"":i.slice(s+1)}if(!o.stack)o.stack=l;else if(l){const s=l.indexOf(`
8
8
  `),c=s===-1?-1:l.indexOf(`
9
9
  `,s+1),d=c===-1?"":l.slice(c+1);String(o.stack).endsWith(d)||(o.stack+=`
10
- `+l)}}catch{}throw o}}_request(n,r){typeof n=="string"?(r=r||{},r.url=n):r=n||{},r=Oe(this.defaults,r);const{transitional:o,paramsSerializer:a,headers:i}=r;o!==void 0&&ct.assertOptions(o,{silentJSONParsing:re.transitional(re.boolean),forcedJSONParsing:re.transitional(re.boolean),clarifyTimeoutError:re.transitional(re.boolean),legacyInterceptorReqResOrdering:re.transitional(re.boolean),advertiseZstdAcceptEncoding:re.transitional(re.boolean),validateStatusUndefinedResolves:re.transitional(re.boolean)},!1),a!=null&&(f.isFunction(a)?r.paramsSerializer={serialize:a}:ct.assertOptions(a,{encode:re.function,serialize:re.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),ct.assertOptions(r,{baseUrl:re.spelling("baseURL"),withXsrfToken:re.spelling("withXSRFToken")},!0),r.method=(f.getSafeProp(r,"method")||f.getSafeProp(this.defaults,"method")||"get").toLowerCase();let l=i&&f.merge(i.common,i[r.method]);i&&f.forEach(gn.concat("common"),k=>{delete i[k]}),r.headers=oe.concat(l,i);const s=[];let c=!0;this.interceptors.request.forEach(function(S){if(typeof S.runWhen=="function"&&S.runWhen(r)===!1)return;c=c&&S.synchronous;const D=r.transitional||Et;D&&D.legacyInterceptorReqResOrdering?s.unshift(S.fulfilled,S.rejected):s.push(S.fulfilled,S.rejected)});const d=[];this.interceptors.response.forEach(function(S){d.push(S.fulfilled,S.rejected)});let u,p=0,m;if(!c){const k=[Tt.bind(this),void 0];for(k.unshift(...s),k.push(...d),m=k.length,u=Promise.resolve(r);p<m;)u=u.then(k[p++],k[p++]);return u}m=s.length;let g=r;for(;p<m;){const k=s[p++],S=s[p++];try{g=k?k(g):g}catch(D){if(!S){u=Promise.reject(D);break}try{const h=S.call(this,D);f.isThenable(h)&&(u=Promise.resolve(h).then(()=>Tt.call(this,g)))}catch(h){u=Promise.reject(h)}break}}if(!u)try{u=Tt.call(this,g)}catch(k){u=Promise.reject(k)}for(p=0,m=d.length;p<m;)u=u.then(d[p++],d[p++]);return u}getUri(n){n=Oe(this.defaults,n);const r=_n(n.baseURL,n.url,n.allowAbsoluteUrls,n);return cn(r,n.params,n.paramsSerializer)}};f.forEach(["delete","get","head","options"],function(n){De.prototype[n]=function(r,o){return this.request(Oe(o||{},{method:n,url:r,data:o&&f.hasOwnProp(o,"data")?o.data:void 0}))}}),f.forEach(["post","put","patch","query"],function(n){function r(o){return function(i,l,s){return this.request(Oe(s||{},{method:n,headers:o?{"Content-Type":"multipart/form-data"}:{},url:i,data:l}))}}De.prototype[n]=r(),n!=="query"&&(De.prototype[n+"Form"]=r(!0))});let Aa=class So{constructor(n){if(typeof n!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});const o=this;this.promise.then(a=>{if(!o._listeners)return;let i=o._listeners.length;for(;i-- >0;)o._listeners[i](a);o._listeners=null}),this.promise.then=a=>{let i;const l=new Promise(s=>{o.subscribe(s),i=s}).then(a);return l.cancel=function(){o.unsubscribe(i)},l},n(function(i,l,s){o.reason||(o.reason=new Ze(i,l,s),r(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){if(this.reason){n(this.reason);return}this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const r=this._listeners.indexOf(n);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const n=new AbortController,r=o=>{n.abort(o)};return this.subscribe(r),n.signal.unsubscribe=()=>this.unsubscribe(r),n.signal}static source(){let n;return{token:new So(function(a){n=a}),cancel:n}}};function Na(e){return function(r){return e.apply(null,r)}}function Pa(e){return f.isObject(e)&&e.isAxiosError===!0}const dt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(dt).forEach(([e,n])=>{dt[n]===void 0&&(dt[n]=e)});function Un(e){const n=new De(e),r=It(De.prototype.request,n);return f.extend(r,De.prototype,n,{allOwnKeys:!0}),f.extend(r,n,null,{allOwnKeys:!0}),r.create=function(a){return Un(Oe(e,a))},r}const Q=Un(Xe);Q.Axios=De,Q.CanceledError=Ze,Q.CancelToken=Aa,Q.isCancel=yn,Q.VERSION=Pt,Q.toFormData=at,Q.AxiosError=N,Q.Cancel=Q.CanceledError,Q.all=function(n){return Promise.all(n)},Q.spread=Na,Q.isAxiosError=Pa,Q.mergeConfig=Oe,Q.AxiosHeaders=oe,Q.formToJSON=e=>hn(f.isHTMLForm(e)?new FormData(e):e),Q.getAdapter=$n.getAdapter,Q.HttpStatusCode=dt,Q.default=Q;const{Axios:Xi,AxiosError:Zi,CanceledError:Yi,isCancel:Qi,CancelToken:vi,VERSION:el,all:tl,Cancel:nl,isAxiosError:ol,spread:rl,toFormData:al,AxiosHeaders:il,HttpStatusCode:ll,formToJSON:sl,getAdapter:cl,mergeConfig:dl,create:ul}=Q;function Vt(e,n){if(!e||e.showTips===!1)return;const r=e.tipsType;if(!r||r==="none")return;const o=e.props||{};if(r==="notify"||r==="notification"){K.ElNotification({message:n,type:"info",...o});return}const a=["success","warning","error","info"].includes(r)?r:"info";K.ElMessage({message:n,type:a,...o})}class $t{constructor(n){Me(this,"axiosInstance");Me(this,"listeners",new Set);Me(this,"instanceConfig",{});Me(this,"loadingInstance",null);Me(this,"loadingCount",0);this.axiosInstance=Q.create(n||{})}create(n){const r=new $t;return r.instanceConfig=n||{},r.listeners=this.listeners,r}on(n){return this.listeners.add(n),()=>this.listeners.delete(n)}off(n){this.listeners.delete(n)}emit(n){this.listeners.forEach(r=>{try{r(n)}catch(o){console.error("[WorkDesktop] api event handler error:",o)}})}resolveConfig(){const n=Se();return this.instanceConfig&&Object.keys(this.instanceConfig).length?ue(n,this.instanceConfig):n}openLoading(n){var a;const r=this.resolveConfig();((n==null?void 0:n.showLoading)??r.request.loading.enable)&&(this.loadingCount+=1,this.loadingCount===1&&(this.loadingInstance=K.ElLoading.service({...r.request.loading.props,...((a=n==null?void 0:n.axiosConfig)==null?void 0:a.loadingProps)||{}})))}closeLoading(n){const r=this.resolveConfig();((n==null?void 0:n.showLoading)??r.request.loading.enable)&&(this.loadingCount=Math.max(0,this.loadingCount-1),this.loadingCount===0&&this.loadingInstance&&(this.loadingInstance.close(),this.loadingInstance=null))}async request(n,r){var d;const o=this.resolveConfig(),a=(n.method||"get").toLowerCase(),i=this.buildUrl(n.url||"",o),l={type:"apiBefore",url:i,method:a,params:n.data??n.params};this.emit(l),this.openLoading(r);let s={...o.request.axiosConfig,...n,url:i,method:a,signal:(r==null?void 0:r.signal)??n.signal};const c=o.request.transform.requestInterceptor;c&&(s=await c(s)||s);try{let u=await this.axiosInstance.request(s);const p=o.request.transform.responseInterceptor;p&&(u=await p(u)??u);const m=u.data,g=this.unpack(m,o,r,{url:i,method:a,params:l.params});return this.emit({type:g.success?"apiSuccess":"apiFail",url:i,method:a,params:l.params,data:g.data,code:g.code,message:g.message,raw:m}),this.emit({type:"apiAfter",url:i,method:a,data:g.data,code:g.code,message:g.message}),g}catch(u){const p=(u==null?void 0:u.message)||"网络异常,请稍后重试",m=((d=r==null?void 0:r.tipsConfig)==null?void 0:d.exception)??o.response.exception;if(Vt(m,p),this.emit({type:"apiException",url:i,method:a,params:l.params,error:u,message:p}),this.emit({type:"apiAfter",url:i,method:a,error:u,message:p}),o.request.throwException)throw u;return Promise.reject(Object.assign(new Error(p),{success:!1,data:null,message:p,error:u}))}finally{this.closeLoading(r)}}unpack(n,r,o,a){var g,k;if(n==null||typeof n!="object"||Array.isArray(n))return{success:!0,data:n,raw:n};const{codeName:i,messageName:l,dataName:s}=r.response.props,c=n[i],d=n[l]??"",u=n[s];if(this.checkSuccess(c,r)){const S=((g=o==null?void 0:o.tipsConfig)==null?void 0:g.success)??r.response.success;return S!=null&&S.showTips&&Vt(S,d||"操作成功"),{success:!0,data:u,code:c,message:d,raw:n}}const m=((k=o==null?void 0:o.tipsConfig)==null?void 0:k.fail)??r.response.fail;return(m==null?void 0:m.showTips)!==!1&&Vt(m,d||"操作失败"),{success:!1,data:null,code:c,message:d,raw:n}}checkSuccess(n,r){if(n==null)return!0;const o=Number(n);return Number.isNaN(o)?!0:o>=r.response.successCode}buildUrl(n,r){if(!n||/^https?:\/\//.test(n))return n;const o=r.request.urlPrefix||"";return o?`${o.replace(/\/$/,"")}/${n.replace(/^\//,"")}`:n}get(n,r,o){return this.request({url:n,method:"get",params:r},o)}post(n,r,o){return this.request({url:n,method:"post",data:r},o)}put(n,r,o){return this.request({url:n,method:"put",data:r},o)}delete(n,r,o){return this.request({url:n,method:"delete",params:r},o)}}const J=new $t;function zn(e={}){const n=Se(),{api:r,apiMethod:o="post",apiParam:a={},pageSize:i=n.page.pager.pageSize,immediate:l=!1,reqOptions:s,onLoaded:c}=e,d=t.ref(1),u=t.ref(i),p=t.ref(0),m=t.shallowRef([]),g=t.ref(!1),k=t.reactive({}),S=t.ref([]),D=n.request.pageParam,h=n.response.list;let b=null;function R(F){const A={[D.pageField]:d.value,[D.sizeField]:u.value};return A[D.searchField]={...a,...k,...F||{}},A}async function E(F){if(!r)return m.value=[],p.value=0,{list:[],total:0,pageSize:u.value,currentPage:d.value};g.value=!0,b&&b.abort(),b=new AbortController;const A=R(F);try{let W;if(o==="get"?W=await J.request({url:r,method:"get",params:A},{...s,signal:b.signal}):W=await J.request({url:r,method:o,data:A},{...s,signal:b.signal}),W.success){const w=W.data;let _=[],U=0;return Array.isArray(w)?(_=w,U=w.length):w&&typeof w=="object"&&(_=w[h.listName]??w.list??[],U=w[h.totalName]??w.total??_.length),m.value=_,p.value=U,c==null||c({list:_,total:U}),{list:_,total:U,pageSize:(w==null?void 0:w[h.pageSizeName])??u.value,currentPage:(w==null?void 0:w[h.currentPageName])??d.value}}return m.value=[],p.value=0,{list:[],total:0,pageSize:u.value,currentPage:d.value}}finally{g.value=!1,b=null}}function y(){return E()}function O(){return d.value=1,Object.keys(k).forEach(F=>delete k[F]),E()}function C(F){return d.value=F,E()}function P(F){return u.value=F,d.value=1,E()}function z(F){S.value=F||[]}function M(){return S.value}function T(){S.value=[]}function $(F){return F&&Object.assign(k,F),d.value=1,E()}return l&&E(),{currentPage:d,page:d,pageSize:u,total:p,list:m,loading:g,searchParams:k,selection:S,fetchData:E,refresh:y,reset:O,search:$,onChangeCurrentpage:C,onChangePagesize:P,setSelection:z,getSelection:M,clearSelection:T,buildParams:R}}const _e=new Map;function Ye(e){return e||""}function Fn(e){const n=Ye(e.filter);return _e.has(n)||_e.set(n,new Set),_e.get(n).add(e),()=>{var r;(r=_e.get(n))==null||r.delete(e)}}function Ce(e,n){if(!e)return 0;const r=typeof e=="string"?e:Ye(n),o=_e.get(r);if(!o)return 0;let a=0;return o.forEach(i=>{try{i.refresh(),a+=1}catch(l){console.error("[WorkDesktop] refreshDataGrid error:",l)}}),a}function Oa(e){const n=_e.get(Ye(e));return n?Array.from(n):[]}function Mn(e,n,r){if(!n)return 0;const o=typeof n=="string"?n:Ye(r),a=_e.get(o);if(!a)return 0;let i=0;return a.forEach(l=>{try{l.search?l.search(e):l.refresh(),i+=1}catch(s){console.error("[WorkDesktop] searchDataGrid error:",s)}}),i}function jn(e,n){if(!e)return 0;const r=typeof e=="string"?e:Ye(n),o=_e.get(r);if(!o)return 0;let a=0;return o.forEach(i=>{try{i.resetSearch?i.resetSearch():i.refresh(),a+=1}catch(l){console.error("[WorkDesktop] resetSearchDataGrid error:",l)}}),a}function Da(){_e.clear()}function Ta(e){const n=[];let r=0;const o=a=>{a.forEach(i=>{var u,p;if(!i||typeof i!="object")return;const l=i.props||{},s=((u=i.type)==null?void 0:u.name)||((p=i.type)==null?void 0:p.__name)||"";if(String(s).includes("TableColumn")||i.type===Symbol.for("el-table-column")||s==="ElTableColumn"||l.prop||l.label||l.type){r+=1;const m=l.type,g=String(l.prop||l.columnKey||`col-${r}`);n.push({key:g,label:l.label||g,controllable:!m,visible:l.hidden!==!0,order:n.length})}const d=i.children;Array.isArray(d)&&o(d.filter(m=>m&&typeof m=="object"))})};return o(e),n}function Va(e){const n=t.ref([]),r=t.ref(!1),o=e?`wd:columns:${e}`:"";function a(){return!o||typeof localStorage>"u"?{}:Ft(localStorage.getItem(o),{})}function i(){if(!o||typeof localStorage>"u")return;const m={};n.value.forEach((g,k)=>{m[g.key]={visible:g.visible,order:k}}),localStorage.setItem(o,JSON.stringify(m))}function l(m){const g=Ta(m),k=a();n.value=g.map(S=>{const D=k[S.key];return D?{...S,visible:D.visible??S.visible,order:D.order??S.order}:S}),n.value.sort((S,D)=>S.order-D.order)}function s(m,g){const k=n.value.find(S=>S.key===m);k&&(k.visible=g,i())}function c(m,g){const k=n.value.findIndex(b=>b.key===m),S=k+g;if(k<0||S<0||S>=n.value.length)return;const D=n.value.slice(),[h]=D.splice(k,1);D.splice(S,0,h),D.forEach((b,R)=>b.order=R),n.value=D,i()}function d(){n.value.forEach(m=>m.visible=!0),n.value.sort((m,g)=>m.order-g.order),o&&typeof localStorage<"u"&&localStorage.removeItem(o)}const u=t.computed(()=>new Set(n.value.filter(m=>!m.visible).map(m=>m.key))),p=t.computed(()=>n.value.filter(m=>m.controllable));return{columns:n,controllableColumns:p,hiddenKeys:u,settingVisible:r,init:l,setVisible:s,move:c,reset:d,nextTick:t.nextTick}}const $a={key:0,class:"wd-datagrid__toolbar"},La={class:"wd-datagrid__toolbar-left"},Ua={class:"wd-datagrid__toolbar-right"},za={key:2,class:"wd-datagrid__cards"},Fa={class:"wd-datagrid__card-title"},Ma={class:"wd-datagrid__card-body"},ja={class:"wd-datagrid__card-label"},Ia={class:"wd-datagrid__card-value"},Wa={key:3,class:"wd-datagrid__pager"},qa={class:"wd-datagrid__col-setting"},Ha={class:"wd-datagrid__col-actions"},Ka=t.defineComponent({name:"WdDatagrid",__name:"DataGrid",props:{api:{type:String,default:""},apiMethod:{type:String,default:"post"},apiParam:{type:Object,default:()=>({})},active:{type:Boolean,default:!1},dataSource:{type:[Array,Object],default:void 0},withPager:{type:Boolean,default:!0},withSearch:{type:Boolean,default:!1},modeSwitch:{type:Boolean,default:!1},dynamicColumn:{type:Boolean,default:!1},columnStorageKey:{type:String,default:""},fix:{type:Boolean,default:!0},border:{type:Boolean,default:!1},stripe:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!1},rowKey:{type:String,default:""},tableSize:{type:String,default:"default"},pagerStyle:{type:String,default:"normal"},withIndex:{type:Boolean,default:!0},withSelection:{type:Boolean,default:!1},rowspanKey:{type:String,default:""},rowspanColumn:{type:Array,default:()=>[]},treeProps:{type:Object,default:()=>({children:"children",hasChildren:"hasChildren"})},defaultExpandAll:{type:Boolean,default:!1},tools:{type:Object,default:()=>({})},rowActions:{type:Array,default:()=>[]},filter:{type:String,default:""}},emits:["row-action","page-change","selection-change","mode-change","loaded","apiBefore","apiAfter"],setup(e,{expose:n,emit:r}){const o=t.defineComponent({name:"WdColumnRenderer",props:{vnodes:{type:Array,default:()=>[]}},render(){return this.vnodes}}),a=e,i=r,l=t.useSlots(),s=t.ref(null),c=t.ref("table"),d=t.computed(()=>({refresh:a.tools.refresh!==!1,columnSetting:a.tools.columnSetting===!0,modeSwitch:a.tools.modeSwitch===!0,size:a.tools.size===!0})),u=t.computed(()=>!!l.toolbar),p=t.computed(()=>d.value.refresh||d.value.columnSetting||d.value.modeSwitch||d.value.size||a.modeSwitch||a.dynamicColumn),m=a.columnStorageKey?`wd:tablesize:${a.columnStorageKey}`:"",g=m?Ft(localStorage.getItem(m),null):null,k=t.ref(g||a.tableSize);t.watch(()=>a.tableSize,L=>{g||(k.value=L)});function S(L){k.value=L,m&&localStorage.setItem(m,JSON.stringify(L))}const D=Se(),h=D.page.pager.pageSizes,b=D.page.pager.hideOnSinglePage,R=t.computed(()=>a.pagerStyle==="simple"?"prev, pager, next":a.pagerStyle==="full"?"total, sizes, prev, pager, next, jumper":D.page.pager.layout),E=t.computed(()=>Array.isArray(a.dataSource)),y=zn({api:E.value?"":a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,pageSize:D.page.pager.pageSize,immediate:!1}),{list:O,total:C,loading:P,currentPage:z,pageSize:M,selection:T}=y;t.watch(()=>a.dataSource,L=>{E.value&&(O.value=L,C.value=L.length)},{immediate:!0});const{columns:$,controllableColumns:F,hiddenKeys:A,settingVisible:W,init:w,setVisible:_,move:U,reset:Z}=Va(a.columnStorageKey||void 0),se=t.computed(()=>{const L=l.default;if(!L)return[];const x=L();return $.value.length||w(x),ae(x,A.value)});function ae(L,x){const H=[];return L.forEach(G=>{if(!G||typeof G!="object"){G&&H.push(G);return}const ee=G.props||{},ge=String(ee.prop||ee.columnKey||"");ee.type==="selection"||ee.type==="index"||ge&&x.has(ge)||H.push(G)}),H}function Y(L){return(z.value-1)*M.value+L+1}function me({row:L,column:x,rowIndex:H,columnIndex:G}){if(!a.rowspanKey||!a.rowspanColumn.length)return{rowspan:1,colspan:1};const ee=x.property;if(!a.rowspanColumn.includes(ee))return{rowspan:1,colspan:1};const ge=O.value,ze=L[a.rowspanKey],Ee=ge.findIndex(Fe=>Fe[a.rowspanKey]===ze);return H===Ee?{rowspan:ge.filter(pt=>pt[a.rowspanKey]===ze).length,colspan:1}:{rowspan:0,colspan:0}}function we(L){y.setSelection(L),i("selection-change",L)}function ke(L){y.onChangeCurrentpage(L),i("page-change",{currentPage:L,pageSize:M.value})}function Ve(L){y.onChangePagesize(L),i("page-change",{currentPage:z.value,pageSize:L})}function B(){c.value=c.value==="table"?"card":"table",i("mode-change",c.value)}const j=t.computed(()=>{const L=a.rowActions.reduce((x,H)=>x+H.text.length*14+16,20);return Math.max(L,90)});function q(L,x){i("row-action",{row:L,command:x.command??x.text,text:x.text})}function I(L){return E.value?Promise.resolve():y.fetchData(L==null?void 0:L.apiParam).then(x=>{i("loaded",x)})}function ve(){return E.value?Promise.resolve():y.fetchData().then(L=>i("loaded",L))}function ce(){return y.getSelection()}function be(){var L,x;(x=(L=s.value)==null?void 0:L.clearSelection)==null||x.call(L),y.clearSelection()}function he(L){return E.value?Promise.resolve():(z.value=1,y.fetchData(L).then(x=>i("loaded",x)))}function et(){return y.reset()}n({requestApi:I,refresh:ve,onChangePagesize:Ve,onChangeCurrentpage:ke,getSelection:ce,clearSelection:be,search:he,resetSearch:et,tableRef:s});let Re=null;return t.onMounted(()=>{Re=Fn({filter:a.filter,refresh:()=>ve(),search:L=>he(L),resetSearch:()=>et()}),a.active&&!E.value&&I()}),t.onBeforeUnmount(()=>{Re==null||Re()}),t.watch(()=>[a.api,a.apiMethod],()=>{a.active&&!E.value&&I()}),(L,x)=>{const H=t.resolveComponent("el-icon"),G=t.resolveComponent("el-button"),ee=t.resolveComponent("el-tooltip"),ge=t.resolveComponent("el-dropdown-item"),ze=t.resolveComponent("el-dropdown-menu"),Ee=t.resolveComponent("el-dropdown"),Fe=t.resolveComponent("el-table-column"),pt=t.resolveComponent("el-empty"),Ui=t.resolveComponent("el-table"),zi=t.resolveComponent("el-pagination"),Fi=t.resolveComponent("el-checkbox"),Mi=t.resolveComponent("el-dialog"),go=t.resolveDirective("loading");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wd-datagrid",{"wd-datagrid--auto-height":e.autoHeight}])},[u.value||p.value?(t.openBlock(),t.createElementBlock("div",$a,[t.createElementVNode("div",La,[t.renderSlot(L.$slots,"toolbar",{selection:t.unref(T),list:t.unref(O)},void 0,!0)]),t.createElementVNode("div",Ua,[d.value.refresh?(t.openBlock(),t.createBlock(ee,{key:0,content:"刷新",placement:"top"},{default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small",onClick:ve},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.Refresh))]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0),d.value.size?(t.openBlock(),t.createBlock(ee,{key:1,content:"调整大小",placement:"top"},{default:t.withCtx(()=>[t.createVNode(Ee,{trigger:"click",onCommand:S},{dropdown:t.withCtx(()=>[t.createVNode(ze,null,{default:t.withCtx(()=>[t.createVNode(ge,{command:"large",disabled:e.tableSize==="large"},{default:t.withCtx(()=>[...x[4]||(x[4]=[t.createTextVNode("大",-1)])]),_:1},8,["disabled"]),t.createVNode(ge,{command:"default",disabled:e.tableSize==="default"},{default:t.withCtx(()=>[...x[5]||(x[5]=[t.createTextVNode("默认",-1)])]),_:1},8,["disabled"]),t.createVNode(ge,{command:"small",disabled:e.tableSize==="small"},{default:t.withCtx(()=>[...x[6]||(x[6]=[t.createTextVNode("小",-1)])]),_:1},8,["disabled"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.ScaleToOriginal))]),_:1})]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0),d.value.modeSwitch||e.modeSwitch?(t.openBlock(),t.createBlock(ee,{key:2,content:"表格/列表切换",placement:"top"},{default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small",onClick:B},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[c.value==="card"?(t.openBlock(),t.createBlock(t.unref(X.Grid),{key:0})):(t.openBlock(),t.createBlock(t.unref(X.Menu),{key:1}))]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0),d.value.columnSetting||e.dynamicColumn?(t.openBlock(),t.createBlock(ee,{key:3,content:"列设置",placement:"top"},{default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small",onClick:x[0]||(x[0]=v=>W.value=!0)},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.Setting))]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0),c.value==="table"?t.withDirectives((t.openBlock(),t.createBlock(Ui,{key:1,ref_key:"tableRef",ref:s,data:t.unref(O),size:k.value,border:e.border,stripe:e.stripe,height:e.autoHeight?"100%":void 0,"row-key":e.rowKey||void 0,"tree-props":e.treeProps,"default-expand-all":e.defaultExpandAll,"span-method":me,class:"wd-datagrid__table",onSelectionChange:we},{empty:t.withCtx(()=>[t.renderSlot(L.$slots,"empty",{},()=>[t.createVNode(pt,{description:t.unref(P)?"加载中...":"暂无数据","image-size":80},null,8,["description"])],!0)]),default:t.withCtx(()=>[e.withSelection?(t.openBlock(),t.createBlock(Fe,{key:0,type:"selection",width:"60",align:"center","reserve-selection":""})):t.createCommentVNode("",!0),e.withIndex?(t.openBlock(),t.createBlock(Fe,{key:1,type:"index",label:"序号",width:"60",align:"center",index:Y})):t.createCommentVNode("",!0),t.createVNode(t.unref(o),{vnodes:se.value},null,8,["vnodes"]),e.rowActions.length?(t.openBlock(),t.createBlock(Fe,{key:2,label:"操作",width:j.value,align:"center",fixed:"right"},{default:t.withCtx(({row:v})=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.rowActions,de=>(t.openBlock(),t.createBlock(G,{key:de.command||de.text,link:"",size:"small",type:de.type||"primary",onClick:yo=>q(v,de)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(de.text),1)]),_:2},1032,["type","onClick"]))),128))]),_:1},8,["width"])):t.createCommentVNode("",!0)]),_:3},8,["data","size","border","stripe","height","row-key","tree-props","default-expand-all"])),[[go,t.unref(P)]]):t.withDirectives((t.openBlock(),t.createElementBlock("div",za,[t.unref(O).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(pt,{key:0,description:"暂无数据","image-size":80})),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(O),(v,de)=>(t.openBlock(),t.createElementBlock("div",{key:v[e.rowKey||"id"]??de,class:"wd-datagrid__card"},[t.renderSlot(L.$slots,"card-item",{row:v,index:de},()=>[t.createElementVNode("div",Fa,t.toDisplayString(v.name||v.title||`第 ${de+1} 项`),1),t.createElementVNode("div",Ma,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v,(yo,wo)=>(t.openBlock(),t.createElementBlock("div",{key:wo,class:"wd-datagrid__card-line"},[t.createElementVNode("span",ja,t.toDisplayString(wo),1),t.createElementVNode("span",Ia,t.toDisplayString(yo),1)]))),128))])],!0)]))),128))])),[[go,t.unref(P)]]),e.withPager&&c.value==="table"?(t.openBlock(),t.createElementBlock("div",Wa,[t.createVNode(zi,{"current-page":t.unref(z),"page-size":t.unref(M),total:t.unref(C),"page-sizes":t.unref(h),layout:R.value,small:e.pagerStyle==="simple","hide-on-single-page":t.unref(b),background:!0,onCurrentChange:ke,onSizeChange:Ve},null,8,["current-page","page-size","total","page-sizes","layout","small","hide-on-single-page"])])):t.createCommentVNode("",!0),t.createVNode(Mi,{modelValue:t.unref(W),"onUpdate:modelValue":x[3]||(x[3]=v=>t.isRef(W)?W.value=v:null),title:"列设置",width:"360px","append-to-body":""},{footer:t.withCtx(()=>[t.createVNode(G,{onClick:x[1]||(x[1]=v=>t.unref(Z)())},{default:t.withCtx(()=>[...x[9]||(x[9]=[t.createTextVNode("恢复默认",-1)])]),_:1}),t.createVNode(G,{type:"primary",onClick:x[2]||(x[2]=v=>W.value=!1)},{default:t.withCtx(()=>[...x[10]||(x[10]=[t.createTextVNode("完成",-1)])]),_:1})]),default:t.withCtx(()=>[t.createElementVNode("div",qa,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(F),v=>(t.openBlock(),t.createElementBlock("div",{key:v.key,class:"wd-datagrid__col-item"},[t.createVNode(Fi,{"model-value":v.visible,"onUpdate:modelValue":de=>t.unref(_)(v.key,de)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(v.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]),t.createElementVNode("div",Ha,[t.createVNode(G,{link:"",size:"small",disabled:v.order===0,onClick:de=>t.unref(U)(v.key,-1)},{default:t.withCtx(()=>[...x[7]||(x[7]=[t.createTextVNode("上移",-1)])]),_:1},8,["disabled","onClick"]),t.createVNode(G,{link:"",size:"small",disabled:v.order===t.unref(F).length-1,onClick:de=>t.unref(U)(v.key,1)},{default:t.withCtx(()=>[...x[8]||(x[8]=[t.createTextVNode("下移",-1)])]),_:1},8,["disabled","onClick"])])]))),128))])]),_:1},8,["modelValue"])],2)}}}),ye=(e,n)=>{const r=e.__vccOpts||e;for(const[o,a]of n)r[o]=a;return r},In=ye(Ka,[["__scopeId","data-v-8be2f212"]]),le={filter:{type:String,default:""}},pe={headRefreshDatagrid:{type:[Boolean,String],default:!1}},Qe={api:{type:String,default:""},apiMethod:{type:String,default:"post"},apiParam:{type:Object,default:()=>({})}},ut={...Qe,apiMethod:{type:String,default:"get"},active:{type:Boolean,default:!0},dataSource:{type:Array,default:void 0},textProp:{type:String,default:"text"},valueProp:{type:String,default:"value"},addData:{type:Array,default:void 0},appendData:{type:Array,default:void 0}},Ja={class:"wd-editable-table"},Ga={key:0,class:"wd-editable-table__toolbar"},Xa={class:"wd-editable-table__toolbar-left"},Za={class:"wd-editable-table__toolbar-right"},Ya={key:0},Qa={key:5},va=t.defineComponent({name:"WdEditableTable",__name:"EditableTable",props:{...le,...pe,columns:{type:Array,default:()=>[]},modelValue:{type:Array,default:()=>[]},editMode:{type:String,default:"cell"},saveApi:{type:String,default:""},saveMethod:{type:String,default:"post"},defaultRow:{type:[Object,Function],default:void 0},rowKey:{type:String,default:"id"},withToolbar:{type:Boolean,default:!0},withAdd:{type:Boolean,default:!0},withSave:{type:Boolean,default:!0},withDelete:{type:Boolean,default:!0},withIndex:{type:Boolean,default:!1},withActions:{type:Boolean,default:!0},addButtonText:{type:String,default:"新增一行"},saveButtonText:{type:String,default:"批量保存"},actionWidth:{type:[String,Number],default:150},border:{type:Boolean,default:!0},stripe:{type:Boolean,default:!0},size:{type:String,default:"default"}},emits:["update:modelValue","change","save","row-add","row-remove","validate-fail","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.ref(),l=t.ref(!1),s=t.ref(o.modelValue.map(w=>({...w}))),c=t.reactive(new Set),d=t.reactive(new Set),u=new Map,p=t.ref("");function m(){p.value=""}t.watch(()=>o.modelValue,w=>{s.value=w.map(_=>({..._})),c.clear(),d.clear()},{deep:!1});const g=t.computed(()=>[...c].map(w=>s.value[w]).filter(Boolean));function k(w,_){return`${w}-${_}`}function S(w){return d.has(w)}function D(w){var U,Z;if(!w)return;const _=w!=null&&w.focus?w:(Z=(U=w==null?void 0:w.$el)==null?void 0:U.querySelector)==null?void 0:Z.call(U,"input");_!=null&&_.focus?_.focus():w!=null&&w.focus&&w.focus()}function h(w,_){var Z;if(_.formatter)return _.formatter(w,_);const U=w[_.prop];if(U==null||U==="")return"";if(_.editor==="select"){const se=(Z=_.options)==null?void 0:Z.find(ae=>ae.value===U);return se?se.text:String(U)}return String(U)}function b(w,_){if(o.editMode!=="cell")return;const U=_==null?void 0:_.property;if(!U)return;const Z=o.columns.find(se=>se.prop===U);!Z||Z.editable===!1||(p.value=k(s.value.indexOf(w),U))}function R(w){c.add(w),a("change",s.value)}function E(w){R(w),p.value=""}function y(w){R(w),p.value=""}function O(w){u.set(w,{...s.value[w]}),d.add(w)}function C(w){const _=T(s.value[w]);if(_){K.ElMessage.warning(_);return}d.delete(w),u.delete(w),c.add(w),a("change",s.value)}function P(w){const _=u.get(w);_&&(s.value[w]={..._}),u.delete(w),d.delete(w),c.delete(w)}function z(){const w=typeof o.defaultRow=="function"?o.defaultRow():{...o.defaultRow||{}};s.value.push({...w});const _=s.value.length-1;c.add(_),o.editMode==="row"&&(u.set(_,{...s.value[_]}),d.add(_)),a("row-add",s.value[_]),a("update:modelValue",s.value),a("change",s.value)}async function M(w){try{await K.ElMessageBox.confirm("确认删除该行?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}s.value.splice(w,1);const _=new Set;c.forEach(U=>{U<w?_.add(U):U>w&&_.add(U-1)}),c.clear(),_.forEach(U=>c.add(U)),d.clear(),a("row-remove",w),a("update:modelValue",s.value),a("change",s.value)}function T(w){for(const _ of o.columns){const U=w[_.prop];if(_.required&&(U==null||U===""))return`「${_.label}」不能为空`;if(_.validator){const Z=_.validator(U,w);if(Z)return Z}}}function $(){const w=[...c].sort((_,U)=>_-U);for(const _ of w){const U=s.value[_];if(!U)continue;const Z=T(U);if(Z)return K.ElMessage.warning(`第 ${_+1} 行:${Z}`),a("validate-fail",{index:_,row:U,error:Z}),!1}return!0}async function F(){if(!c.size){K.ElMessage.info("没有需要保存的修改");return}if(!$())return;const w=[...c].sort((_,U)=>_-U).map(_=>s.value[_]);if(!o.saveApi){c.clear(),d.clear(),a("update:modelValue",s.value),a("save",{rows:w,all:s.value}),K.ElMessage.success("保存成功");return}l.value=!0,a("apiBefore",{url:o.saveApi,rows:w});try{const _=o.saveMethod==="put"?await J.put(o.saveApi,{rows:w}):await J.post(o.saveApi,{rows:w});_.success?(c.clear(),d.clear(),a("apiSuccess",{data:_.data}),a("save",{rows:w,all:s.value,data:_.data}),a("update:modelValue",s.value),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter)):a("apiFail",{code:_.code,message:_.message})}catch(_){a("apiException",{error:_,message:_==null?void 0:_.message})}finally{a("apiAfter",{url:o.saveApi}),l.value=!1}}function A(){return $()}function W(){return g.value}return n({saveAll:F,validate:A,addRow:z,getDirtyRows:W,tableRef:i}),(w,_)=>{const U=t.resolveComponent("el-button"),Z=t.resolveComponent("el-table-column"),se=t.resolveComponent("el-input"),ae=t.resolveComponent("el-input-number"),Y=t.resolveComponent("el-option"),me=t.resolveComponent("el-select"),we=t.resolveComponent("el-date-picker"),ke=t.resolveComponent("el-empty"),Ve=t.resolveComponent("el-table");return t.openBlock(),t.createElementBlock("div",Ja,[e.withToolbar?(t.openBlock(),t.createElementBlock("div",Ga,[t.createElementVNode("div",Xa,[t.renderSlot(w.$slots,"toolbar",{dirtyRows:g.value,rows:s.value},()=>[e.withAdd?(t.openBlock(),t.createBlock(U,{key:0,type:"primary",icon:t.unref(X.Plus),onClick:z},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.addButtonText),1)]),_:1},8,["icon"])):t.createCommentVNode("",!0)],!0)]),t.createElementVNode("div",Za,[e.withSave?(t.openBlock(),t.createBlock(U,{key:0,type:"success",loading:l.value,disabled:!g.value.length,onClick:F},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.saveButtonText),1),g.value.length?(t.openBlock(),t.createElementBlock("span",Ya,"("+t.toDisplayString(g.value.length)+")",1)):t.createCommentVNode("",!0)]),_:1},8,["loading","disabled"])):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"actions",{dirtyRows:g.value,rows:s.value},void 0,!0)])])):t.createCommentVNode("",!0),t.createVNode(Ve,{ref_key:"tableRef",ref:i,data:s.value,border:e.border,stripe:e.stripe,size:e.size,"row-key":e.rowKey,onCellClick:b},{empty:t.withCtx(()=>[t.renderSlot(w.$slots,"empty",{},()=>[t.createVNode(ke,{description:"暂无数据","image-size":80})],!0)]),default:t.withCtx(()=>[e.withIndex?(t.openBlock(),t.createBlock(Z,{key:0,type:"index",label:"序号",width:"60",align:"center"})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.columns,B=>(t.openBlock(),t.createBlock(Z,{key:B.prop,prop:B.prop,label:B.label,width:B.width,"min-width":B.minWidth,align:B.align||"left",fixed:B.fixed},{default:t.withCtx(({row:j,$index:q})=>[e.editMode==="row"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[S(q)&&B.editor==="input"?(t.openBlock(),t.createBlock(se,{key:0,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):S(q)&&B.editor==="number"?(t.openBlock(),t.createBlock(ae,{key:1,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,min:B.min,max:B.max,precision:B.precision,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","min","max","precision","onChange"])):S(q)&&B.editor==="select"?(t.openBlock(),t.createBlock(me,{key:2,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(B.options||[],I=>(t.openBlock(),t.createBlock(Y,{key:I.value,label:I.text,value:I.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","onChange"])):S(q)&&B.editor==="date"?(t.openBlock(),t.createBlock(we,{key:3,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,type:"date","value-format":"YYYY-MM-DD",placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):S(q)?t.renderSlot(w.$slots,`edit-${B.prop}`,{row:j,index:q,column:B},()=>[t.createVNode(se,{modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])],!0,4):(t.openBlock(),t.createElementBlock("span",Qa,t.toDisplayString(h(j,B)),1))],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[p.value===k(q,B.prop)&&B.editor==="input"?(t.openBlock(),t.createBlock(se,{key:0,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,ref_for:!0,ref:D,placeholder:B.placeholder,onChange:I=>R(q),onBlur:m},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):p.value===k(q,B.prop)&&B.editor==="number"?(t.openBlock(),t.createBlock(ae,{key:1,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,ref_for:!0,ref:D,min:B.min,max:B.max,precision:B.precision,onChange:I=>R(q),onBlur:m},null,8,["modelValue","onUpdate:modelValue","min","max","precision","onChange"])):p.value===k(q,B.prop)&&B.editor==="select"?(t.openBlock(),t.createBlock(me,{key:2,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,ref_for:!0,ref:D,placeholder:B.placeholder,onChange:I=>E(q),onBlur:m},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(B.options||[],I=>(t.openBlock(),t.createBlock(Y,{key:I.value,label:I.text,value:I.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","onChange"])):p.value===k(q,B.prop)&&B.editor==="date"?(t.openBlock(),t.createBlock(we,{key:3,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,type:"date","value-format":"YYYY-MM-DD",placeholder:B.placeholder,onChange:I=>y(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):p.value===k(q,B.prop)?t.renderSlot(w.$slots,`edit-${B.prop}`,{row:j,index:q,column:B},()=>[t.createVNode(se,{modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])],!0,4):(t.openBlock(),t.createElementBlock("span",{key:5,class:t.normalizeClass(["wd-editable-table__cell",{"is-editable":B.editable!==!1}])},t.toDisplayString(h(j,B)),3))],64))]),_:2},1032,["prop","label","width","min-width","align","fixed"]))),128)),e.withActions?(t.openBlock(),t.createBlock(Z,{key:1,label:"操作",width:e.actionWidth,align:"center",fixed:"right"},{default:t.withCtx(({row:B,$index:j})=>[e.editMode==="row"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[S(j)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(U,{link:"",type:"primary",onClick:q=>C(j)},{default:t.withCtx(()=>[..._[0]||(_[0]=[t.createTextVNode("保存",-1)])]),_:1},8,["onClick"]),t.createVNode(U,{link:"",onClick:q=>P(j)},{default:t.withCtx(()=>[..._[1]||(_[1]=[t.createTextVNode("取消",-1)])]),_:1},8,["onClick"])],64)):(t.openBlock(),t.createBlock(U,{key:1,link:"",type:"primary",onClick:q=>O(j)},{default:t.withCtx(()=>[..._[2]||(_[2]=[t.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]))],64)):t.createCommentVNode("",!0),e.withDelete?(t.openBlock(),t.createBlock(U,{key:1,link:"",type:"danger",onClick:q=>M(j)},{default:t.withCtx(()=>[..._[3]||(_[3]=[t.createTextVNode("删除",-1)])]),_:1},8,["onClick"])):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"row-actions",{row:B,index:j},void 0,!0)]),_:3},8,["width"])):t.createCommentVNode("",!0)]),_:3},8,["data","border","stripe","size","row-key"])])}}}),Wn=ye(va,[["__scopeId","data-v-b7462863"]]),qn=Symbol("wdContainer");function ei(e){t.provide(qn,e)}function ti(){return t.inject(qn,void 0)}const ni={class:"wd-data-form"},oi={key:0,class:"wd-data-form__footer"},Hn=ye(t.defineComponent({name:"WdDataForm",inheritAttrs:!1,__name:"DataForm",props:{mode:{type:String,default:"create"},api:{type:String,default:""},apiMethod:{type:String,default:"get"},apiParam:{type:Object,default:()=>({})},submitApi:{type:String,default:""},submitMethod:{type:String,default:"post"},submitKeys:{type:[String,Array],default:void 0},submitExcludeKeys:{type:[String,Array],default:void 0},active:{type:Boolean,default:!1},confirmLeave:{type:Boolean,default:!0},withActions:{type:Boolean,default:!0},actionConfig:{type:Object,default:()=>({})},headCloseDrawer:{type:[Boolean,String],default:!0},headRefreshDatagrid:{type:[Boolean,String],default:!1},keepFormButton:{type:Boolean,default:!0},rules:{type:Object,default:()=>({})},labelWidth:{type:[String,Number],default:"100px"},labelPosition:{type:String,default:"right"},inline:{type:Boolean,default:!1},filter:{type:String,default:""},data:{type:Object,default:void 0}},emits:["submit-success","submit-fail","load-success","change","close","apiBefore","apiAfter"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.ref(null),l=t.ref(!1),s=t.reactive({}),c=t.ref({}),d=t.computed(()=>o.mode!=="edit"),u=t.computed(()=>ue({resetText:"重置",submitText:"保存",continueText:"保存并继续",closeText:"关闭",showReset:!0,showContinue:!0},o.actionConfig||{})),p=t.computed(()=>u.value.closeText),m=t.getCurrentInstance();t.provide("wdDataForm",{model:s,formRef:i});function g(T){Object.keys(s).forEach($=>delete s[$]),T&&typeof T=="object"&&Object.assign(s,JSON.parse(JSON.stringify(T))),c.value=JSON.parse(JSON.stringify(s))}async function k(T){if(!o.api){g(o.data||{});return}l.value=!0,a("apiBefore",{type:"load"});try{const $={...o.apiParam,...(T==null?void 0:T.apiParam)||{}},F=o.apiMethod==="get"?await J.get(o.api,$):await J.post(o.api,$);F.success&&(g(F.data||{}),a("load-success",F.data))}finally{l.value=!1,a("apiAfter",{type:"load"})}}function S(){return{...s}}function D(){const T=S(),$=w=>w==null?null:Array.isArray(w)?w:String(w).split(",").map(_=>_.trim()).filter(Boolean),F=$(o.submitKeys),A=$(o.submitExcludeKeys);let W=T;return F&&(W=F.reduce((w,_)=>(w[_]=T[_],w),{})),A&&(W=Object.keys(W).reduce((w,_)=>(A.includes(_)||(w[_]=W[_]),w),{})),W}async function h(){if(!i.value)return!0;try{return await i.value.validate(),!0}catch{return!1}}async function b(T=!1){if(!await h()){K.ElMessage.warning("请完善表单必填项");return}if(!o.submitApi){a("submit-success",S()),R(S(),T);return}l.value=!0,a("apiBefore",{type:"submit"});try{const F=D(),A=o.submitMethod==="put"?await J.put(o.submitApi,F):await J.post(o.submitApi,F);A.success?(a("submit-success",A.data),R(A.data,T)):a("submit-fail",A)}finally{l.value=!1,a("apiAfter",{type:"submit"})}}function R(T,$){o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter),$&&d.value?E(!0):o.headCloseDrawer&&(P!=null&&P.requestClose?P.requestClose("submit"):a("close",{reason:"submit"})),c.value=JSON.parse(JSON.stringify(s))}function E(T=!1){var $,F,A,W;d.value||T?(Object.keys(s).forEach(w=>delete s[w]),(F=($=i.value)==null?void 0:$.clearValidate)==null||F.call($)):(g(c.value),(W=(A=i.value)==null?void 0:A.clearValidate)==null||W.call(A))}function y(){return JSON.stringify(s)!==JSON.stringify(c.value)}function O(){if(P!=null&&P.requestClose){P.requestClose("manual");return}if(o.confirmLeave&&y()){K.ElMessageBox.confirm("有未保存的修改,确认离开?","提示",{confirmButtonText:"确认离开",cancelButtonText:"继续编辑",type:"warning"}).then(()=>a("close",{reason:"manual"})).catch(()=>{});return}a("close",{reason:"manual"})}async function C(){if(!o.confirmLeave||!y())return!0;try{return await K.ElMessageBox.confirm("有未保存的修改,确认离开?","提示",{confirmButtonText:"确认离开",cancelButtonText:"继续编辑",type:"warning"}),!0}catch{return!1}}t.watch(s,()=>{a("change",S())},{deep:!0});const P=ti();let z=null;const M=t.computed(()=>o.data||(P==null?void 0:P.data));return t.onMounted(()=>{var $,F;const T=m==null?void 0:m.appContext;if(T){T.config.globalProperties.model=s;const A=(F=($=T.app)==null?void 0:$.config)==null?void 0:F.globalProperties;A&&(A.model=s)}P!=null&&P.addBeforeClose&&(z=P.addBeforeClose(async()=>{if(!o.confirmLeave||!y())return!0;try{return await K.ElMessageBox.confirm("有未保存的修改,确认离开?","提示",{confirmButtonText:"确认离开",cancelButtonText:"继续编辑",type:"warning"}),!0}catch{return!1}})),o.mode==="edit"?(M.value&&g(M.value),o.active&&o.api&&k()):M.value&&g(M.value)}),t.onBeforeUnmount(()=>{var $,F;z==null||z();const T=m==null?void 0:m.appContext;((F=($=T==null?void 0:T.config)==null?void 0:$.globalProperties)==null?void 0:F.model)===s&&delete T.config.globalProperties.model}),n({requestApi:k,submitForm:b,resetForm:E,validate:h,getFormData:S,isDirty:y,beforeLeave:C,fillForm:g,formRef:i}),(T,$)=>{const F=t.resolveComponent("el-button"),A=t.resolveComponent("el-form"),W=t.resolveDirective("loading");return t.openBlock(),t.createElementBlock("div",ni,[t.withDirectives((t.openBlock(),t.createBlock(A,t.mergeProps({ref_key:"formRef",ref:i,model:s,rules:e.rules,"label-width":e.labelWidth,"label-position":e.labelPosition,inline:e.inline,disabled:l.value},T.$attrs,{onSubmit:$[2]||($[2]=t.withModifiers(()=>{},["prevent"]))}),{default:t.withCtx(()=>[t.renderSlot(T.$slots,"default",{model:s,form:i.value},void 0,!0),e.withActions?(t.openBlock(),t.createElementBlock("div",oi,[t.renderSlot(T.$slots,"footer",{submit:b,reset:E,loading:l.value},()=>[t.createVNode(F,{onClick:O},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(p.value),1)]),_:1}),u.value.showReset?(t.openBlock(),t.createBlock(F,{key:0,onClick:E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.value.resetText),1)]),_:1})):t.createCommentVNode("",!0),d.value&&e.keepFormButton&&u.value.showContinue?(t.openBlock(),t.createBlock(F,{key:1,loading:l.value,onClick:$[0]||($[0]=w=>b(!0))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.value.continueText),1)]),_:1},8,["loading"])):t.createCommentVNode("",!0),t.createVNode(F,{type:"primary",loading:l.value,onClick:$[1]||($[1]=w=>b(!1))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.value.submitText),1)]),_:1},8,["loading"])],!0)])):t.createCommentVNode("",!0)]),_:3},16,["model","rules","label-width","label-position","inline","disabled"])),[[W,l.value]])])}}}),[["__scopeId","data-v-7db7a261"]]);function Lt(e){const n=t.ref(!1);async function r(o){const a=e.getApi();if(!a)return!1;const i=e.getMethod(),l={...e.getParam(),...o||{}},s=e.buttonLoading?e.buttonLoading():!0,c=e.getReqOptions?e.getReqOptions():{},d={type:"apiBefore",url:a,method:i,params:l};e.emit("apiBefore",d),s&&(n.value=!0);try{const u=i==="get"||i==="delete"?await J.request({url:a,method:i,params:l},c):await J.request({url:a,method:i,data:l},c);if(u.success){e.emit("apiSuccess",{data:u.data,code:u.code,message:u.message});const p=e.getHeadRefresh();return p&&Ce(p,e.getFilter()),e.emit("apiAfter",{data:u.data,code:u.code}),!0}return e.emit("apiFail",{data:null,code:u.code,message:u.message}),e.emit("apiAfter",{code:u.code,message:u.message}),!1}catch(u){return e.emit("apiException",{error:u,message:u==null?void 0:u.message}),e.emit("apiAfter",{error:u}),!1}finally{n.value=!1}}return{loading:n,doRequest:r}}const Kn=t.defineComponent({name:"WdApiButton",inheritAttrs:!1,__name:"ApiButton",props:{...le,...pe,...Qe,buttonLoading:{type:Boolean,default:!0},pageLoading:{type:Boolean,default:!1}},emits:["click","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,{loading:a,doRequest:i}=Lt({getApi:()=>r.api,getMethod:()=>r.apiMethod,getParam:()=>r.apiParam,getFilter:()=>r.filter,getHeadRefresh:()=>r.headRefreshDatagrid,emit:o,buttonLoading:()=>r.buttonLoading,getReqOptions:()=>({showLoading:r.pageLoading})});async function l(s){o("click",s),await i()}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{loading:t.unref(a),onClick:l}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16,["loading"])}}}),Jn=t.defineComponent({name:"WdConfirmButton",inheritAttrs:!1,__name:"ConfirmButton",props:{...le,...pe,...Qe,confirmText:{type:String,default:"确认执行该操作?"},cancelText:{type:String,default:"取消"},confirmTitle:{type:String,default:"提示"},buttonLoading:{type:Boolean,default:!0},pageLoading:{type:Boolean,default:!1}},emits:["click","confirm","cancel","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,{loading:a,doRequest:i}=Lt({getApi:()=>r.api,getMethod:()=>r.apiMethod,getParam:()=>r.apiParam,getFilter:()=>r.filter,getHeadRefresh:()=>r.headRefreshDatagrid,emit:o,buttonLoading:()=>r.buttonLoading,getReqOptions:()=>({showLoading:r.pageLoading})});async function l(s){o("click",s);try{await K.ElMessageBox.confirm(r.confirmText,r.confirmTitle,{confirmButtonText:"确定",cancelButtonText:r.cancelText,type:"warning"})}catch{o("cancel");return}o("confirm"),await i()}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{loading:t.unref(a),onClick:l}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16,["loading"])}}}),Gn=t.defineComponent({name:"WdPromptButton",inheritAttrs:!1,__name:"PromptButton",props:{...le,...pe,...Qe,promptTitle:{type:String,default:"请输入"},promptPlaceholder:{type:String,default:"请输入内容"},paramKey:{type:String,default:"value"},promptDefault:{type:String,default:""},buttonLoading:{type:Boolean,default:!0},pageLoading:{type:Boolean,default:!1}},emits:["click","prompt","cancel","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,{loading:a,doRequest:i}=Lt({getApi:()=>r.api,getMethod:()=>r.apiMethod,getParam:()=>r.apiParam,getFilter:()=>r.filter,getHeadRefresh:()=>r.headRefreshDatagrid,emit:o,buttonLoading:()=>r.buttonLoading,getReqOptions:()=>({showLoading:r.pageLoading})});async function l(s){o("click",s);let c;try{c=(await K.ElMessageBox.prompt(r.promptTitle,r.promptTitle,{confirmButtonText:"确定",cancelButtonText:"取消",inputPlaceholder:r.promptPlaceholder,inputValue:r.promptDefault})).value}catch{o("cancel");return}o("prompt",c),await i({[r.paramKey]:c})}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{loading:t.unref(a),onClick:l}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16,["loading"])}}}),Xn=t.defineComponent({name:"WdRouteButton",inheritAttrs:!1,__name:"RouteButton",props:{...le,routeName:{type:String,default:""},routePath:{type:String,default:""},params:{type:Object,default:()=>({})},query:{type:Object,default:()=>({})},target:{type:String,default:"_self"}},emits:["click"],setup(e,{emit:n}){const r=e,o=n,a=t.getCurrentInstance();function i(s){var d,u,p,m;if(o("click",s),!r.routeName&&!r.routePath)return;if(r.target==="_blank"){const g=l();g&&window.open(g,"_blank");return}const c=((d=a==null?void 0:a.proxy)==null?void 0:d.$router)||((m=(p=(u=a==null?void 0:a.appContext)==null?void 0:u.config)==null?void 0:p.globalProperties)==null?void 0:m.$router);c?r.routeName?c.push({name:r.routeName,params:r.params,query:r.query}):c.push({path:r.routePath,query:r.query}):r.routePath&&(window.location.href=l())}function l(){const s=r.routePath||"",c=new URLSearchParams(r.query).toString();return c?`${s}?${c}`:s}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{onClick:i}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16)}}}),Zn=t.defineComponent({name:"WdTipsButton",inheritAttrs:!1,__name:"TipsButton",props:{...le,tips:{type:String,default:""},tipsType:{type:String,default:"dark"},placement:{type:String,default:"top"}},emits:["click"],setup(e,{emit:n}){const r=n;function o(a){r("click",a)}return(a,i)=>{const l=t.resolveComponent("el-button"),s=t.resolveComponent("el-tooltip");return e.tips?(t.openBlock(),t.createBlock(s,{key:0,content:e.tips,effect:e.tipsType,placement:e.placement},{default:t.withCtx(()=>[t.createVNode(l,t.mergeProps(a.$attrs,{onClick:o}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16)]),_:3},8,["content","effect","placement"])):(t.openBlock(),t.createBlock(l,t.mergeProps({key:1},a.$attrs,{onClick:o}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16))}}});function Yn(e){const{props:n,emit:r}=e,o=t.ref(!!n.modelValue),a=new Set;function i(g){o.value=g,r("update:modelValue",g)}function l(){i(!0),r("open")}async function s(g="request"){g!=="submit"&&!await d()||(i(!1),m(g))}function c(g){return a.add(g),()=>a.delete(g)}async function d(){for(const g of a)if(!await g())return!1;return!0}async function u(g){if(await d()){if(n.confirmMessage)try{await K.ElMessageBox.confirm(n.confirmMessage,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}g(),m("manual")}}function p(){r("close")}function m(g){r("confirm",{reason:g}),n.headRefreshDatagrid&&Ce(n.headRefreshDatagrid,n.filter)}return ei({data:n.data,requestClose:s,addBeforeClose:c}),{visible:o,open:l,requestClose:s,addBeforeClose:c,handleBeforeClose:u,onClosed:p}}const ri=["src"],ai=t.defineComponent({name:"WdDrawer",inheritAttrs:!1,__name:"Drawer",props:{...le,...pe,modelValue:{type:Boolean,default:void 0},title:{type:String,default:""},url:{type:String,default:""},size:{type:[String,Number],default:"50%"},direction:{type:String,default:"rtl"},confirmMessage:{type:String,default:""},data:{type:Object,default:void 0}},emits:["update:modelValue","open","close","confirm"],setup(e,{expose:n,emit:r}){const o=e,a=r,{visible:i,requestClose:l,handleBeforeClose:s,onClosed:c}=Yn({props:o,emit:a}),d=t.computed(()=>typeof o.size=="number"?`${o.size}px`:o.size),u=t.computed(()=>{if(!o.url)return"";if(!o.data)return o.url;const p=new URLSearchParams(Object.entries(o.data).reduce((m,[g,k])=>(k!=null&&(m[g]=String(k)),m),{})).toString();return p?o.url+(o.url.includes("?")?"&":"?")+p:o.url});return n({open:()=>i.value=!0}),(p,m)=>{const g=t.resolveComponent("el-drawer");return t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:t.unref(i),"onUpdate:modelValue":m[0]||(m[0]=k=>t.isRef(i)?i.value=k:null),title:e.title,size:d.value,direction:e.direction,"before-close":t.unref(s)},p.$attrs,{onClosed:t.unref(c)}),t.createSlots({default:t.withCtx(()=>[e.url?(t.openBlock(),t.createElementBlock("iframe",{key:0,src:u.value,class:"wd-container__iframe",frameborder:"0"},null,8,ri)):t.renderSlot(p.$slots,"default",{},void 0,!0,1)]),_:2},[p.$slots.footer?{name:"footer",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"footer",{close:t.unref(l)},void 0,!0)]),key:"0"}:void 0]),1040,["modelValue","title","size","direction","before-close","onClosed"])}}}),Ut=ye(ai,[["__scopeId","data-v-f240d935"]]),Qn=t.defineComponent({name:"WdDrawerButton",inheritAttrs:!1,__name:"DrawerButton",props:{...le,...pe,text:{type:String,default:""},drawerTitle:{type:String,default:""},drawerUrl:{type:String,default:""},drawerData:{type:Object,default:()=>({})},size:{type:[String,Number],default:"50%"},direction:{type:String,default:"rtl"}},emits:["open","close","confirm"],setup(e,{emit:n}){const r=n,o=t.ref(!1),a=t.ref(!1);async function i(){o.value=!0,await t.nextTick(),a.value=!0,r("open")}function l(){a.value=!1}function s(){r("close")}function c(d){r("confirm",d)}return(d,u)=>{const p=t.resolveComponent("el-button");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(p,t.mergeProps(d.$attrs,{onClick:i}),{default:t.withCtx(()=>[t.renderSlot(d.$slots,"button",{},()=>[t.createTextVNode(t.toDisplayString(e.text),1)])]),_:3},16),o.value?(t.openBlock(),t.createBlock(Ut,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),title:e.drawerTitle,size:e.size,direction:e.direction,url:e.drawerUrl,data:e.drawerData,filter:d.filter,"head-refresh-datagrid":d.headRefreshDatagrid,onClose:s,onConfirm:c},t.createSlots({default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{data:e.drawerData,close:l})]),_:2},[d.$slots.footer?{name:"footer",fn:t.withCtx(m=>[t.renderSlot(d.$slots,"footer",t.normalizeProps(t.guardReactiveProps(m)))]),key:"0"}:void 0]),1032,["modelValue","title","size","direction","url","data","filter","head-refresh-datagrid"])):t.createCommentVNode("",!0)],64)}}}),ii=["src"],li=t.defineComponent({name:"WdDialog",inheritAttrs:!1,__name:"Dialog",props:{...le,...pe,modelValue:{type:Boolean,default:void 0},title:{type:String,default:""},url:{type:String,default:""},size:{type:[String,Number],default:"50%"},confirmMessage:{type:String,default:""},data:{type:Object,default:void 0}},emits:["update:modelValue","open","close","confirm"],setup(e,{expose:n,emit:r}){const o=e,a=r,{visible:i,requestClose:l,handleBeforeClose:s,onClosed:c}=Yn({props:o,emit:a}),d=t.computed(()=>typeof o.size=="number"?`${o.size}px`:o.size),u=t.computed(()=>{if(!o.url)return"";if(!o.data)return o.url;const p=new URLSearchParams(Object.entries(o.data).reduce((m,[g,k])=>(k!=null&&(m[g]=String(k)),m),{})).toString();return p?o.url+(o.url.includes("?")?"&":"?")+p:o.url});return n({open:()=>i.value=!0}),(p,m)=>{const g=t.resolveComponent("el-dialog");return t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:t.unref(i),"onUpdate:modelValue":m[0]||(m[0]=k=>t.isRef(i)?i.value=k:null),title:e.title,width:d.value,"before-close":t.unref(s)},p.$attrs,{onClosed:t.unref(c)}),t.createSlots({default:t.withCtx(()=>[e.url?(t.openBlock(),t.createElementBlock("iframe",{key:0,src:u.value,class:"wd-container__iframe",frameborder:"0"},null,8,ii)):t.renderSlot(p.$slots,"default",{},void 0,!0,1)]),_:2},[p.$slots.footer?{name:"footer",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"footer",{close:t.unref(l)},void 0,!0)]),key:"0"}:void 0]),1040,["modelValue","title","width","before-close","onClosed"])}}}),zt=ye(li,[["__scopeId","data-v-6401686c"]]),vn=t.defineComponent({name:"WdDialogButton",inheritAttrs:!1,__name:"DialogButton",props:{...le,...pe,text:{type:String,default:""},dialogTitle:{type:String,default:""},dialogUrl:{type:String,default:""},dialogData:{type:Object,default:()=>({})},size:{type:[String,Number],default:"50%"}},emits:["open","close","confirm"],setup(e,{emit:n}){const r=n,o=t.ref(!1),a=t.ref(!1);async function i(){o.value=!0,await t.nextTick(),a.value=!0,r("open")}function l(){a.value=!1}function s(){r("close")}function c(d){r("confirm",d)}return(d,u)=>{const p=t.resolveComponent("el-button");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(p,t.mergeProps(d.$attrs,{onClick:i}),{default:t.withCtx(()=>[t.renderSlot(d.$slots,"button",{},()=>[t.createTextVNode(t.toDisplayString(e.text),1)])]),_:3},16),o.value?(t.openBlock(),t.createBlock(zt,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),title:e.dialogTitle,size:e.size,url:e.dialogUrl,data:e.dialogData,filter:d.filter,"head-refresh-datagrid":d.headRefreshDatagrid,onClose:s,onConfirm:c},t.createSlots({default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{data:e.dialogData,close:l})]),_:2},[d.$slots.footer?{name:"footer",fn:t.withCtx(m=>[t.renderSlot(d.$slots,"footer",t.normalizeProps(t.guardReactiveProps(m)))]),key:"0"}:void 0]),1032,["modelValue","title","size","url","data","filter","head-refresh-datagrid"])):t.createCommentVNode("",!0)],64)}}}),si=["src"],eo=ye(t.defineComponent({name:"WdIframe",__name:"Iframe",props:{src:{type:String,default:""},height:{type:[String,Number],default:"480px"},autoHeight:{type:Boolean,default:!1}},emits:["load","message"],setup(e,{emit:n}){const r=e,o=n,a=t.ref(null),i=t.ref(null),l=t.computed(()=>r.autoHeight&&i.value?{height:`${i.value}px`}:{height:typeof r.height=="number"?`${r.height}px`:r.height});function s(){o("load")}function c(d){const u=d.data;r.autoHeight&&u&&typeof u=="object"&&u.type==="wd-iframe-height"&&(i.value=Number(u.height)||null),o("message",u)}return t.onMounted(()=>{window.addEventListener("message",c)}),t.onBeforeUnmount(()=>{window.removeEventListener("message",c)}),(d,u)=>(t.openBlock(),t.createElementBlock("iframe",{ref_key:"iframeRef",ref:a,src:e.src,class:"wd-iframe",style:t.normalizeStyle(l.value),frameborder:"0",onLoad:s},null,44,si))}}),[["__scopeId","data-v-6b5e31a2"]]),ci={class:"wd-search-panel"},di={key:0,class:"wd-search-panel__actions"},ui=t.defineComponent({name:"WdSearchPanel",inheritAttrs:!1,__name:"SearchPanel",props:{...le,...pe,collapsible:{type:Boolean,default:!1},expand:{type:Boolean,default:void 0},defaultExpand:{type:Boolean,default:!0},withActions:{type:Boolean,default:!0},searchText:{type:String,default:"搜索"},resetText:{type:String,default:"重置"},expandText:{type:String,default:"展开"},collapseText:{type:String,default:"收起"},labelWidth:{type:[String,Number],default:"80px"}},emits:["search","reset","expand-change","update:expand"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.ref(null),l=t.ref(!1),s=t.reactive({}),c=t.ref(o.defaultExpand),d=t.computed(()=>o.collapsible&&!(o.expand!==void 0?o.expand:c.value));function u(){const b=d.value;c.value=b,a("update:expand",b),a("expand-change",b)}function p(){return{...s}}function m(){const b=p();a("search",b),o.headRefreshDatagrid&&Mn(b,o.headRefreshDatagrid,o.filter)}function g(){var b,R;Object.keys(s).forEach(E=>delete s[E]),(R=(b=i.value)==null?void 0:b.clearValidate)==null||R.call(b),a("reset"),o.headRefreshDatagrid&&jn(o.headRefreshDatagrid,o.filter)}function k(){c.value=!0,a("update:expand",!0)}function S(){c.value=!1,a("update:expand",!1)}function D(){g()}const h=t.getCurrentInstance();return t.onMounted(()=>{const b=h==null?void 0:h.appContext;b&&(b.config.globalProperties.q=s)}),t.onBeforeUnmount(()=>{var R,E;const b=h==null?void 0:h.appContext;((E=(R=b==null?void 0:b.config)==null?void 0:R.globalProperties)==null?void 0:E.q)===s&&delete b.config.globalProperties.q}),n({expand:k,collapse:S,resetForm:D,getSearchParams:p}),(b,R)=>{const E=t.resolveComponent("el-button"),y=t.resolveComponent("el-form"),O=t.resolveDirective("loading");return t.openBlock(),t.createElementBlock("div",ci,[t.withDirectives((t.openBlock(),t.createBlock(y,t.mergeProps({ref_key:"formRef",ref:i,model:s,inline:!0,"label-width":e.labelWidth},b.$attrs,{onSubmit:R[0]||(R[0]=t.withModifiers(()=>{},["prevent"]))}),{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["wd-search-panel__fields",{"is-collapsed":d.value}])},[t.renderSlot(b.$slots,"default",t.normalizeProps(t.guardReactiveProps({model:s})),void 0,!0)],2),e.withActions?(t.openBlock(),t.createElementBlock("div",di,[t.renderSlot(b.$slots,"actions",{search:m,reset:g},()=>[t.createVNode(E,{type:"primary",loading:l.value,onClick:m},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.searchText),1)]),_:1},8,["loading"]),t.createVNode(E,{onClick:g},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.resetText),1)]),_:1}),e.collapsible?(t.openBlock(),t.createBlock(E,{key:0,link:"",type:"primary",onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.value?e.expandText:e.collapseText),1)]),_:1})):t.createCommentVNode("",!0)],!0)])):t.createCommentVNode("",!0)]),_:3},16,["model","label-width"])),[[O,l.value]])])}}}),to=ye(ui,[["__scopeId","data-v-1a67fc1d"]]);function ft(e){const n=t.shallowRef([]),r=t.ref(!1),o=t.ref(!1);function a(c){const d=e.textProp.value,u=e.valueProp.value;return(c||[]).map(p=>p&&typeof p=="object"?{text:p[d],value:p[u],raw:p}:{text:String(p),value:p,raw:{[d]:String(p),[u]:p}})}async function i(c){var d;if(e.dataSource.value){n.value=l(a(e.dataSource.value));return}if(!e.api.value){n.value=l([]);return}r.value=!0,e.emit("apiBefore",{url:e.api.value});try{const u={...e.apiParam.value,...c||{}},p=e.apiMethod.value==="get"?await J.get(e.api.value,u):await J.post(e.api.value,u);if(p.success){const m=Array.isArray(p.data)?p.data:((d=p.data)==null?void 0:d.list)||[];n.value=l(a(m)),e.emit("apiSuccess",{data:p.data})}else e.emit("apiFail",{code:p.code,message:p.message})}catch(u){e.emit("apiFail",{error:u,message:u==null?void 0:u.message})}finally{r.value=!1,e.emit("apiAfter"),o.value=!0}}function l(c){const d=a(e.addData.value||[]),u=a(e.appendData.value||[]);return[...d,...c,...u]}async function s(c,d="keyword"){e.api.value&&await i({[d]:c})}return t.onMounted(()=>{e.active.value?i():(e.dataSource.value||!e.api.value)&&(n.value=l(a(e.dataSource.value||[])))}),t.watch(()=>[e.api.value,e.dataSource.value],()=>{(e.active.value||e.dataSource.value)&&i()}),{options:n,loading:r,fetchOptions:i,remoteSearch:s,loaded:o}}const no=t.defineComponent({name:"WdSelect",inheritAttrs:!1,__name:"Select",props:{...ut,modelValue:{type:[String,Number,Boolean,Array],default:void 0},multiple:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},keywordKey:{type:String,default:"keyword"}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l,remoteSearch:s}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),c=t.computed({get:()=>r.modelValue,set:p=>o("update:modelValue",p)});function d(p){o("change",p)}function u(p){r.remote&&s(p,r.keywordKey)}return(p,m)=>{const g=t.resolveComponent("el-option"),k=t.resolveComponent("el-select"),S=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(k,t.mergeProps({modelValue:c.value,"onUpdate:modelValue":m[0]||(m[0]=D=>c.value=D),multiple:e.multiple,filterable:e.remote||e.filterable,remote:e.remote,"remote-method":u},p.$attrs,{onChange:d}),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),D=>(t.openBlock(),t.createBlock(g,{key:String(D.value),label:D.text,value:D.value},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{option:D.raw,text:D.text,value:D.value},()=>[t.createElementVNode("span",null,t.toDisplayString(D.text),1)])]),_:2},1032,["label","value"]))),128))]),_:3},16,["modelValue","multiple","filterable","remote"])),[[S,t.unref(l)]])}}}),oo=t.defineComponent({name:"WdAutoComplete",inheritAttrs:!1,__name:"AutoComplete",props:{...ut,modelValue:{type:String,default:""},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"text"},keywordKey:{type:String,default:"keyword"}},emits:["update:modelValue","change","select","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l,remoteSearch:s,fetchOptions:c}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),d=t.computed({get:()=>r.modelValue,set:g=>o("update:modelValue",g)});async function u(g,k){r.api&&r.active?await s(g,r.keywordKey):i.value.length||await c();const S=i.value.filter(D=>g?String(D.text).toLowerCase().includes(String(g).toLowerCase()):!0);k(S)}function p(g){o("update:modelValue",g[r.valueKey]),o("select",g.raw),o("change",g[r.valueKey])}function m(g){o("change",g)}return(g,k)=>{const S=t.resolveComponent("el-autocomplete"),D=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(S,t.mergeProps({modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=h=>d.value=h),"fetch-suggestions":u,"value-key":e.labelKey},g.$attrs,{onSelect:p,onChange:m}),{default:t.withCtx(({item:h})=>[t.renderSlot(g.$slots,"default",{option:h.raw,text:h[e.valueKey],value:h[e.valueKey]},()=>[t.createElementVNode("span",null,t.toDisplayString(h[e.labelKey]),1)])]),_:3},16,["modelValue","value-key"])),[[D,t.unref(l)]])}}}),ro=t.defineComponent({name:"WdCheckboxList",inheritAttrs:!1,__name:"CheckboxList",props:{...ut,modelValue:{type:Array,default:()=>[]},buttonStyle:{type:Boolean,default:!1}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),s=t.computed({get:()=>r.modelValue,set:d=>o("update:modelValue",d)});function c(d){o("change",d)}return(d,u)=>{const p=t.resolveComponent("el-checkbox-button"),m=t.resolveComponent("el-checkbox"),g=t.resolveComponent("el-checkbox-group"),k=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=S=>s.value=S)},d.$attrs,{onChange:c}),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:String(S.value)},[e.buttonStyle?(t.openBlock(),t.createBlock(p,{key:0,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"])):(t.openBlock(),t.createBlock(m,{key:1,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"]))],64))),128))]),_:3},16,["modelValue"])),[[k,t.unref(l)]])}}}),ao=t.defineComponent({name:"WdRadioList",inheritAttrs:!1,__name:"RadioList",props:{...ut,modelValue:{type:[String,Number,Boolean],default:void 0},buttonStyle:{type:Boolean,default:!1}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),s=t.computed({get:()=>r.modelValue,set:d=>o("update:modelValue",d)});function c(d){o("change",d)}return(d,u)=>{const p=t.resolveComponent("el-radio-button"),m=t.resolveComponent("el-radio"),g=t.resolveComponent("el-radio-group"),k=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=S=>s.value=S)},d.$attrs,{onChange:c}),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:String(S.value)},[e.buttonStyle?(t.openBlock(),t.createBlock(p,{key:0,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"])):(t.openBlock(),t.createBlock(m,{key:1,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"]))],64))),128))]),_:3},16,["modelValue"])),[[k,t.unref(l)]])}}}),io=t.defineComponent({name:"WdSwitch",inheritAttrs:!1,__name:"Switch",props:{...le,...pe,...Qe,modelValue:{type:[String,Number,Boolean],default:!1},tips:{type:String,default:""},paramKey:{type:String,default:"status"},activeValue:{type:[String,Number,Boolean],default:!0},inactiveValue:{type:[String,Number,Boolean],default:!1}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.ref(!1),i=t.computed({get:()=>r.modelValue,set:s=>o("update:modelValue",s)});async function l(s){if(o("change",s),!r.api)return;const c=s===r.activeValue?r.inactiveValue:r.activeValue;a.value=!0,o("apiBefore",{url:r.api});try{const d={...r.apiParam,[r.paramKey]:s},u=r.apiMethod==="get"?await J.get(r.api,d):await J.post(r.api,d);u.success?(o("apiSuccess",{data:u.data}),r.headRefreshDatagrid&&Ce(r.headRefreshDatagrid,r.filter),o("apiAfter",{data:u.data})):(o("update:modelValue",c),o("apiFail",{code:u.code,message:u.message}),o("apiAfter",{code:u.code}))}catch(d){o("update:modelValue",c),o("apiException",{error:d,message:d==null?void 0:d.message}),o("apiAfter",{error:d})}finally{a.value=!1}}return(s,c)=>{const d=t.resolveComponent("el-switch"),u=t.resolveComponent("el-tooltip");return e.tips?(t.openBlock(),t.createBlock(u,{key:0,content:e.tips,placement:"top"},{default:t.withCtx(()=>[t.createVNode(d,t.mergeProps({modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=p=>i.value=p),"active-value":e.activeValue,"inactive-value":e.inactiveValue,loading:a.value},s.$attrs,{onChange:l}),null,16,["modelValue","active-value","inactive-value","loading"])]),_:1},8,["content"])):(t.openBlock(),t.createBlock(d,t.mergeProps({key:1,modelValue:i.value,"onUpdate:modelValue":c[1]||(c[1]=p=>i.value=p),"active-value":e.activeValue,"inactive-value":e.inactiveValue,loading:a.value},s.$attrs,{onChange:l}),null,16,["modelValue","active-value","inactive-value","loading"]))}}}),fi={class:"el-upload__tip"},lo=t.defineComponent({name:"WdUpload",inheritAttrs:!1,__name:"Upload",props:{...le,...pe,api:{type:String,default:""},deleteApi:{type:String,default:""},deleteMethod:{type:String,default:"post"},primaryKey:{type:String,default:"id"},submitButtonText:{type:String,default:"开始上传"},buttonText:{type:String,default:"点击上传"},accept:{type:String,default:""},limit:{type:Number,default:void 0},multiple:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},name:{type:String,default:"file"},data:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},showFileList:{type:Boolean,default:!0},maxSize:{type:Number,default:0},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue","change","success","error","delete-success","preview","exceed","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.getCurrentInstance(),l=t.ref(),s=t.ref(!1),c=t.ref([...o.modelValue]);t.watch(()=>o.modelValue,C=>{c.value=[...C]});const d=t.computed(()=>{if(!o.api)return"#";if(/^https?:\/\//.test(o.api))return o.api;const P=Se().request.urlPrefix||"";return P?`${P.replace(/\/$/,"")}/${o.api.replace(/^\//,"")}`:o.api}),u=t.computed(()=>{const C=Se(),P={};C.request.transform.requestInterceptor;const z=C.request.token||"";return z&&(P.Authorization=`Bearer ${z}`),P}),p=t.computed(()=>!o.autoUpload);function m(){a("update:modelValue",c.value),a("change",c.value)}const g=C=>o.maxSize&&C.size/1024/1024>o.maxSize?(K.ElMessage.error(`文件大小不能超过 ${o.maxSize}MB`),!1):(a("apiBefore",{url:o.api,file:C}),!0),k=(C,P,z)=>{const M=Se(),{codeName:T}=M.response.props,$=C==null?void 0:C[T],F=$==null||Number.isNaN(Number($))||Number($)>=M.response.successCode;if(P.response=C,F&&(C!=null&&C[M.response.props.dataName])){const A=C[M.response.props.dataName];P.biz=A,A&&typeof A=="object"&&(P.url=P.url||A.url||A.path)}F?(a("success",{response:C,file:P,files:z}),a("apiSuccess",{data:C==null?void 0:C[M.response.props.dataName],raw:C}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter)):(K.ElMessage.error((C==null?void 0:C[M.response.props.messageName])||"上传失败"),a("error",{response:C,file:P}),a("apiFail",{code:$,message:C==null?void 0:C[M.response.props.messageName]})),a("apiAfter",{url:o.api}),m()},S=(C,P,z)=>{K.ElMessage.error("上传失败,请稍后重试"),a("error",{error:C,file:P,files:z}),a("apiException",{error:C,message:C==null?void 0:C.message}),a("apiAfter",{url:o.api,error:C}),m()},D=async C=>{var M;try{await K.ElMessageBox.confirm("确认删除该文件?删除后不可恢复。","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return!1}const P=C.biz||C,z=(P==null?void 0:P[o.primaryKey])??((M=C.response)==null?void 0:M[o.primaryKey]);if(o.deleteApi&&z!==void 0&&z!==null){a("apiBefore",{url:o.deleteApi});try{const T={...o.data||{},[o.primaryKey]:z},$=o.deleteMethod==="get"?await J.get(o.deleteApi,T):o.deleteMethod==="delete"?await J.delete(o.deleteApi,T):o.deleteMethod==="put"?await J.put(o.deleteApi,T):await J.post(o.deleteApi,T);if($.success)a("delete-success",{file:C,data:$.data}),a("apiSuccess",{data:$.data}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter);else return a("apiFail",{code:$.code,message:$.message}),!1}catch(T){return a("apiException",{error:T,message:T==null?void 0:T.message}),!1}finally{a("apiAfter",{url:o.deleteApi})}}else a("delete-success",{file:C});return!0},h=()=>{m()},b=(C,P)=>{K.ElMessage.warning(`最多上传 ${o.limit} 个文件`),a("exceed",{selectedFiles:C,files:P})},R=C=>{a("preview",{file:C})};function E(){var C;(C=l.value)==null||C.submit()}function y(){var C;(C=l.value)==null||C.clearFiles(),c.value=[],m()}function O(C){c.value=[...c.value,C],m()}return t.onMounted(()=>{i&&(i.appContext.config.globalProperties.$wdUpload={submitUpload:E,clearFiles:y})}),n({submitUpload:E,clearFiles:y,addFile:O,uploadRef:l}),(C,P)=>{const z=t.resolveComponent("el-button"),M=t.resolveComponent("el-upload");return t.openBlock(),t.createBlock(M,t.mergeProps({ref_key:"uploadRef",ref:l,action:d.value,headers:u.value,accept:e.accept,limit:e.limit,multiple:e.multiple,"auto-upload":e.autoUpload,name:e.name,data:e.data,disabled:e.disabled,"show-file-list":e.showFileList,"file-list":c.value,"onUpdate:fileList":P[0]||(P[0]=T=>c.value=T),"before-upload":g,"before-remove":D,"on-success":k,"on-error":S,"on-remove":h,"on-exceed":b,"on-preview":R},C.$attrs),t.createSlots({default:t.withCtx(()=>[t.renderSlot(C.$slots,"default",{},()=>[t.createVNode(z,{type:"primary"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.buttonText),1)]),_:1})])]),_:2},[p.value&&!e.autoUpload?{name:"tip",fn:t.withCtx(()=>[t.createElementVNode("div",fi,[t.createVNode(z,{size:"small",type:"success",loading:s.value,onClick:t.withModifiers(E,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.submitButtonText),1)]),_:1},8,["loading"])])]),key:"0"}:void 0]),1040,["action","headers","accept","limit","multiple","auto-upload","name","data","disabled","show-file-list","file-list"])}}}),pi={key:0,class:"el-upload__tip"},mi=t.defineComponent({name:"WdImageUpload",inheritAttrs:!1,__name:"ImageUpload",props:{...le,...pe,api:{type:String,default:""},deleteApi:{type:String,default:""},deleteMethod:{type:String,default:"post"},primaryKey:{type:String,default:"id"},maxCount:{type:Number,default:8},thumbnailSize:{type:Number,default:100},preview:{type:Boolean,default:!0},accept:{type:String,default:""},maxSize:{type:Number,default:5},tip:{type:String,default:""},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue","change","success","error","delete-success","preview","exceed","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{expose:n,emit:r}){t.useCssVars(y=>({v976d3d6c:e.thumbnailSize+"px"}));const o=e,a=r,i=t.ref(),l=t.ref(o.modelValue.map(y=>({name:y.split("/").pop()||"image",url:y}))),s=t.ref(!1),c=t.ref(1);t.watch(()=>o.modelValue,y=>{l.value=y.map(O=>({name:O.split("/").pop()||"image",url:O}))});const d=t.computed(()=>l.value.map(y=>{var O;return y.url||((O=y.biz)==null?void 0:O.url)||""}).filter(Boolean)),u=t.computed(()=>l.value.length>=o.maxCount),p=t.computed(()=>{if(!o.api)return"#";if(/^https?:\/\//.test(o.api))return o.api;const y=Se().request.urlPrefix||"";return y?`${y.replace(/\/$/,"")}/${o.api.replace(/^\//,"")}`:o.api});function m(){const y=l.value.map(O=>{var C,P;return O.url||((C=O.biz)==null?void 0:C.url)||((P=O.biz)==null?void 0:P.path)||""}).filter(Boolean);a("update:modelValue",y),a("change",y)}const g=y=>y.type.startsWith("image/")?o.maxSize&&y.size/1024/1024>o.maxSize?(K.ElMessage.error(`图片大小不能超过 ${o.maxSize}MB`),!1):(a("apiBefore",{url:o.api,file:y}),!0):(K.ElMessage.error("仅支持上传图片文件"),!1),k=(y,O,C)=>{const P=Se(),{codeName:z,messageName:M,dataName:T}=P.response.props,$=y==null?void 0:y[z],F=$==null||Number.isNaN(Number($))||Number($)>=P.response.successCode;if(O.response=y,F&&(y!=null&&y[T])){const A=y[T];O.biz=A,A&&typeof A=="object"?O.url=O.url||A.url||A.path:typeof A=="string"&&(O.url=A)}F?(a("success",{response:y,file:O,files:C}),a("apiSuccess",{data:y==null?void 0:y[T],raw:y}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter)):(K.ElMessage.error((y==null?void 0:y[M])||"上传失败"),l.value=l.value.filter(A=>A.uid!==O.uid),a("error",{response:y,file:O}),a("apiFail",{code:$,message:y==null?void 0:y[M]})),a("apiAfter",{url:o.api}),m()},S=(y,O)=>{K.ElMessage.error("上传失败,请稍后重试"),l.value=l.value.filter(C=>C.uid!==O.uid),a("error",{error:y,file:O}),a("apiException",{error:y,message:y==null?void 0:y.message}),a("apiAfter",{url:o.api,error:y}),m()},D=async y=>{var P;try{await K.ElMessageBox.confirm("确认删除该图片?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return!1}const O=y.biz||y,C=(O==null?void 0:O[o.primaryKey])??((P=y.response)==null?void 0:P[o.primaryKey]);if(o.deleteApi&&C!==void 0&&C!==null){a("apiBefore",{url:o.deleteApi});try{const z={[o.primaryKey]:C},M=o.deleteMethod==="get"?await J.get(o.deleteApi,z):o.deleteMethod==="delete"?await J.delete(o.deleteApi,z):o.deleteMethod==="put"?await J.put(o.deleteApi,z):await J.post(o.deleteApi,z);if(M.success)a("delete-success",{file:y,data:M.data}),a("apiSuccess",{data:M.data}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter);else return a("apiFail",{code:M.code,message:M.message}),!1}catch(z){return a("apiException",{error:z,message:z==null?void 0:z.message}),!1}finally{a("apiAfter",{url:o.deleteApi})}}else a("delete-success",{file:y});return!0},h=y=>{if(a("preview",{file:y}),!o.preview)return;const O=d.value.findIndex(C=>{var P;return C===(y.url||((P=y.biz)==null?void 0:P.url))});c.value=O>=0?O+1:1,s.value=!0};function b(y){c.value=y}const R=()=>{K.ElMessage.warning(`最多上传 ${o.maxCount} 张图片`),a("exceed",{maxCount:o.maxCount})};function E(){var y;(y=i.value)==null||y.clearFiles(),l.value=[],m()}return n({clearFiles:E,uploadRef:i}),(y,O)=>{const C=t.resolveComponent("el-icon"),P=t.resolveComponent("el-upload"),z=t.resolveComponent("wd-viewer");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wd-image-upload",{"is-hide-add":u.value}])},[t.createVNode(P,t.mergeProps({ref_key:"uploadRef",ref:i,action:p.value,"list-type":"picture-card",accept:e.accept||"image/*",limit:e.maxCount,multiple:e.maxCount>1,"file-list":l.value,"onUpdate:fileList":O[0]||(O[0]=M=>l.value=M),"before-upload":g,"before-remove":D,"on-success":k,"on-error":S,"on-preview":h,"on-exceed":R},y.$attrs),{tip:t.withCtx(()=>[e.tip?(t.openBlock(),t.createElementBlock("div",pi,t.toDisplayString(e.tip),1)):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createVNode(C,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.Plus))]),_:1})]),_:1},16,["action","accept","limit","multiple","file-list"]),e.preview?(t.openBlock(),t.createBlock(z,{key:0,modelValue:s.value,"onUpdate:modelValue":O[1]||(O[1]=M=>s.value=M),src:d.value,page:c.value,type:"image",onPageChange:b},null,8,["modelValue","src","page"])):t.createCommentVNode("",!0)],2)}}}),so=ye(mi,[["__scopeId","data-v-bf4a1202"]]),hi={class:"wd-panel"},gi={key:0,class:"wd-panel__header"},yi={class:"wd-panel__title"},wi={key:0,class:"wd-panel__description"},bi={class:"wd-panel__body"},Si={key:1,class:"wd-panel__footer"},co=ye(t.defineComponent({name:"WdPanel",__name:"Panel",props:{title:{type:String,default:""},description:{type:String,default:""}},setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock("div",hi,[e.title||n.$slots.title?(t.openBlock(),t.createElementBlock("div",gi,[t.renderSlot(n.$slots,"title",{},()=>[t.createElementVNode("span",yi,t.toDisplayString(e.title),1),e.description?(t.openBlock(),t.createElementBlock("span",wi,t.toDisplayString(e.description),1)):t.createCommentVNode("",!0)],!0)])):t.createCommentVNode("",!0),t.createElementVNode("div",bi,[t.renderSlot(n.$slots,"default",{},void 0,!0)]),n.$slots.footer?(t.openBlock(),t.createElementBlock("div",Si,[t.renderSlot(n.$slots,"footer",{},void 0,!0)])):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-b59750a9"]]),uo=ye(t.defineComponent({name:"WdTips",__name:"Tips",props:{tips:{type:String,default:""},type:{type:String,default:"word"},icon:{type:String,default:"InfoFilled"},color:{type:String,default:"#909399"}},setup(e){const n=e,r={InfoFilled:X.InfoFilled,WarningFilled:X.WarningFilled,QuestionFilled:X.QuestionFilled},o=t.computed(()=>r[n.icon]||X.InfoFilled);return(a,i)=>{const l=t.resolveComponent("el-icon"),s=t.resolveComponent("el-tooltip");return e.type==="word"?(t.openBlock(),t.createBlock(s,{key:0,content:e.tips,effect:"dark",placement:"top"},{default:t.withCtx(()=>[t.createVNode(l,{class:"wd-tips__icon",style:t.normalizeStyle({color:e.color})},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value)))]),_:1},8,["style"])]),_:1},8,["content"])):(t.openBlock(),t.createElementBlock("span",{key:1,class:"wd-tips__box",style:t.normalizeStyle({color:e.color})},[o.value?(t.openBlock(),t.createBlock(l,{key:0,class:"wd-tips__box-icon"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value)))]),_:1})):t.createCommentVNode("",!0),t.renderSlot(a.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.tips),1)],!0)],4))}}}),[["__scopeId","data-v-bacdf99f"]]),Ci={class:"wd-viewer"},ki={class:"wd-viewer__wrapper"},_i={class:"wd-viewer__toolbar"},Bi=["src"],Ei=["src"],xi={key:2,class:"wd-viewer__doc"},Ri={class:"wd-viewer__doc-name"},fo=ye(t.defineComponent({name:"WdViewer",__name:"Viewer",props:{src:{type:[String,Array],default:""},type:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},zoom:{type:Number,default:1},rotate:{type:Number,default:0},page:{type:Number,default:1},zoomStep:{type:Number,default:.2},minZoom:{type:Number,default:.2},maxZoom:{type:Number,default:5}},emits:["update:modelValue","zoom-change","rotate-change","page-change","close","open"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.computed(()=>Array.isArray(o.src)?o.src.filter(Boolean):o.src?[o.src]:[]),l=t.computed(()=>{var w;if(o.type)return o.type;const W=((w=(i.value[0]||"").split("?")[0].split(".").pop())==null?void 0:w.toLowerCase())||"";return["jpg","jpeg","png","gif","webp","bmp","svg"].includes(W)?"image":W==="pdf"?"pdf":"doc"}),s=t.ref(o.modelValue),c=t.ref(o.zoom),d=t.ref(o.rotate),u=t.ref(o.page),p=t.ref(!1);t.watch(()=>o.modelValue,A=>{s.value=A,A?(c.value=o.zoom,d.value=o.rotate,u.value=Math.min(Math.max(1,o.page),Math.max(1,i.value.length)),p.value=!1,T(),a("open")):$()}),t.watch(s,A=>a("update:modelValue",A));const m=t.computed(()=>i.value[u.value-1]||""),g=t.computed(()=>{const A=m.value;return A||""}),k=t.computed(()=>({transform:`scale(${c.value}) rotate(${d.value}deg)`,opacity:p.value?1:0}));function S(){p.value=!0}function D(){const A=Math.min(o.maxZoom,Number((c.value+o.zoomStep).toFixed(2)));c.value=A,a("zoom-change",A)}function h(){const A=Math.max(o.minZoom,Number((c.value-o.zoomStep).toFixed(2)));c.value=A,a("zoom-change",A)}function b(){c.value=1,a("zoom-change",1)}function R(){const A=d.value-90;d.value=A,a("rotate-change",A)}function E(){const A=d.value+90;d.value=A,a("rotate-change",A)}function y(){u.value<=1||(u.value-=1,p.value=!1,a("page-change",u.value))}function O(){u.value>=i.value.length||(u.value+=1,p.value=!1,a("page-change",u.value))}function C(){u.value=1,a("page-change",1)}function P(){m.value&&window.open(m.value,"_blank")}function z(){s.value=!1,a("close")}function M(A){if(s.value)switch(A.key){case"ArrowLeft":l.value==="image"&&i.value.length>1&&y();break;case"ArrowRight":l.value==="image"&&i.value.length>1&&O();break;case"ArrowUp":A.preventDefault(),D();break;case"ArrowDown":A.preventDefault(),h();break;case"Escape":z();break}}function T(){t.nextTick(()=>window.addEventListener("keydown",M))}function $(){window.removeEventListener("keydown",M)}function F(A){s.value=!0}return n({open:F,close:z,zoomIn:D,zoomOut:h,rotateLeft:R,rotateRight:E}),(A,W)=>{const w=t.resolveComponent("el-button"),_=t.resolveComponent("el-button-group"),U=t.resolveComponent("el-icon");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Ci,[t.createElementVNode("div",{class:"wd-viewer__mask",onClick:t.withModifiers(z,["self"])}),t.createElementVNode("div",ki,[t.createElementVNode("div",_i,[t.createVNode(_,null,{default:t.withCtx(()=>[t.createVNode(w,{icon:t.unref(X.ZoomOut),circle:"",onClick:h,title:"缩小"},null,8,["icon"]),t.createVNode(w,{class:"wd-viewer__zoom-text",onClick:b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Math.round(e.zoom*100))+"%",1)]),_:1}),t.createVNode(w,{icon:t.unref(X.ZoomIn),circle:"",onClick:D,title:"放大"},null,8,["icon"])]),_:1}),l.value==="image"?(t.openBlock(),t.createBlock(_,{key:0},{default:t.withCtx(()=>[t.createVNode(w,{icon:t.unref(X.RefreshLeft),circle:"",onClick:R,title:"左转"},null,8,["icon"]),t.createVNode(w,{icon:t.unref(X.RefreshRight),circle:"",onClick:E,title:"右转"},null,8,["icon"])]),_:1})):t.createCommentVNode("",!0),l.value==="image"&&i.value.length>1?(t.openBlock(),t.createBlock(_,{key:1},{default:t.withCtx(()=>[t.createVNode(w,{icon:t.unref(X.ArrowLeft),circle:"",disabled:e.page<=1,onClick:y,title:"上一张"},null,8,["icon","disabled"]),t.createVNode(w,{class:"wd-viewer__page-text",onClick:C},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.page)+" / "+t.toDisplayString(i.value.length),1)]),_:1}),t.createVNode(w,{icon:t.unref(X.ArrowRight),circle:"",disabled:e.page>=i.value.length,onClick:O,title:"下一张"},null,8,["icon","disabled"])]),_:1})):t.createCommentVNode("",!0),t.createVNode(w,{icon:t.unref(X.Close),circle:"",type:"danger",onClick:z,title:"关闭"},null,8,["icon"])]),t.createElementVNode("div",{class:"wd-viewer__body",onClick:t.withModifiers(z,["self"])},[l.value==="image"?(t.openBlock(),t.createElementBlock("img",{key:0,src:m.value,class:"wd-viewer__img",style:t.normalizeStyle(k.value),onLoad:S},null,44,Bi)):l.value==="pdf"?(t.openBlock(),t.createElementBlock("iframe",{key:1,src:g.value,class:"wd-viewer__pdf",frameborder:"0"},null,8,Ei)):(t.openBlock(),t.createElementBlock("div",xi,[t.createVNode(U,{size:64},{default:t.withCtx(()=>[t.createVNode(t.unref(X.Document))]),_:1}),t.createElementVNode("p",Ri,t.toDisplayString(m.value),1),t.createVNode(w,{type:"primary",onClick:P},{default:t.withCtx(()=>[...W[0]||(W[0]=[t.createTextVNode("全屏阅读",-1)])]),_:1})]))])])],512)),[[t.vShow,s.value]])}}}),[["__scopeId","data-v-5a218091"]]),Ai=Object.values(Object.freeze(Object.defineProperty({__proto__:null,WdApiButton:Kn,WdAutoComplete:oo,WdCheckboxList:ro,WdConfirmButton:Jn,WdDataForm:Hn,WdDataGrid:In,WdDialog:zt,WdDialogButton:vn,WdDrawer:Ut,WdDrawerButton:Qn,WdEditableTable:Wn,WdIframe:eo,WdImageUpload:so,WdPanel:co,WdPromptButton:Gn,WdRadioList:ao,WdRouteButton:Xn,WdSearchPanel:to,WdSelect:no,WdSwitch:io,WdTips:uo,WdTipsButton:Zn,WdUpload:lo,WdViewer:fo},Symbol.toStringTag,{value:"Module"}))),po={install:(e,n)=>{jt(n),Ai.forEach(r=>{r!=null&&r.name&&e.component(r.name,r)})}};function Ni(e,n={}){const{method:r="post",immediate:o=!0,initialParams:a,reqOptions:i,onSuccess:l,onFail:s,onError:c}=n,d=t.shallowRef(null),u=t.ref(!1),p=t.shallowRef(null);let m=null;function g(){return typeof e=="function"?e():e}async function k(R){u.value=!0,p.value=null,m&&m.abort(),m=new AbortController;const E={...i,signal:m.signal};try{let y;const O=g();return r==="get"||r==="delete"?y=await J.request({url:O,method:r,params:R},E):y=await J.request({url:O,method:r,data:R},E),y.success?(d.value=y.data,l==null||l(y.data,y)):s==null||s(y),y}catch(y){return p.value=y instanceof Error?y:new Error((y==null?void 0:y.message)||"请求失败"),c==null||c(y),null}finally{u.value=!1,m=null}}function S(){return k(h)}function D(){m&&(m.abort(),m=null,u.value=!1)}let h=a;const b=R=>(h=R??h,k(R));return o&&k(a),t.onUnmounted(D),{data:d,loading:u,error:p,run:b,refresh:S,abort:D}}function Pi(e,n){const r=t.shallowRef(mo(e,n));return t.onMounted(()=>{r.value=mo(e,n)}),r}function Oi(){return Se()}function mo(e,n){const r=e?Mt(e):{},o={};if(n)for(const[a,i]of Object.entries(n))i!==void 0&&(o[a]=i);return ue({},r,o)}const Te=new Map;function Di(e,n){const r=Te.get(e);r&&r.forEach(o=>{try{o(n)}catch(a){console.error(`[WorkDesktop] eventBus[${e}] handler error:`,a)}})}function Ti(e,n){return Te.has(e)||Te.set(e,new Set),Te.get(e).add(n),()=>ho(e,n)}function ho(e,n){var r;(r=Te.get(e))==null||r.delete(n)}function Vi(e){e?Te.delete(e):Te.clear()}function $i(){const e=[],n=(r,o)=>{const a=Ti(r,o);return e.push(a),a};try{t.onUnmounted(()=>{e.forEach(r=>r()),e.length=0})}catch{}return{emit:Di,on:n,off:ho,clear:Vi}}const Be=t.reactive({});function Li(e,n){if(!(e in Be))Be[e]=n?t.isReactive(n)?n:{...n}:{};else if(n&&typeof n=="object")for(const i of Object.keys(n))Be[e][i]===void 0&&(Be[e][i]=n[i]);const r=Be[e];return{state:r,set:i=>{const l=typeof i=="function"?i(r):i;Object.assign(Be[e],l)},reset:()=>{const i=n?{...n}:{};Object.keys(Be[e]).forEach(l=>delete Be[e][l]),Object.assign(Be[e],i)}}}V.WdApiButton=Kn,V.WdAutoComplete=oo,V.WdCheckboxList=ro,V.WdConfirmButton=Jn,V.WdDataForm=Hn,V.WdDataGrid=In,V.WdDialog=zt,V.WdDialogButton=vn,V.WdDrawer=Ut,V.WdDrawerButton=Qn,V.WdEditableTable=Wn,V.WdIframe=eo,V.WdImageUpload=so,V.WdPanel=co,V.WdPromptButton=Gn,V.WdRadioList=ao,V.WdRouteButton=Xn,V.WdSearchPanel=to,V.WdSelect=no,V.WdSwitch=io,V.WdTips=uo,V.WdTipsButton=Zn,V.WdUpload=lo,V.WdViewer=fo,V.WorkDesktop=po,V.clearLinkageRegistry=Da,V.deepMerge=ue,V.default=po,V.getComponentDefault=Mt,V.getDataGrids=Oa,V.getGlobalConfig=Se,V.http=J,V.initConfig=jt,V.mergeConfig=Eo,V.refreshDataGrid=Ce,V.registerDataGrid=Fn,V.request=J,V.resetConfig=Bo,V.resetSearchDataGrid=jn,V.searchDataGrid=Mn,V.setGlobalConfig=_o,V.useConfig=Pi,V.useDataGrid=zn,V.useEventBus=$i,V.useGlobalConfig=Oi,V.useGlobalState=Li,V.useRequest=Ni,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
10
+ `+l)}}catch{}throw o}}_request(n,r){typeof n=="string"?(r=r||{},r.url=n):r=n||{},r=Oe(this.defaults,r);const{transitional:o,paramsSerializer:a,headers:i}=r;o!==void 0&&ct.assertOptions(o,{silentJSONParsing:re.transitional(re.boolean),forcedJSONParsing:re.transitional(re.boolean),clarifyTimeoutError:re.transitional(re.boolean),legacyInterceptorReqResOrdering:re.transitional(re.boolean),advertiseZstdAcceptEncoding:re.transitional(re.boolean),validateStatusUndefinedResolves:re.transitional(re.boolean)},!1),a!=null&&(f.isFunction(a)?r.paramsSerializer={serialize:a}:ct.assertOptions(a,{encode:re.function,serialize:re.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),ct.assertOptions(r,{baseUrl:re.spelling("baseURL"),withXsrfToken:re.spelling("withXSRFToken")},!0),r.method=(f.getSafeProp(r,"method")||f.getSafeProp(this.defaults,"method")||"get").toLowerCase();let l=i&&f.merge(i.common,i[r.method]);i&&f.forEach(gn.concat("common"),k=>{delete i[k]}),r.headers=oe.concat(l,i);const s=[];let c=!0;this.interceptors.request.forEach(function(S){if(typeof S.runWhen=="function"&&S.runWhen(r)===!1)return;c=c&&S.synchronous;const D=r.transitional||Et;D&&D.legacyInterceptorReqResOrdering?s.unshift(S.fulfilled,S.rejected):s.push(S.fulfilled,S.rejected)});const d=[];this.interceptors.response.forEach(function(S){d.push(S.fulfilled,S.rejected)});let u,p=0,m;if(!c){const k=[Tt.bind(this),void 0];for(k.unshift(...s),k.push(...d),m=k.length,u=Promise.resolve(r);p<m;)u=u.then(k[p++],k[p++]);return u}m=s.length;let g=r;for(;p<m;){const k=s[p++],S=s[p++];try{g=k?k(g):g}catch(D){if(!S){u=Promise.reject(D);break}try{const h=S.call(this,D);f.isThenable(h)&&(u=Promise.resolve(h).then(()=>Tt.call(this,g)))}catch(h){u=Promise.reject(h)}break}}if(!u)try{u=Tt.call(this,g)}catch(k){u=Promise.reject(k)}for(p=0,m=d.length;p<m;)u=u.then(d[p++],d[p++]);return u}getUri(n){n=Oe(this.defaults,n);const r=_n(n.baseURL,n.url,n.allowAbsoluteUrls,n);return cn(r,n.params,n.paramsSerializer)}};f.forEach(["delete","get","head","options"],function(n){De.prototype[n]=function(r,o){return this.request(Oe(o||{},{method:n,url:r,data:o&&f.hasOwnProp(o,"data")?o.data:void 0}))}}),f.forEach(["post","put","patch","query"],function(n){function r(o){return function(i,l,s){return this.request(Oe(s||{},{method:n,headers:o?{"Content-Type":"multipart/form-data"}:{},url:i,data:l}))}}De.prototype[n]=r(),n!=="query"&&(De.prototype[n+"Form"]=r(!0))});let Aa=class So{constructor(n){if(typeof n!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});const o=this;this.promise.then(a=>{if(!o._listeners)return;let i=o._listeners.length;for(;i-- >0;)o._listeners[i](a);o._listeners=null}),this.promise.then=a=>{let i;const l=new Promise(s=>{o.subscribe(s),i=s}).then(a);return l.cancel=function(){o.unsubscribe(i)},l},n(function(i,l,s){o.reason||(o.reason=new Ze(i,l,s),r(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(n){if(this.reason){n(this.reason);return}this._listeners?this._listeners.push(n):this._listeners=[n]}unsubscribe(n){if(!this._listeners)return;const r=this._listeners.indexOf(n);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const n=new AbortController,r=o=>{n.abort(o)};return this.subscribe(r),n.signal.unsubscribe=()=>this.unsubscribe(r),n.signal}static source(){let n;return{token:new So(function(a){n=a}),cancel:n}}};function Na(e){return function(r){return e.apply(null,r)}}function Pa(e){return f.isObject(e)&&e.isAxiosError===!0}const dt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(dt).forEach(([e,n])=>{dt[n]===void 0&&(dt[n]=e)});function Un(e){const n=new De(e),r=It(De.prototype.request,n);return f.extend(r,De.prototype,n,{allOwnKeys:!0}),f.extend(r,n,null,{allOwnKeys:!0}),r.create=function(a){return Un(Oe(e,a))},r}const Q=Un(Xe);Q.Axios=De,Q.CanceledError=Ze,Q.CancelToken=Aa,Q.isCancel=yn,Q.VERSION=Pt,Q.toFormData=at,Q.AxiosError=N,Q.Cancel=Q.CanceledError,Q.all=function(n){return Promise.all(n)},Q.spread=Na,Q.isAxiosError=Pa,Q.mergeConfig=Oe,Q.AxiosHeaders=oe,Q.formToJSON=e=>hn(f.isHTMLForm(e)?new FormData(e):e),Q.getAdapter=$n.getAdapter,Q.HttpStatusCode=dt,Q.default=Q;const{Axios:Xi,AxiosError:Zi,CanceledError:Yi,isCancel:Qi,CancelToken:vi,VERSION:el,all:tl,Cancel:nl,isAxiosError:ol,spread:rl,toFormData:al,AxiosHeaders:il,HttpStatusCode:ll,formToJSON:sl,getAdapter:cl,mergeConfig:dl,create:ul}=Q;function Vt(e,n){if(!e||e.showTips===!1)return;const r=e.tipsType;if(!r||r==="none")return;const o=e.props||{};if(r==="notify"||r==="notification"){K.ElNotification({message:n,type:"info",...o});return}const a=["success","warning","error","info"].includes(r)?r:"info";K.ElMessage({message:n,type:a,...o})}class $t{constructor(n){Me(this,"axiosInstance");Me(this,"listeners",new Set);Me(this,"instanceConfig",{});Me(this,"loadingInstance",null);Me(this,"loadingCount",0);this.axiosInstance=Q.create(n||{})}create(n){const r=new $t;return r.instanceConfig=n||{},r.listeners=this.listeners,r}on(n){return this.listeners.add(n),()=>this.listeners.delete(n)}off(n){this.listeners.delete(n)}emit(n){this.listeners.forEach(r=>{try{r(n)}catch(o){console.error("[WorkDesktop] api event handler error:",o)}})}resolveConfig(){const n=Se();return this.instanceConfig&&Object.keys(this.instanceConfig).length?ue(n,this.instanceConfig):n}openLoading(n){var a;const r=this.resolveConfig();((n==null?void 0:n.showLoading)??r.request.loading.enable)&&(this.loadingCount+=1,this.loadingCount===1&&(this.loadingInstance=K.ElLoading.service({...r.request.loading.props,...((a=n==null?void 0:n.axiosConfig)==null?void 0:a.loadingProps)||{}})))}closeLoading(n){const r=this.resolveConfig();((n==null?void 0:n.showLoading)??r.request.loading.enable)&&(this.loadingCount=Math.max(0,this.loadingCount-1),this.loadingCount===0&&this.loadingInstance&&(this.loadingInstance.close(),this.loadingInstance=null))}async request(n,r){var d;const o=this.resolveConfig(),a=(n.method||"get").toLowerCase(),i=this.buildUrl(n.url||"",o),l={type:"apiBefore",url:i,method:a,params:n.data??n.params};this.emit(l),this.openLoading(r);let s={...o.request.axiosConfig,...n,url:i,method:a,signal:(r==null?void 0:r.signal)??n.signal};const c=o.request.transform.requestInterceptor;c&&(s=await c(s)||s);try{let u=await this.axiosInstance.request(s);const p=o.request.transform.responseInterceptor;p&&(u=await p(u)??u);const m=u.data,g=this.unpack(m,o,r,{url:i,method:a,params:l.params});return this.emit({type:g.success?"apiSuccess":"apiFail",url:i,method:a,params:l.params,data:g.data,code:g.code,message:g.message,raw:m}),this.emit({type:"apiAfter",url:i,method:a,data:g.data,code:g.code,message:g.message}),g}catch(u){const p=(u==null?void 0:u.message)||"网络异常,请稍后重试",m=((d=r==null?void 0:r.tipsConfig)==null?void 0:d.exception)??o.response.exception;if(Vt(m,p),this.emit({type:"apiException",url:i,method:a,params:l.params,error:u,message:p}),this.emit({type:"apiAfter",url:i,method:a,error:u,message:p}),o.request.throwException)throw u;return Promise.reject(Object.assign(new Error(p),{success:!1,data:null,message:p,error:u}))}finally{this.closeLoading(r)}}unpack(n,r,o,a){var g,k;if(n==null||typeof n!="object"||Array.isArray(n))return{success:!0,data:n,raw:n};const{codeName:i,messageName:l,dataName:s}=r.response.props,c=n[i],d=n[l]??"",u=n[s];if(this.checkSuccess(c,r)){const S=((g=o==null?void 0:o.tipsConfig)==null?void 0:g.success)??r.response.success;return S!=null&&S.showTips&&Vt(S,d||"操作成功"),{success:!0,data:u,code:c,message:d,raw:n}}const m=((k=o==null?void 0:o.tipsConfig)==null?void 0:k.fail)??r.response.fail;return(m==null?void 0:m.showTips)!==!1&&Vt(m,d||"操作失败"),{success:!1,data:null,code:c,message:d,raw:n}}checkSuccess(n,r){if(n==null)return!0;const o=Number(n);return Number.isNaN(o)?!0:o>=r.response.successCode}buildUrl(n,r){if(!n||/^https?:\/\//.test(n))return n;const o=r.request.urlPrefix||"";return o?`${o.replace(/\/$/,"")}/${n.replace(/^\//,"")}`:n}get(n,r,o){return this.request({url:n,method:"get",params:r},o)}post(n,r,o){return this.request({url:n,method:"post",data:r},o)}put(n,r,o){return this.request({url:n,method:"put",data:r},o)}delete(n,r,o){return this.request({url:n,method:"delete",params:r},o)}}const J=new $t;function zn(e={}){const n=Se(),{api:r,apiMethod:o="post",apiParam:a={},pageSize:i=n.page.pager.pageSize,immediate:l=!1,reqOptions:s,onLoaded:c}=e,d=t.ref(1),u=t.ref(i),p=t.ref(0),m=t.shallowRef([]),g=t.ref(!1),k=t.reactive({}),S=t.ref([]),D=n.request.pageParam,h=n.response.list;let b=null;function R(F){const A={[D.pageField]:d.value,[D.sizeField]:u.value};return A[D.searchField]={...a,...k,...F||{}},A}async function E(F){if(!r)return m.value=[],p.value=0,{list:[],total:0,pageSize:u.value,currentPage:d.value};g.value=!0,b&&b.abort(),b=new AbortController;const A=R(F);try{let W;if(o==="get"?W=await J.request({url:r,method:"get",params:A},{...s,signal:b.signal}):W=await J.request({url:r,method:o,data:A},{...s,signal:b.signal}),W.success){const w=W.data;let _=[],U=0;return Array.isArray(w)?(_=w,U=w.length):w&&typeof w=="object"&&(_=w[h.listName]??w.list??[],U=w[h.totalName]??w.total??_.length),m.value=_,p.value=U,c==null||c({list:_,total:U}),{list:_,total:U,pageSize:(w==null?void 0:w[h.pageSizeName])??u.value,currentPage:(w==null?void 0:w[h.currentPageName])??d.value}}return m.value=[],p.value=0,{list:[],total:0,pageSize:u.value,currentPage:d.value}}finally{g.value=!1,b=null}}function y(){return E()}function O(){return d.value=1,Object.keys(k).forEach(F=>delete k[F]),E()}function C(F){return d.value=F,E()}function P(F){return u.value=F,d.value=1,E()}function z(F){S.value=F||[]}function M(){return S.value}function T(){S.value=[]}function $(F){return F&&Object.assign(k,F),d.value=1,E()}return l&&E(),{currentPage:d,page:d,pageSize:u,total:p,list:m,loading:g,searchParams:k,selection:S,fetchData:E,refresh:y,reset:O,search:$,onChangeCurrentpage:C,onChangePagesize:P,setSelection:z,getSelection:M,clearSelection:T,buildParams:R}}const _e=new Map;function Ye(e){return e||""}function Fn(e){const n=Ye(e.filter);return _e.has(n)||_e.set(n,new Set),_e.get(n).add(e),()=>{var r;(r=_e.get(n))==null||r.delete(e)}}function Ce(e,n){if(!e)return 0;const r=typeof e=="string"?e:Ye(n),o=_e.get(r);if(!o)return 0;let a=0;return o.forEach(i=>{try{i.refresh(),a+=1}catch(l){console.error("[WorkDesktop] refreshDataGrid error:",l)}}),a}function Oa(e){const n=_e.get(Ye(e));return n?Array.from(n):[]}function Mn(e,n,r){if(!n)return 0;const o=typeof n=="string"?n:Ye(r),a=_e.get(o);if(!a)return 0;let i=0;return a.forEach(l=>{try{l.search?l.search(e):l.refresh(),i+=1}catch(s){console.error("[WorkDesktop] searchDataGrid error:",s)}}),i}function jn(e,n){if(!e)return 0;const r=typeof e=="string"?e:Ye(n),o=_e.get(r);if(!o)return 0;let a=0;return o.forEach(i=>{try{i.resetSearch?i.resetSearch():i.refresh(),a+=1}catch(l){console.error("[WorkDesktop] resetSearchDataGrid error:",l)}}),a}function Da(){_e.clear()}function Ta(e){const n=[];let r=0;const o=a=>{a.forEach(i=>{var u,p;if(!i||typeof i!="object")return;const l=i.props||{},s=((u=i.type)==null?void 0:u.name)||((p=i.type)==null?void 0:p.__name)||"";if(String(s).includes("TableColumn")||i.type===Symbol.for("el-table-column")||s==="ElTableColumn"||l.prop||l.label||l.type){r+=1;const m=l.type,g=String(l.prop||l.columnKey||`col-${r}`);n.push({key:g,label:l.label||g,controllable:!m,visible:l.hidden!==!0,order:n.length})}const d=i.children;Array.isArray(d)&&o(d.filter(m=>m&&typeof m=="object"))})};return o(e),n}function Va(e){const n=t.ref([]),r=t.ref(!1),o=e?`wd:columns:${e}`:"";function a(){return!o||typeof localStorage>"u"?{}:Ft(localStorage.getItem(o),{})}function i(){if(!o||typeof localStorage>"u")return;const m={};n.value.forEach((g,k)=>{m[g.key]={visible:g.visible,order:k}}),localStorage.setItem(o,JSON.stringify(m))}function l(m){const g=Ta(m),k=a();n.value=g.map(S=>{const D=k[S.key];return D?{...S,visible:D.visible??S.visible,order:D.order??S.order}:S}),n.value.sort((S,D)=>S.order-D.order)}function s(m,g){const k=n.value.find(S=>S.key===m);k&&(k.visible=g,i())}function c(m,g){const k=n.value.findIndex(b=>b.key===m),S=k+g;if(k<0||S<0||S>=n.value.length)return;const D=n.value.slice(),[h]=D.splice(k,1);D.splice(S,0,h),D.forEach((b,R)=>b.order=R),n.value=D,i()}function d(){n.value.forEach(m=>m.visible=!0),n.value.sort((m,g)=>m.order-g.order),o&&typeof localStorage<"u"&&localStorage.removeItem(o)}const u=t.computed(()=>new Set(n.value.filter(m=>!m.visible).map(m=>m.key))),p=t.computed(()=>n.value.filter(m=>m.controllable));return{columns:n,controllableColumns:p,hiddenKeys:u,settingVisible:r,init:l,setVisible:s,move:c,reset:d,nextTick:t.nextTick}}const $a={key:0,class:"wd-datagrid__toolbar"},La={class:"wd-datagrid__toolbar-left"},Ua={class:"wd-datagrid__toolbar-right"},za={key:2,class:"wd-datagrid__cards"},Fa={class:"wd-datagrid__card-title"},Ma={class:"wd-datagrid__card-body"},ja={class:"wd-datagrid__card-label"},Ia={class:"wd-datagrid__card-value"},Wa={key:3,class:"wd-datagrid__pager"},qa={class:"wd-datagrid__col-setting"},Ha={class:"wd-datagrid__col-actions"},Ka=t.defineComponent({name:"WdDataGrid",__name:"DataGrid",props:{api:{type:String,default:""},apiMethod:{type:String,default:"post"},apiParam:{type:Object,default:()=>({})},active:{type:Boolean,default:!1},dataSource:{type:[Array,Object],default:void 0},withPager:{type:Boolean,default:!0},withSearch:{type:Boolean,default:!1},modeSwitch:{type:Boolean,default:!1},dynamicColumn:{type:Boolean,default:!1},columnStorageKey:{type:String,default:""},fix:{type:Boolean,default:!0},border:{type:Boolean,default:!1},stripe:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!1},rowKey:{type:String,default:""},tableSize:{type:String,default:"default"},pagerStyle:{type:String,default:"normal"},withIndex:{type:Boolean,default:!0},withSelection:{type:Boolean,default:!1},rowspanKey:{type:String,default:""},rowspanColumn:{type:Array,default:()=>[]},treeProps:{type:Object,default:()=>({children:"children",hasChildren:"hasChildren"})},defaultExpandAll:{type:Boolean,default:!1},tools:{type:Object,default:()=>({})},rowActions:{type:Array,default:()=>[]},filter:{type:String,default:""}},emits:["row-action","page-change","selection-change","mode-change","loaded","apiBefore","apiAfter"],setup(e,{expose:n,emit:r}){const o=t.defineComponent({name:"WdColumnRenderer",props:{vnodes:{type:Array,default:()=>[]}},render(){return this.vnodes}}),a=e,i=r,l=t.useSlots(),s=t.ref(null),c=t.ref("table"),d=t.computed(()=>({refresh:a.tools.refresh!==!1,columnSetting:a.tools.columnSetting===!0,modeSwitch:a.tools.modeSwitch===!0,size:a.tools.size===!0})),u=t.computed(()=>!!l.toolbar),p=t.computed(()=>d.value.refresh||d.value.columnSetting||d.value.modeSwitch||d.value.size||a.modeSwitch||a.dynamicColumn),m=a.columnStorageKey?`wd:tablesize:${a.columnStorageKey}`:"",g=m?Ft(localStorage.getItem(m),null):null,k=t.ref(g||a.tableSize);t.watch(()=>a.tableSize,L=>{g||(k.value=L)});function S(L){k.value=L,m&&localStorage.setItem(m,JSON.stringify(L))}const D=Se(),h=D.page.pager.pageSizes,b=D.page.pager.hideOnSinglePage,R=t.computed(()=>a.pagerStyle==="simple"?"prev, pager, next":a.pagerStyle==="full"?"total, sizes, prev, pager, next, jumper":D.page.pager.layout),E=t.computed(()=>Array.isArray(a.dataSource)),y=zn({api:E.value?"":a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,pageSize:D.page.pager.pageSize,immediate:!1}),{list:O,total:C,loading:P,currentPage:z,pageSize:M,selection:T}=y;t.watch(()=>a.dataSource,L=>{E.value&&(O.value=L,C.value=L.length)},{immediate:!0});const{columns:$,controllableColumns:F,hiddenKeys:A,settingVisible:W,init:w,setVisible:_,move:U,reset:Z}=Va(a.columnStorageKey||void 0),se=t.computed(()=>{const L=l.default;if(!L)return[];const x=L();return $.value.length||w(x),ae(x,A.value)});function ae(L,x){const H=[];return L.forEach(G=>{if(!G||typeof G!="object"){G&&H.push(G);return}const ee=G.props||{},ge=String(ee.prop||ee.columnKey||"");ee.type==="selection"||ee.type==="index"||ge&&x.has(ge)||H.push(G)}),H}function Y(L){return(z.value-1)*M.value+L+1}function me({row:L,column:x,rowIndex:H,columnIndex:G}){if(!a.rowspanKey||!a.rowspanColumn.length)return{rowspan:1,colspan:1};const ee=x.property;if(!a.rowspanColumn.includes(ee))return{rowspan:1,colspan:1};const ge=O.value,ze=L[a.rowspanKey],Ee=ge.findIndex(Fe=>Fe[a.rowspanKey]===ze);return H===Ee?{rowspan:ge.filter(pt=>pt[a.rowspanKey]===ze).length,colspan:1}:{rowspan:0,colspan:0}}function we(L){y.setSelection(L),i("selection-change",L)}function ke(L){y.onChangeCurrentpage(L),i("page-change",{currentPage:L,pageSize:M.value})}function Ve(L){y.onChangePagesize(L),i("page-change",{currentPage:z.value,pageSize:L})}function B(){c.value=c.value==="table"?"card":"table",i("mode-change",c.value)}const j=t.computed(()=>{const L=a.rowActions.reduce((x,H)=>x+H.text.length*14+16,20);return Math.max(L,90)});function q(L,x){i("row-action",{row:L,command:x.command??x.text,text:x.text})}function I(L){return E.value?Promise.resolve():y.fetchData(L==null?void 0:L.apiParam).then(x=>{i("loaded",x)})}function ve(){return E.value?Promise.resolve():y.fetchData().then(L=>i("loaded",L))}function ce(){return y.getSelection()}function be(){var L,x;(x=(L=s.value)==null?void 0:L.clearSelection)==null||x.call(L),y.clearSelection()}function he(L){return E.value?Promise.resolve():(z.value=1,y.fetchData(L).then(x=>i("loaded",x)))}function et(){return y.reset()}n({requestApi:I,refresh:ve,onChangePagesize:Ve,onChangeCurrentpage:ke,getSelection:ce,clearSelection:be,search:he,resetSearch:et,tableRef:s});let Re=null;return t.onMounted(()=>{Re=Fn({filter:a.filter,refresh:()=>ve(),search:L=>he(L),resetSearch:()=>et()}),a.active&&!E.value&&I()}),t.onBeforeUnmount(()=>{Re==null||Re()}),t.watch(()=>[a.api,a.apiMethod],()=>{a.active&&!E.value&&I()}),(L,x)=>{const H=t.resolveComponent("el-icon"),G=t.resolveComponent("el-button"),ee=t.resolveComponent("el-tooltip"),ge=t.resolveComponent("el-dropdown-item"),ze=t.resolveComponent("el-dropdown-menu"),Ee=t.resolveComponent("el-dropdown"),Fe=t.resolveComponent("el-table-column"),pt=t.resolveComponent("el-empty"),Ui=t.resolveComponent("el-table"),zi=t.resolveComponent("el-pagination"),Fi=t.resolveComponent("el-checkbox"),Mi=t.resolveComponent("el-dialog"),go=t.resolveDirective("loading");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wd-datagrid",{"wd-datagrid--auto-height":e.autoHeight}])},[u.value||p.value?(t.openBlock(),t.createElementBlock("div",$a,[t.createElementVNode("div",La,[t.renderSlot(L.$slots,"toolbar",{selection:t.unref(T),list:t.unref(O)},void 0,!0)]),t.createElementVNode("div",Ua,[d.value.refresh?(t.openBlock(),t.createBlock(ee,{key:0,content:"刷新",placement:"top"},{default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small",onClick:ve},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.Refresh))]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0),d.value.size?(t.openBlock(),t.createBlock(ee,{key:1,content:"调整大小",placement:"top"},{default:t.withCtx(()=>[t.createVNode(Ee,{trigger:"click",onCommand:S},{dropdown:t.withCtx(()=>[t.createVNode(ze,null,{default:t.withCtx(()=>[t.createVNode(ge,{command:"large",disabled:e.tableSize==="large"},{default:t.withCtx(()=>[...x[4]||(x[4]=[t.createTextVNode("大",-1)])]),_:1},8,["disabled"]),t.createVNode(ge,{command:"default",disabled:e.tableSize==="default"},{default:t.withCtx(()=>[...x[5]||(x[5]=[t.createTextVNode("默认",-1)])]),_:1},8,["disabled"]),t.createVNode(ge,{command:"small",disabled:e.tableSize==="small"},{default:t.withCtx(()=>[...x[6]||(x[6]=[t.createTextVNode("小",-1)])]),_:1},8,["disabled"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.ScaleToOriginal))]),_:1})]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0),d.value.modeSwitch||e.modeSwitch?(t.openBlock(),t.createBlock(ee,{key:2,content:"表格/列表切换",placement:"top"},{default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small",onClick:B},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[c.value==="card"?(t.openBlock(),t.createBlock(t.unref(X.Grid),{key:0})):(t.openBlock(),t.createBlock(t.unref(X.Menu),{key:1}))]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0),d.value.columnSetting||e.dynamicColumn?(t.openBlock(),t.createBlock(ee,{key:3,content:"列设置",placement:"top"},{default:t.withCtx(()=>[t.createVNode(G,{circle:"",size:"small",onClick:x[0]||(x[0]=v=>W.value=!0)},{default:t.withCtx(()=>[t.createVNode(H,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.Setting))]),_:1})]),_:1})]),_:1})):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0),c.value==="table"?t.withDirectives((t.openBlock(),t.createBlock(Ui,{key:1,ref_key:"tableRef",ref:s,data:t.unref(O),size:k.value,border:e.border,stripe:e.stripe,height:e.autoHeight?"100%":void 0,"row-key":e.rowKey||void 0,"tree-props":e.treeProps,"default-expand-all":e.defaultExpandAll,"span-method":me,class:"wd-datagrid__table",onSelectionChange:we},{empty:t.withCtx(()=>[t.renderSlot(L.$slots,"empty",{},()=>[t.createVNode(pt,{description:t.unref(P)?"加载中...":"暂无数据","image-size":80},null,8,["description"])],!0)]),default:t.withCtx(()=>[e.withSelection?(t.openBlock(),t.createBlock(Fe,{key:0,type:"selection",width:"60",align:"center","reserve-selection":""})):t.createCommentVNode("",!0),e.withIndex?(t.openBlock(),t.createBlock(Fe,{key:1,type:"index",label:"序号",width:"60",align:"center",index:Y})):t.createCommentVNode("",!0),t.createVNode(t.unref(o),{vnodes:se.value},null,8,["vnodes"]),e.rowActions.length?(t.openBlock(),t.createBlock(Fe,{key:2,label:"操作",width:j.value,align:"center",fixed:"right"},{default:t.withCtx(({row:v})=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.rowActions,de=>(t.openBlock(),t.createBlock(G,{key:de.command||de.text,link:"",size:"small",type:de.type||"primary",onClick:yo=>q(v,de)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(de.text),1)]),_:2},1032,["type","onClick"]))),128))]),_:1},8,["width"])):t.createCommentVNode("",!0)]),_:3},8,["data","size","border","stripe","height","row-key","tree-props","default-expand-all"])),[[go,t.unref(P)]]):t.withDirectives((t.openBlock(),t.createElementBlock("div",za,[t.unref(O).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(pt,{key:0,description:"暂无数据","image-size":80})),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(O),(v,de)=>(t.openBlock(),t.createElementBlock("div",{key:v[e.rowKey||"id"]??de,class:"wd-datagrid__card"},[t.renderSlot(L.$slots,"card-item",{row:v,index:de},()=>[t.createElementVNode("div",Fa,t.toDisplayString(v.name||v.title||`第 ${de+1} 项`),1),t.createElementVNode("div",Ma,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v,(yo,wo)=>(t.openBlock(),t.createElementBlock("div",{key:wo,class:"wd-datagrid__card-line"},[t.createElementVNode("span",ja,t.toDisplayString(wo),1),t.createElementVNode("span",Ia,t.toDisplayString(yo),1)]))),128))])],!0)]))),128))])),[[go,t.unref(P)]]),e.withPager&&c.value==="table"?(t.openBlock(),t.createElementBlock("div",Wa,[t.createVNode(zi,{"current-page":t.unref(z),"page-size":t.unref(M),total:t.unref(C),"page-sizes":t.unref(h),layout:R.value,small:e.pagerStyle==="simple","hide-on-single-page":t.unref(b),background:!0,onCurrentChange:ke,onSizeChange:Ve},null,8,["current-page","page-size","total","page-sizes","layout","small","hide-on-single-page"])])):t.createCommentVNode("",!0),t.createVNode(Mi,{modelValue:t.unref(W),"onUpdate:modelValue":x[3]||(x[3]=v=>t.isRef(W)?W.value=v:null),title:"列设置",width:"360px","append-to-body":""},{footer:t.withCtx(()=>[t.createVNode(G,{onClick:x[1]||(x[1]=v=>t.unref(Z)())},{default:t.withCtx(()=>[...x[9]||(x[9]=[t.createTextVNode("恢复默认",-1)])]),_:1}),t.createVNode(G,{type:"primary",onClick:x[2]||(x[2]=v=>W.value=!1)},{default:t.withCtx(()=>[...x[10]||(x[10]=[t.createTextVNode("完成",-1)])]),_:1})]),default:t.withCtx(()=>[t.createElementVNode("div",qa,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(F),v=>(t.openBlock(),t.createElementBlock("div",{key:v.key,class:"wd-datagrid__col-item"},[t.createVNode(Fi,{"model-value":v.visible,"onUpdate:modelValue":de=>t.unref(_)(v.key,de)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(v.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]),t.createElementVNode("div",Ha,[t.createVNode(G,{link:"",size:"small",disabled:v.order===0,onClick:de=>t.unref(U)(v.key,-1)},{default:t.withCtx(()=>[...x[7]||(x[7]=[t.createTextVNode("上移",-1)])]),_:1},8,["disabled","onClick"]),t.createVNode(G,{link:"",size:"small",disabled:v.order===t.unref(F).length-1,onClick:de=>t.unref(U)(v.key,1)},{default:t.withCtx(()=>[...x[8]||(x[8]=[t.createTextVNode("下移",-1)])]),_:1},8,["disabled","onClick"])])]))),128))])]),_:1},8,["modelValue"])],2)}}}),ye=(e,n)=>{const r=e.__vccOpts||e;for(const[o,a]of n)r[o]=a;return r},In=ye(Ka,[["__scopeId","data-v-9bb9077c"]]),le={filter:{type:String,default:""}},pe={headRefreshDatagrid:{type:[Boolean,String],default:!1}},Qe={api:{type:String,default:""},apiMethod:{type:String,default:"post"},apiParam:{type:Object,default:()=>({})}},ut={...Qe,apiMethod:{type:String,default:"get"},active:{type:Boolean,default:!0},dataSource:{type:Array,default:void 0},textProp:{type:String,default:"text"},valueProp:{type:String,default:"value"},addData:{type:Array,default:void 0},appendData:{type:Array,default:void 0}},Ja={class:"wd-editable-table"},Ga={key:0,class:"wd-editable-table__toolbar"},Xa={class:"wd-editable-table__toolbar-left"},Za={class:"wd-editable-table__toolbar-right"},Ya={key:0},Qa={key:5},va=t.defineComponent({name:"WdEditableTable",__name:"EditableTable",props:{...le,...pe,columns:{type:Array,default:()=>[]},modelValue:{type:Array,default:()=>[]},editMode:{type:String,default:"cell"},saveApi:{type:String,default:""},saveMethod:{type:String,default:"post"},defaultRow:{type:[Object,Function],default:void 0},rowKey:{type:String,default:"id"},withToolbar:{type:Boolean,default:!0},withAdd:{type:Boolean,default:!0},withSave:{type:Boolean,default:!0},withDelete:{type:Boolean,default:!0},withIndex:{type:Boolean,default:!1},withActions:{type:Boolean,default:!0},addButtonText:{type:String,default:"新增一行"},saveButtonText:{type:String,default:"批量保存"},actionWidth:{type:[String,Number],default:150},border:{type:Boolean,default:!0},stripe:{type:Boolean,default:!0},size:{type:String,default:"default"}},emits:["update:modelValue","change","save","row-add","row-remove","validate-fail","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.ref(),l=t.ref(!1),s=t.ref(o.modelValue.map(w=>({...w}))),c=t.reactive(new Set),d=t.reactive(new Set),u=new Map,p=t.ref("");function m(){p.value=""}t.watch(()=>o.modelValue,w=>{s.value=w.map(_=>({..._})),c.clear(),d.clear()},{deep:!1});const g=t.computed(()=>[...c].map(w=>s.value[w]).filter(Boolean));function k(w,_){return`${w}-${_}`}function S(w){return d.has(w)}function D(w){var U,Z;if(!w)return;const _=w!=null&&w.focus?w:(Z=(U=w==null?void 0:w.$el)==null?void 0:U.querySelector)==null?void 0:Z.call(U,"input");_!=null&&_.focus?_.focus():w!=null&&w.focus&&w.focus()}function h(w,_){var Z;if(_.formatter)return _.formatter(w,_);const U=w[_.prop];if(U==null||U==="")return"";if(_.editor==="select"){const se=(Z=_.options)==null?void 0:Z.find(ae=>ae.value===U);return se?se.text:String(U)}return String(U)}function b(w,_){if(o.editMode!=="cell")return;const U=_==null?void 0:_.property;if(!U)return;const Z=o.columns.find(se=>se.prop===U);!Z||Z.editable===!1||(p.value=k(s.value.indexOf(w),U))}function R(w){c.add(w),a("change",s.value)}function E(w){R(w),p.value=""}function y(w){R(w),p.value=""}function O(w){u.set(w,{...s.value[w]}),d.add(w)}function C(w){const _=T(s.value[w]);if(_){K.ElMessage.warning(_);return}d.delete(w),u.delete(w),c.add(w),a("change",s.value)}function P(w){const _=u.get(w);_&&(s.value[w]={..._}),u.delete(w),d.delete(w),c.delete(w)}function z(){const w=typeof o.defaultRow=="function"?o.defaultRow():{...o.defaultRow||{}};s.value.push({...w});const _=s.value.length-1;c.add(_),o.editMode==="row"&&(u.set(_,{...s.value[_]}),d.add(_)),a("row-add",s.value[_]),a("update:modelValue",s.value),a("change",s.value)}async function M(w){try{await K.ElMessageBox.confirm("确认删除该行?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}s.value.splice(w,1);const _=new Set;c.forEach(U=>{U<w?_.add(U):U>w&&_.add(U-1)}),c.clear(),_.forEach(U=>c.add(U)),d.clear(),a("row-remove",w),a("update:modelValue",s.value),a("change",s.value)}function T(w){for(const _ of o.columns){const U=w[_.prop];if(_.required&&(U==null||U===""))return`「${_.label}」不能为空`;if(_.validator){const Z=_.validator(U,w);if(Z)return Z}}}function $(){const w=[...c].sort((_,U)=>_-U);for(const _ of w){const U=s.value[_];if(!U)continue;const Z=T(U);if(Z)return K.ElMessage.warning(`第 ${_+1} 行:${Z}`),a("validate-fail",{index:_,row:U,error:Z}),!1}return!0}async function F(){if(!c.size){K.ElMessage.info("没有需要保存的修改");return}if(!$())return;const w=[...c].sort((_,U)=>_-U).map(_=>s.value[_]);if(!o.saveApi){c.clear(),d.clear(),a("update:modelValue",s.value),a("save",{rows:w,all:s.value}),K.ElMessage.success("保存成功");return}l.value=!0,a("apiBefore",{url:o.saveApi,rows:w});try{const _=o.saveMethod==="put"?await J.put(o.saveApi,{rows:w}):await J.post(o.saveApi,{rows:w});_.success?(c.clear(),d.clear(),a("apiSuccess",{data:_.data}),a("save",{rows:w,all:s.value,data:_.data}),a("update:modelValue",s.value),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter)):a("apiFail",{code:_.code,message:_.message})}catch(_){a("apiException",{error:_,message:_==null?void 0:_.message})}finally{a("apiAfter",{url:o.saveApi}),l.value=!1}}function A(){return $()}function W(){return g.value}return n({saveAll:F,validate:A,addRow:z,getDirtyRows:W,tableRef:i}),(w,_)=>{const U=t.resolveComponent("el-button"),Z=t.resolveComponent("el-table-column"),se=t.resolveComponent("el-input"),ae=t.resolveComponent("el-input-number"),Y=t.resolveComponent("el-option"),me=t.resolveComponent("el-select"),we=t.resolveComponent("el-date-picker"),ke=t.resolveComponent("el-empty"),Ve=t.resolveComponent("el-table");return t.openBlock(),t.createElementBlock("div",Ja,[e.withToolbar?(t.openBlock(),t.createElementBlock("div",Ga,[t.createElementVNode("div",Xa,[t.renderSlot(w.$slots,"toolbar",{dirtyRows:g.value,rows:s.value},()=>[e.withAdd?(t.openBlock(),t.createBlock(U,{key:0,type:"primary",icon:t.unref(X.Plus),onClick:z},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.addButtonText),1)]),_:1},8,["icon"])):t.createCommentVNode("",!0)],!0)]),t.createElementVNode("div",Za,[e.withSave?(t.openBlock(),t.createBlock(U,{key:0,type:"success",loading:l.value,disabled:!g.value.length,onClick:F},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.saveButtonText),1),g.value.length?(t.openBlock(),t.createElementBlock("span",Ya,"("+t.toDisplayString(g.value.length)+")",1)):t.createCommentVNode("",!0)]),_:1},8,["loading","disabled"])):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"actions",{dirtyRows:g.value,rows:s.value},void 0,!0)])])):t.createCommentVNode("",!0),t.createVNode(Ve,{ref_key:"tableRef",ref:i,data:s.value,border:e.border,stripe:e.stripe,size:e.size,"row-key":e.rowKey,onCellClick:b},{empty:t.withCtx(()=>[t.renderSlot(w.$slots,"empty",{},()=>[t.createVNode(ke,{description:"暂无数据","image-size":80})],!0)]),default:t.withCtx(()=>[e.withIndex?(t.openBlock(),t.createBlock(Z,{key:0,type:"index",label:"序号",width:"60",align:"center"})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.columns,B=>(t.openBlock(),t.createBlock(Z,{key:B.prop,prop:B.prop,label:B.label,width:B.width,"min-width":B.minWidth,align:B.align||"left",fixed:B.fixed},{default:t.withCtx(({row:j,$index:q})=>[e.editMode==="row"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[S(q)&&B.editor==="input"?(t.openBlock(),t.createBlock(se,{key:0,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):S(q)&&B.editor==="number"?(t.openBlock(),t.createBlock(ae,{key:1,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,min:B.min,max:B.max,precision:B.precision,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","min","max","precision","onChange"])):S(q)&&B.editor==="select"?(t.openBlock(),t.createBlock(me,{key:2,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(B.options||[],I=>(t.openBlock(),t.createBlock(Y,{key:I.value,label:I.text,value:I.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","onChange"])):S(q)&&B.editor==="date"?(t.openBlock(),t.createBlock(we,{key:3,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,type:"date","value-format":"YYYY-MM-DD",placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):S(q)?t.renderSlot(w.$slots,`edit-${B.prop}`,{row:j,index:q,column:B},()=>[t.createVNode(se,{modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])],!0,4):(t.openBlock(),t.createElementBlock("span",Qa,t.toDisplayString(h(j,B)),1))],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[p.value===k(q,B.prop)&&B.editor==="input"?(t.openBlock(),t.createBlock(se,{key:0,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,ref_for:!0,ref:D,placeholder:B.placeholder,onChange:I=>R(q),onBlur:m},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):p.value===k(q,B.prop)&&B.editor==="number"?(t.openBlock(),t.createBlock(ae,{key:1,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,ref_for:!0,ref:D,min:B.min,max:B.max,precision:B.precision,onChange:I=>R(q),onBlur:m},null,8,["modelValue","onUpdate:modelValue","min","max","precision","onChange"])):p.value===k(q,B.prop)&&B.editor==="select"?(t.openBlock(),t.createBlock(me,{key:2,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,ref_for:!0,ref:D,placeholder:B.placeholder,onChange:I=>E(q),onBlur:m},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(B.options||[],I=>(t.openBlock(),t.createBlock(Y,{key:I.value,label:I.text,value:I.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","onChange"])):p.value===k(q,B.prop)&&B.editor==="date"?(t.openBlock(),t.createBlock(we,{key:3,modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,type:"date","value-format":"YYYY-MM-DD",placeholder:B.placeholder,onChange:I=>y(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])):p.value===k(q,B.prop)?t.renderSlot(w.$slots,`edit-${B.prop}`,{row:j,index:q,column:B},()=>[t.createVNode(se,{modelValue:j[B.prop],"onUpdate:modelValue":I=>j[B.prop]=I,placeholder:B.placeholder,onChange:I=>R(q)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])],!0,4):(t.openBlock(),t.createElementBlock("span",{key:5,class:t.normalizeClass(["wd-editable-table__cell",{"is-editable":B.editable!==!1}])},t.toDisplayString(h(j,B)),3))],64))]),_:2},1032,["prop","label","width","min-width","align","fixed"]))),128)),e.withActions?(t.openBlock(),t.createBlock(Z,{key:1,label:"操作",width:e.actionWidth,align:"center",fixed:"right"},{default:t.withCtx(({row:B,$index:j})=>[e.editMode==="row"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[S(j)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(U,{link:"",type:"primary",onClick:q=>C(j)},{default:t.withCtx(()=>[..._[0]||(_[0]=[t.createTextVNode("保存",-1)])]),_:1},8,["onClick"]),t.createVNode(U,{link:"",onClick:q=>P(j)},{default:t.withCtx(()=>[..._[1]||(_[1]=[t.createTextVNode("取消",-1)])]),_:1},8,["onClick"])],64)):(t.openBlock(),t.createBlock(U,{key:1,link:"",type:"primary",onClick:q=>O(j)},{default:t.withCtx(()=>[..._[2]||(_[2]=[t.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]))],64)):t.createCommentVNode("",!0),e.withDelete?(t.openBlock(),t.createBlock(U,{key:1,link:"",type:"danger",onClick:q=>M(j)},{default:t.withCtx(()=>[..._[3]||(_[3]=[t.createTextVNode("删除",-1)])]),_:1},8,["onClick"])):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"row-actions",{row:B,index:j},void 0,!0)]),_:3},8,["width"])):t.createCommentVNode("",!0)]),_:3},8,["data","border","stripe","size","row-key"])])}}}),Wn=ye(va,[["__scopeId","data-v-b7462863"]]),qn=Symbol("wdContainer");function ei(e){t.provide(qn,e)}function ti(){return t.inject(qn,void 0)}const ni={class:"wd-data-form"},oi={key:0,class:"wd-data-form__footer"},Hn=ye(t.defineComponent({name:"WdDataForm",inheritAttrs:!1,__name:"DataForm",props:{mode:{type:String,default:"create"},api:{type:String,default:""},apiMethod:{type:String,default:"get"},apiParam:{type:Object,default:()=>({})},submitApi:{type:String,default:""},submitMethod:{type:String,default:"post"},submitKeys:{type:[String,Array],default:void 0},submitExcludeKeys:{type:[String,Array],default:void 0},active:{type:Boolean,default:!1},confirmLeave:{type:Boolean,default:!0},withActions:{type:Boolean,default:!0},actionConfig:{type:Object,default:()=>({})},headCloseDrawer:{type:[Boolean,String],default:!0},headRefreshDatagrid:{type:[Boolean,String],default:!1},keepFormButton:{type:Boolean,default:!0},rules:{type:Object,default:()=>({})},labelWidth:{type:[String,Number],default:"100px"},labelPosition:{type:String,default:"right"},inline:{type:Boolean,default:!1},filter:{type:String,default:""},data:{type:Object,default:void 0}},emits:["submit-success","submit-fail","load-success","change","close","apiBefore","apiAfter"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.ref(null),l=t.ref(!1),s=t.reactive({}),c=t.ref({}),d=t.computed(()=>o.mode!=="edit"),u=t.computed(()=>ue({resetText:"重置",submitText:"保存",continueText:"保存并继续",closeText:"关闭",showReset:!0,showContinue:!0},o.actionConfig||{})),p=t.computed(()=>u.value.closeText),m=t.getCurrentInstance();t.provide("wdDataForm",{model:s,formRef:i});function g(T){Object.keys(s).forEach($=>delete s[$]),T&&typeof T=="object"&&Object.assign(s,JSON.parse(JSON.stringify(T))),c.value=JSON.parse(JSON.stringify(s))}async function k(T){if(!o.api){g(o.data||{});return}l.value=!0,a("apiBefore",{type:"load"});try{const $={...o.apiParam,...(T==null?void 0:T.apiParam)||{}},F=o.apiMethod==="get"?await J.get(o.api,$):await J.post(o.api,$);F.success&&(g(F.data||{}),a("load-success",F.data))}finally{l.value=!1,a("apiAfter",{type:"load"})}}function S(){return{...s}}function D(){const T=S(),$=w=>w==null?null:Array.isArray(w)?w:String(w).split(",").map(_=>_.trim()).filter(Boolean),F=$(o.submitKeys),A=$(o.submitExcludeKeys);let W=T;return F&&(W=F.reduce((w,_)=>(w[_]=T[_],w),{})),A&&(W=Object.keys(W).reduce((w,_)=>(A.includes(_)||(w[_]=W[_]),w),{})),W}async function h(){if(!i.value)return!0;try{return await i.value.validate(),!0}catch{return!1}}async function b(T=!1){if(!await h()){K.ElMessage.warning("请完善表单必填项");return}if(!o.submitApi){a("submit-success",S()),R(S(),T);return}l.value=!0,a("apiBefore",{type:"submit"});try{const F=D(),A=o.submitMethod==="put"?await J.put(o.submitApi,F):await J.post(o.submitApi,F);A.success?(a("submit-success",A.data),R(A.data,T)):a("submit-fail",A)}finally{l.value=!1,a("apiAfter",{type:"submit"})}}function R(T,$){o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter),$&&d.value?E(!0):o.headCloseDrawer&&(P!=null&&P.requestClose?P.requestClose("submit"):a("close",{reason:"submit"})),c.value=JSON.parse(JSON.stringify(s))}function E(T=!1){var $,F,A,W;d.value||T?(Object.keys(s).forEach(w=>delete s[w]),(F=($=i.value)==null?void 0:$.clearValidate)==null||F.call($)):(g(c.value),(W=(A=i.value)==null?void 0:A.clearValidate)==null||W.call(A))}function y(){return JSON.stringify(s)!==JSON.stringify(c.value)}function O(){if(P!=null&&P.requestClose){P.requestClose("manual");return}if(o.confirmLeave&&y()){K.ElMessageBox.confirm("有未保存的修改,确认离开?","提示",{confirmButtonText:"确认离开",cancelButtonText:"继续编辑",type:"warning"}).then(()=>a("close",{reason:"manual"})).catch(()=>{});return}a("close",{reason:"manual"})}async function C(){if(!o.confirmLeave||!y())return!0;try{return await K.ElMessageBox.confirm("有未保存的修改,确认离开?","提示",{confirmButtonText:"确认离开",cancelButtonText:"继续编辑",type:"warning"}),!0}catch{return!1}}t.watch(s,()=>{a("change",S())},{deep:!0});const P=ti();let z=null;const M=t.computed(()=>o.data||(P==null?void 0:P.data));return t.onMounted(()=>{var $,F;const T=m==null?void 0:m.appContext;if(T){T.config.globalProperties.model=s;const A=(F=($=T.app)==null?void 0:$.config)==null?void 0:F.globalProperties;A&&(A.model=s)}P!=null&&P.addBeforeClose&&(z=P.addBeforeClose(async()=>{if(!o.confirmLeave||!y())return!0;try{return await K.ElMessageBox.confirm("有未保存的修改,确认离开?","提示",{confirmButtonText:"确认离开",cancelButtonText:"继续编辑",type:"warning"}),!0}catch{return!1}})),o.mode==="edit"?(M.value&&g(M.value),o.active&&o.api&&k()):M.value&&g(M.value)}),t.onBeforeUnmount(()=>{var $,F;z==null||z();const T=m==null?void 0:m.appContext;((F=($=T==null?void 0:T.config)==null?void 0:$.globalProperties)==null?void 0:F.model)===s&&delete T.config.globalProperties.model}),n({requestApi:k,submitForm:b,resetForm:E,validate:h,getFormData:S,isDirty:y,beforeLeave:C,fillForm:g,formRef:i}),(T,$)=>{const F=t.resolveComponent("el-button"),A=t.resolveComponent("el-form"),W=t.resolveDirective("loading");return t.openBlock(),t.createElementBlock("div",ni,[t.withDirectives((t.openBlock(),t.createBlock(A,t.mergeProps({ref_key:"formRef",ref:i,model:s,rules:e.rules,"label-width":e.labelWidth,"label-position":e.labelPosition,inline:e.inline,disabled:l.value},T.$attrs,{onSubmit:$[2]||($[2]=t.withModifiers(()=>{},["prevent"]))}),{default:t.withCtx(()=>[t.renderSlot(T.$slots,"default",{model:s,form:i.value},void 0,!0),e.withActions?(t.openBlock(),t.createElementBlock("div",oi,[t.renderSlot(T.$slots,"footer",{submit:b,reset:E,loading:l.value},()=>[t.createVNode(F,{onClick:O},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(p.value),1)]),_:1}),u.value.showReset?(t.openBlock(),t.createBlock(F,{key:0,onClick:E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.value.resetText),1)]),_:1})):t.createCommentVNode("",!0),d.value&&e.keepFormButton&&u.value.showContinue?(t.openBlock(),t.createBlock(F,{key:1,loading:l.value,onClick:$[0]||($[0]=w=>b(!0))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.value.continueText),1)]),_:1},8,["loading"])):t.createCommentVNode("",!0),t.createVNode(F,{type:"primary",loading:l.value,onClick:$[1]||($[1]=w=>b(!1))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.value.submitText),1)]),_:1},8,["loading"])],!0)])):t.createCommentVNode("",!0)]),_:3},16,["model","rules","label-width","label-position","inline","disabled"])),[[W,l.value]])])}}}),[["__scopeId","data-v-7db7a261"]]);function Lt(e){const n=t.ref(!1);async function r(o){const a=e.getApi();if(!a)return!1;const i=e.getMethod(),l={...e.getParam(),...o||{}},s=e.buttonLoading?e.buttonLoading():!0,c=e.getReqOptions?e.getReqOptions():{},d={type:"apiBefore",url:a,method:i,params:l};e.emit("apiBefore",d),s&&(n.value=!0);try{const u=i==="get"||i==="delete"?await J.request({url:a,method:i,params:l},c):await J.request({url:a,method:i,data:l},c);if(u.success){e.emit("apiSuccess",{data:u.data,code:u.code,message:u.message});const p=e.getHeadRefresh();return p&&Ce(p,e.getFilter()),e.emit("apiAfter",{data:u.data,code:u.code}),!0}return e.emit("apiFail",{data:null,code:u.code,message:u.message}),e.emit("apiAfter",{code:u.code,message:u.message}),!1}catch(u){return e.emit("apiException",{error:u,message:u==null?void 0:u.message}),e.emit("apiAfter",{error:u}),!1}finally{n.value=!1}}return{loading:n,doRequest:r}}const Kn=t.defineComponent({name:"WdApiButton",inheritAttrs:!1,__name:"ApiButton",props:{...le,...pe,...Qe,buttonLoading:{type:Boolean,default:!0},pageLoading:{type:Boolean,default:!1}},emits:["click","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,{loading:a,doRequest:i}=Lt({getApi:()=>r.api,getMethod:()=>r.apiMethod,getParam:()=>r.apiParam,getFilter:()=>r.filter,getHeadRefresh:()=>r.headRefreshDatagrid,emit:o,buttonLoading:()=>r.buttonLoading,getReqOptions:()=>({showLoading:r.pageLoading})});async function l(s){o("click",s),await i()}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{loading:t.unref(a),onClick:l}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16,["loading"])}}}),Jn=t.defineComponent({name:"WdConfirmButton",inheritAttrs:!1,__name:"ConfirmButton",props:{...le,...pe,...Qe,confirmText:{type:String,default:"确认执行该操作?"},cancelText:{type:String,default:"取消"},confirmTitle:{type:String,default:"提示"},buttonLoading:{type:Boolean,default:!0},pageLoading:{type:Boolean,default:!1}},emits:["click","confirm","cancel","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,{loading:a,doRequest:i}=Lt({getApi:()=>r.api,getMethod:()=>r.apiMethod,getParam:()=>r.apiParam,getFilter:()=>r.filter,getHeadRefresh:()=>r.headRefreshDatagrid,emit:o,buttonLoading:()=>r.buttonLoading,getReqOptions:()=>({showLoading:r.pageLoading})});async function l(s){o("click",s);try{await K.ElMessageBox.confirm(r.confirmText,r.confirmTitle,{confirmButtonText:"确定",cancelButtonText:r.cancelText,type:"warning"})}catch{o("cancel");return}o("confirm"),await i()}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{loading:t.unref(a),onClick:l}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16,["loading"])}}}),Gn=t.defineComponent({name:"WdPromptButton",inheritAttrs:!1,__name:"PromptButton",props:{...le,...pe,...Qe,promptTitle:{type:String,default:"请输入"},promptPlaceholder:{type:String,default:"请输入内容"},paramKey:{type:String,default:"value"},promptDefault:{type:String,default:""},buttonLoading:{type:Boolean,default:!0},pageLoading:{type:Boolean,default:!1}},emits:["click","prompt","cancel","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,{loading:a,doRequest:i}=Lt({getApi:()=>r.api,getMethod:()=>r.apiMethod,getParam:()=>r.apiParam,getFilter:()=>r.filter,getHeadRefresh:()=>r.headRefreshDatagrid,emit:o,buttonLoading:()=>r.buttonLoading,getReqOptions:()=>({showLoading:r.pageLoading})});async function l(s){o("click",s);let c;try{c=(await K.ElMessageBox.prompt(r.promptTitle,r.promptTitle,{confirmButtonText:"确定",cancelButtonText:"取消",inputPlaceholder:r.promptPlaceholder,inputValue:r.promptDefault})).value}catch{o("cancel");return}o("prompt",c),await i({[r.paramKey]:c})}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{loading:t.unref(a),onClick:l}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16,["loading"])}}}),Xn=t.defineComponent({name:"WdRouteButton",inheritAttrs:!1,__name:"RouteButton",props:{...le,routeName:{type:String,default:""},routePath:{type:String,default:""},params:{type:Object,default:()=>({})},query:{type:Object,default:()=>({})},target:{type:String,default:"_self"}},emits:["click"],setup(e,{emit:n}){const r=e,o=n,a=t.getCurrentInstance();function i(s){var d,u,p,m;if(o("click",s),!r.routeName&&!r.routePath)return;if(r.target==="_blank"){const g=l();g&&window.open(g,"_blank");return}const c=((d=a==null?void 0:a.proxy)==null?void 0:d.$router)||((m=(p=(u=a==null?void 0:a.appContext)==null?void 0:u.config)==null?void 0:p.globalProperties)==null?void 0:m.$router);c?r.routeName?c.push({name:r.routeName,params:r.params,query:r.query}):c.push({path:r.routePath,query:r.query}):r.routePath&&(window.location.href=l())}function l(){const s=r.routePath||"",c=new URLSearchParams(r.query).toString();return c?`${s}?${c}`:s}return(s,c)=>{const d=t.resolveComponent("el-button");return t.openBlock(),t.createBlock(d,t.mergeProps(s.$attrs,{onClick:i}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},16)}}}),Zn=t.defineComponent({name:"WdTipsButton",inheritAttrs:!1,__name:"TipsButton",props:{...le,tips:{type:String,default:""},tipsType:{type:String,default:"dark"},placement:{type:String,default:"top"}},emits:["click"],setup(e,{emit:n}){const r=n;function o(a){r("click",a)}return(a,i)=>{const l=t.resolveComponent("el-button"),s=t.resolveComponent("el-tooltip");return e.tips?(t.openBlock(),t.createBlock(s,{key:0,content:e.tips,effect:e.tipsType,placement:e.placement},{default:t.withCtx(()=>[t.createVNode(l,t.mergeProps(a.$attrs,{onClick:o}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16)]),_:3},8,["content","effect","placement"])):(t.openBlock(),t.createBlock(l,t.mergeProps({key:1},a.$attrs,{onClick:o}),{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default")]),_:3},16))}}});function Yn(e){const{props:n,emit:r}=e,o=t.ref(!!n.modelValue),a=new Set;function i(g){o.value=g,r("update:modelValue",g)}function l(){i(!0),r("open")}async function s(g="request"){g!=="submit"&&!await d()||(i(!1),m(g))}function c(g){return a.add(g),()=>a.delete(g)}async function d(){for(const g of a)if(!await g())return!1;return!0}async function u(g){if(await d()){if(n.confirmMessage)try{await K.ElMessageBox.confirm(n.confirmMessage,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}g(),m("manual")}}function p(){r("close")}function m(g){r("confirm",{reason:g}),n.headRefreshDatagrid&&Ce(n.headRefreshDatagrid,n.filter)}return ei({data:n.data,requestClose:s,addBeforeClose:c}),{visible:o,open:l,requestClose:s,addBeforeClose:c,handleBeforeClose:u,onClosed:p}}const ri=["src"],ai=t.defineComponent({name:"WdDrawer",inheritAttrs:!1,__name:"Drawer",props:{...le,...pe,modelValue:{type:Boolean,default:void 0},title:{type:String,default:""},url:{type:String,default:""},size:{type:[String,Number],default:"50%"},direction:{type:String,default:"rtl"},confirmMessage:{type:String,default:""},data:{type:Object,default:void 0}},emits:["update:modelValue","open","close","confirm"],setup(e,{expose:n,emit:r}){const o=e,a=r,{visible:i,requestClose:l,handleBeforeClose:s,onClosed:c}=Yn({props:o,emit:a}),d=t.computed(()=>typeof o.size=="number"?`${o.size}px`:o.size),u=t.computed(()=>{if(!o.url)return"";if(!o.data)return o.url;const p=new URLSearchParams(Object.entries(o.data).reduce((m,[g,k])=>(k!=null&&(m[g]=String(k)),m),{})).toString();return p?o.url+(o.url.includes("?")?"&":"?")+p:o.url});return n({open:()=>i.value=!0}),(p,m)=>{const g=t.resolveComponent("el-drawer");return t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:t.unref(i),"onUpdate:modelValue":m[0]||(m[0]=k=>t.isRef(i)?i.value=k:null),title:e.title,size:d.value,direction:e.direction,"before-close":t.unref(s)},p.$attrs,{onClosed:t.unref(c)}),t.createSlots({default:t.withCtx(()=>[e.url?(t.openBlock(),t.createElementBlock("iframe",{key:0,src:u.value,class:"wd-container__iframe",frameborder:"0"},null,8,ri)):t.renderSlot(p.$slots,"default",{},void 0,!0,1)]),_:2},[p.$slots.footer?{name:"footer",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"footer",{close:t.unref(l)},void 0,!0)]),key:"0"}:void 0]),1040,["modelValue","title","size","direction","before-close","onClosed"])}}}),Ut=ye(ai,[["__scopeId","data-v-f240d935"]]),Qn=t.defineComponent({name:"WdDrawerButton",inheritAttrs:!1,__name:"DrawerButton",props:{...le,...pe,text:{type:String,default:""},drawerTitle:{type:String,default:""},drawerUrl:{type:String,default:""},drawerData:{type:Object,default:()=>({})},size:{type:[String,Number],default:"50%"},direction:{type:String,default:"rtl"}},emits:["open","close","confirm"],setup(e,{emit:n}){const r=n,o=t.ref(!1),a=t.ref(!1);async function i(){o.value=!0,await t.nextTick(),a.value=!0,r("open")}function l(){a.value=!1}function s(){r("close")}function c(d){r("confirm",d)}return(d,u)=>{const p=t.resolveComponent("el-button");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(p,t.mergeProps(d.$attrs,{onClick:i}),{default:t.withCtx(()=>[t.renderSlot(d.$slots,"button",{},()=>[t.createTextVNode(t.toDisplayString(e.text),1)])]),_:3},16),o.value?(t.openBlock(),t.createBlock(Ut,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),title:e.drawerTitle,size:e.size,direction:e.direction,url:e.drawerUrl,data:e.drawerData,filter:d.filter,"head-refresh-datagrid":d.headRefreshDatagrid,onClose:s,onConfirm:c},t.createSlots({default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{data:e.drawerData,close:l})]),_:2},[d.$slots.footer?{name:"footer",fn:t.withCtx(m=>[t.renderSlot(d.$slots,"footer",t.normalizeProps(t.guardReactiveProps(m)))]),key:"0"}:void 0]),1032,["modelValue","title","size","direction","url","data","filter","head-refresh-datagrid"])):t.createCommentVNode("",!0)],64)}}}),ii=["src"],li=t.defineComponent({name:"WdDialog",inheritAttrs:!1,__name:"Dialog",props:{...le,...pe,modelValue:{type:Boolean,default:void 0},title:{type:String,default:""},url:{type:String,default:""},size:{type:[String,Number],default:"50%"},confirmMessage:{type:String,default:""},data:{type:Object,default:void 0}},emits:["update:modelValue","open","close","confirm"],setup(e,{expose:n,emit:r}){const o=e,a=r,{visible:i,requestClose:l,handleBeforeClose:s,onClosed:c}=Yn({props:o,emit:a}),d=t.computed(()=>typeof o.size=="number"?`${o.size}px`:o.size),u=t.computed(()=>{if(!o.url)return"";if(!o.data)return o.url;const p=new URLSearchParams(Object.entries(o.data).reduce((m,[g,k])=>(k!=null&&(m[g]=String(k)),m),{})).toString();return p?o.url+(o.url.includes("?")?"&":"?")+p:o.url});return n({open:()=>i.value=!0}),(p,m)=>{const g=t.resolveComponent("el-dialog");return t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:t.unref(i),"onUpdate:modelValue":m[0]||(m[0]=k=>t.isRef(i)?i.value=k:null),title:e.title,width:d.value,"before-close":t.unref(s)},p.$attrs,{onClosed:t.unref(c)}),t.createSlots({default:t.withCtx(()=>[e.url?(t.openBlock(),t.createElementBlock("iframe",{key:0,src:u.value,class:"wd-container__iframe",frameborder:"0"},null,8,ii)):t.renderSlot(p.$slots,"default",{},void 0,!0,1)]),_:2},[p.$slots.footer?{name:"footer",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"footer",{close:t.unref(l)},void 0,!0)]),key:"0"}:void 0]),1040,["modelValue","title","width","before-close","onClosed"])}}}),zt=ye(li,[["__scopeId","data-v-6401686c"]]),vn=t.defineComponent({name:"WdDialogButton",inheritAttrs:!1,__name:"DialogButton",props:{...le,...pe,text:{type:String,default:""},dialogTitle:{type:String,default:""},dialogUrl:{type:String,default:""},dialogData:{type:Object,default:()=>({})},size:{type:[String,Number],default:"50%"}},emits:["open","close","confirm"],setup(e,{emit:n}){const r=n,o=t.ref(!1),a=t.ref(!1);async function i(){o.value=!0,await t.nextTick(),a.value=!0,r("open")}function l(){a.value=!1}function s(){r("close")}function c(d){r("confirm",d)}return(d,u)=>{const p=t.resolveComponent("el-button");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(p,t.mergeProps(d.$attrs,{onClick:i}),{default:t.withCtx(()=>[t.renderSlot(d.$slots,"button",{},()=>[t.createTextVNode(t.toDisplayString(e.text),1)])]),_:3},16),o.value?(t.openBlock(),t.createBlock(zt,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),title:e.dialogTitle,size:e.size,url:e.dialogUrl,data:e.dialogData,filter:d.filter,"head-refresh-datagrid":d.headRefreshDatagrid,onClose:s,onConfirm:c},t.createSlots({default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{data:e.dialogData,close:l})]),_:2},[d.$slots.footer?{name:"footer",fn:t.withCtx(m=>[t.renderSlot(d.$slots,"footer",t.normalizeProps(t.guardReactiveProps(m)))]),key:"0"}:void 0]),1032,["modelValue","title","size","url","data","filter","head-refresh-datagrid"])):t.createCommentVNode("",!0)],64)}}}),si=["src"],eo=ye(t.defineComponent({name:"WdIframe",__name:"Iframe",props:{src:{type:String,default:""},height:{type:[String,Number],default:"480px"},autoHeight:{type:Boolean,default:!1}},emits:["load","message"],setup(e,{emit:n}){const r=e,o=n,a=t.ref(null),i=t.ref(null),l=t.computed(()=>r.autoHeight&&i.value?{height:`${i.value}px`}:{height:typeof r.height=="number"?`${r.height}px`:r.height});function s(){o("load")}function c(d){const u=d.data;r.autoHeight&&u&&typeof u=="object"&&u.type==="wd-iframe-height"&&(i.value=Number(u.height)||null),o("message",u)}return t.onMounted(()=>{window.addEventListener("message",c)}),t.onBeforeUnmount(()=>{window.removeEventListener("message",c)}),(d,u)=>(t.openBlock(),t.createElementBlock("iframe",{ref_key:"iframeRef",ref:a,src:e.src,class:"wd-iframe",style:t.normalizeStyle(l.value),frameborder:"0",onLoad:s},null,44,si))}}),[["__scopeId","data-v-6b5e31a2"]]),ci={class:"wd-search-panel"},di={key:0,class:"wd-search-panel__actions"},ui=t.defineComponent({name:"WdSearchPanel",inheritAttrs:!1,__name:"SearchPanel",props:{...le,...pe,collapsible:{type:Boolean,default:!1},expand:{type:Boolean,default:void 0},defaultExpand:{type:Boolean,default:!0},withActions:{type:Boolean,default:!0},searchText:{type:String,default:"搜索"},resetText:{type:String,default:"重置"},expandText:{type:String,default:"展开"},collapseText:{type:String,default:"收起"},labelWidth:{type:[String,Number],default:"80px"}},emits:["search","reset","expand-change","update:expand"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.ref(null),l=t.ref(!1),s=t.reactive({}),c=t.ref(o.defaultExpand),d=t.computed(()=>o.collapsible&&!(o.expand!==void 0?o.expand:c.value));function u(){const b=d.value;c.value=b,a("update:expand",b),a("expand-change",b)}function p(){return{...s}}function m(){const b=p();a("search",b),o.headRefreshDatagrid&&Mn(b,o.headRefreshDatagrid,o.filter)}function g(){var b,R;Object.keys(s).forEach(E=>delete s[E]),(R=(b=i.value)==null?void 0:b.clearValidate)==null||R.call(b),a("reset"),o.headRefreshDatagrid&&jn(o.headRefreshDatagrid,o.filter)}function k(){c.value=!0,a("update:expand",!0)}function S(){c.value=!1,a("update:expand",!1)}function D(){g()}const h=t.getCurrentInstance();return t.onMounted(()=>{const b=h==null?void 0:h.appContext;b&&(b.config.globalProperties.q=s)}),t.onBeforeUnmount(()=>{var R,E;const b=h==null?void 0:h.appContext;((E=(R=b==null?void 0:b.config)==null?void 0:R.globalProperties)==null?void 0:E.q)===s&&delete b.config.globalProperties.q}),n({expand:k,collapse:S,resetForm:D,getSearchParams:p}),(b,R)=>{const E=t.resolveComponent("el-button"),y=t.resolveComponent("el-form"),O=t.resolveDirective("loading");return t.openBlock(),t.createElementBlock("div",ci,[t.withDirectives((t.openBlock(),t.createBlock(y,t.mergeProps({ref_key:"formRef",ref:i,model:s,inline:!0,"label-width":e.labelWidth},b.$attrs,{onSubmit:R[0]||(R[0]=t.withModifiers(()=>{},["prevent"]))}),{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["wd-search-panel__fields",{"is-collapsed":d.value}])},[t.renderSlot(b.$slots,"default",t.normalizeProps(t.guardReactiveProps({model:s})),void 0,!0)],2),e.withActions?(t.openBlock(),t.createElementBlock("div",di,[t.renderSlot(b.$slots,"actions",{search:m,reset:g},()=>[t.createVNode(E,{type:"primary",loading:l.value,onClick:m},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.searchText),1)]),_:1},8,["loading"]),t.createVNode(E,{onClick:g},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.resetText),1)]),_:1}),e.collapsible?(t.openBlock(),t.createBlock(E,{key:0,link:"",type:"primary",onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.value?e.expandText:e.collapseText),1)]),_:1})):t.createCommentVNode("",!0)],!0)])):t.createCommentVNode("",!0)]),_:3},16,["model","label-width"])),[[O,l.value]])])}}}),to=ye(ui,[["__scopeId","data-v-1a67fc1d"]]);function ft(e){const n=t.shallowRef([]),r=t.ref(!1),o=t.ref(!1);function a(c){const d=e.textProp.value,u=e.valueProp.value;return(c||[]).map(p=>p&&typeof p=="object"?{text:p[d],value:p[u],raw:p}:{text:String(p),value:p,raw:{[d]:String(p),[u]:p}})}async function i(c){var d;if(e.dataSource.value){n.value=l(a(e.dataSource.value));return}if(!e.api.value){n.value=l([]);return}r.value=!0,e.emit("apiBefore",{url:e.api.value});try{const u={...e.apiParam.value,...c||{}},p=e.apiMethod.value==="get"?await J.get(e.api.value,u):await J.post(e.api.value,u);if(p.success){const m=Array.isArray(p.data)?p.data:((d=p.data)==null?void 0:d.list)||[];n.value=l(a(m)),e.emit("apiSuccess",{data:p.data})}else e.emit("apiFail",{code:p.code,message:p.message})}catch(u){e.emit("apiFail",{error:u,message:u==null?void 0:u.message})}finally{r.value=!1,e.emit("apiAfter"),o.value=!0}}function l(c){const d=a(e.addData.value||[]),u=a(e.appendData.value||[]);return[...d,...c,...u]}async function s(c,d="keyword"){e.api.value&&await i({[d]:c})}return t.onMounted(()=>{e.active.value?i():(e.dataSource.value||!e.api.value)&&(n.value=l(a(e.dataSource.value||[])))}),t.watch(()=>[e.api.value,e.dataSource.value],()=>{(e.active.value||e.dataSource.value)&&i()}),{options:n,loading:r,fetchOptions:i,remoteSearch:s,loaded:o}}const no=t.defineComponent({name:"WdSelect",inheritAttrs:!1,__name:"Select",props:{...ut,modelValue:{type:[String,Number,Boolean,Array],default:void 0},multiple:{type:Boolean,default:!1},remote:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},keywordKey:{type:String,default:"keyword"}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l,remoteSearch:s}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),c=t.computed({get:()=>r.modelValue,set:p=>o("update:modelValue",p)});function d(p){o("change",p)}function u(p){r.remote&&s(p,r.keywordKey)}return(p,m)=>{const g=t.resolveComponent("el-option"),k=t.resolveComponent("el-select"),S=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(k,t.mergeProps({modelValue:c.value,"onUpdate:modelValue":m[0]||(m[0]=D=>c.value=D),multiple:e.multiple,filterable:e.remote||e.filterable,remote:e.remote,"remote-method":u},p.$attrs,{onChange:d}),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),D=>(t.openBlock(),t.createBlock(g,{key:String(D.value),label:D.text,value:D.value},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{option:D.raw,text:D.text,value:D.value},()=>[t.createElementVNode("span",null,t.toDisplayString(D.text),1)])]),_:2},1032,["label","value"]))),128))]),_:3},16,["modelValue","multiple","filterable","remote"])),[[S,t.unref(l)]])}}}),oo=t.defineComponent({name:"WdAutoComplete",inheritAttrs:!1,__name:"AutoComplete",props:{...ut,modelValue:{type:String,default:""},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"text"},keywordKey:{type:String,default:"keyword"}},emits:["update:modelValue","change","select","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l,remoteSearch:s,fetchOptions:c}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),d=t.computed({get:()=>r.modelValue,set:g=>o("update:modelValue",g)});async function u(g,k){r.api&&r.active?await s(g,r.keywordKey):i.value.length||await c();const S=i.value.filter(D=>g?String(D.text).toLowerCase().includes(String(g).toLowerCase()):!0);k(S)}function p(g){o("update:modelValue",g[r.valueKey]),o("select",g.raw),o("change",g[r.valueKey])}function m(g){o("change",g)}return(g,k)=>{const S=t.resolveComponent("el-autocomplete"),D=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(S,t.mergeProps({modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=h=>d.value=h),"fetch-suggestions":u,"value-key":e.labelKey},g.$attrs,{onSelect:p,onChange:m}),{default:t.withCtx(({item:h})=>[t.renderSlot(g.$slots,"default",{option:h.raw,text:h[e.valueKey],value:h[e.valueKey]},()=>[t.createElementVNode("span",null,t.toDisplayString(h[e.labelKey]),1)])]),_:3},16,["modelValue","value-key"])),[[D,t.unref(l)]])}}}),ro=t.defineComponent({name:"WdCheckboxList",inheritAttrs:!1,__name:"CheckboxList",props:{...ut,modelValue:{type:Array,default:()=>[]},buttonStyle:{type:Boolean,default:!1}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),s=t.computed({get:()=>r.modelValue,set:d=>o("update:modelValue",d)});function c(d){o("change",d)}return(d,u)=>{const p=t.resolveComponent("el-checkbox-button"),m=t.resolveComponent("el-checkbox"),g=t.resolveComponent("el-checkbox-group"),k=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=S=>s.value=S)},d.$attrs,{onChange:c}),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:String(S.value)},[e.buttonStyle?(t.openBlock(),t.createBlock(p,{key:0,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"])):(t.openBlock(),t.createBlock(m,{key:1,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"]))],64))),128))]),_:3},16,["modelValue"])),[[k,t.unref(l)]])}}}),ao=t.defineComponent({name:"WdRadioList",inheritAttrs:!1,__name:"RadioList",props:{...ut,modelValue:{type:[String,Number,Boolean],default:void 0},buttonStyle:{type:Boolean,default:!1}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.toRefs(r),{options:i,loading:l}=ft({api:a.api,apiMethod:a.apiMethod,apiParam:a.apiParam,active:a.active,dataSource:a.dataSource,textProp:a.textProp,valueProp:a.valueProp,addData:a.addData,appendData:a.appendData,emit:o}),s=t.computed({get:()=>r.modelValue,set:d=>o("update:modelValue",d)});function c(d){o("change",d)}return(d,u)=>{const p=t.resolveComponent("el-radio-button"),m=t.resolveComponent("el-radio"),g=t.resolveComponent("el-radio-group"),k=t.resolveDirective("loading");return t.withDirectives((t.openBlock(),t.createBlock(g,t.mergeProps({modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=S=>s.value=S)},d.$attrs,{onChange:c}),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:String(S.value)},[e.buttonStyle?(t.openBlock(),t.createBlock(p,{key:0,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"])):(t.openBlock(),t.createBlock(m,{key:1,value:S.value},{default:t.withCtx(()=>[t.renderSlot(d.$slots,"default",{option:S.raw,text:S.text,value:S.value},()=>[t.createTextVNode(t.toDisplayString(S.text),1)])]),_:2},1032,["value"]))],64))),128))]),_:3},16,["modelValue"])),[[k,t.unref(l)]])}}}),io=t.defineComponent({name:"WdSwitch",inheritAttrs:!1,__name:"Switch",props:{...le,...pe,...Qe,modelValue:{type:[String,Number,Boolean],default:!1},tips:{type:String,default:""},paramKey:{type:String,default:"status"},activeValue:{type:[String,Number,Boolean],default:!0},inactiveValue:{type:[String,Number,Boolean],default:!1}},emits:["update:modelValue","change","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{emit:n}){const r=e,o=n,a=t.ref(!1),i=t.computed({get:()=>r.modelValue,set:s=>o("update:modelValue",s)});async function l(s){if(o("change",s),!r.api)return;const c=s===r.activeValue?r.inactiveValue:r.activeValue;a.value=!0,o("apiBefore",{url:r.api});try{const d={...r.apiParam,[r.paramKey]:s},u=r.apiMethod==="get"?await J.get(r.api,d):await J.post(r.api,d);u.success?(o("apiSuccess",{data:u.data}),r.headRefreshDatagrid&&Ce(r.headRefreshDatagrid,r.filter),o("apiAfter",{data:u.data})):(o("update:modelValue",c),o("apiFail",{code:u.code,message:u.message}),o("apiAfter",{code:u.code}))}catch(d){o("update:modelValue",c),o("apiException",{error:d,message:d==null?void 0:d.message}),o("apiAfter",{error:d})}finally{a.value=!1}}return(s,c)=>{const d=t.resolveComponent("el-switch"),u=t.resolveComponent("el-tooltip");return e.tips?(t.openBlock(),t.createBlock(u,{key:0,content:e.tips,placement:"top"},{default:t.withCtx(()=>[t.createVNode(d,t.mergeProps({modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=p=>i.value=p),"active-value":e.activeValue,"inactive-value":e.inactiveValue,loading:a.value},s.$attrs,{onChange:l}),null,16,["modelValue","active-value","inactive-value","loading"])]),_:1},8,["content"])):(t.openBlock(),t.createBlock(d,t.mergeProps({key:1,modelValue:i.value,"onUpdate:modelValue":c[1]||(c[1]=p=>i.value=p),"active-value":e.activeValue,"inactive-value":e.inactiveValue,loading:a.value},s.$attrs,{onChange:l}),null,16,["modelValue","active-value","inactive-value","loading"]))}}}),fi={class:"el-upload__tip"},lo=t.defineComponent({name:"WdUpload",inheritAttrs:!1,__name:"Upload",props:{...le,...pe,api:{type:String,default:""},deleteApi:{type:String,default:""},deleteMethod:{type:String,default:"post"},primaryKey:{type:String,default:"id"},submitButtonText:{type:String,default:"开始上传"},buttonText:{type:String,default:"点击上传"},accept:{type:String,default:""},limit:{type:Number,default:void 0},multiple:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},name:{type:String,default:"file"},data:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},showFileList:{type:Boolean,default:!0},maxSize:{type:Number,default:0},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue","change","success","error","delete-success","preview","exceed","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.getCurrentInstance(),l=t.ref(),s=t.ref(!1),c=t.ref([...o.modelValue]);t.watch(()=>o.modelValue,C=>{c.value=[...C]});const d=t.computed(()=>{if(!o.api)return"#";if(/^https?:\/\//.test(o.api))return o.api;const P=Se().request.urlPrefix||"";return P?`${P.replace(/\/$/,"")}/${o.api.replace(/^\//,"")}`:o.api}),u=t.computed(()=>{const C=Se(),P={};C.request.transform.requestInterceptor;const z=C.request.token||"";return z&&(P.Authorization=`Bearer ${z}`),P}),p=t.computed(()=>!o.autoUpload);function m(){a("update:modelValue",c.value),a("change",c.value)}const g=C=>o.maxSize&&C.size/1024/1024>o.maxSize?(K.ElMessage.error(`文件大小不能超过 ${o.maxSize}MB`),!1):(a("apiBefore",{url:o.api,file:C}),!0),k=(C,P,z)=>{const M=Se(),{codeName:T}=M.response.props,$=C==null?void 0:C[T],F=$==null||Number.isNaN(Number($))||Number($)>=M.response.successCode;if(P.response=C,F&&(C!=null&&C[M.response.props.dataName])){const A=C[M.response.props.dataName];P.biz=A,A&&typeof A=="object"&&(P.url=P.url||A.url||A.path)}F?(a("success",{response:C,file:P,files:z}),a("apiSuccess",{data:C==null?void 0:C[M.response.props.dataName],raw:C}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter)):(K.ElMessage.error((C==null?void 0:C[M.response.props.messageName])||"上传失败"),a("error",{response:C,file:P}),a("apiFail",{code:$,message:C==null?void 0:C[M.response.props.messageName]})),a("apiAfter",{url:o.api}),m()},S=(C,P,z)=>{K.ElMessage.error("上传失败,请稍后重试"),a("error",{error:C,file:P,files:z}),a("apiException",{error:C,message:C==null?void 0:C.message}),a("apiAfter",{url:o.api,error:C}),m()},D=async C=>{var M;try{await K.ElMessageBox.confirm("确认删除该文件?删除后不可恢复。","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return!1}const P=C.biz||C,z=(P==null?void 0:P[o.primaryKey])??((M=C.response)==null?void 0:M[o.primaryKey]);if(o.deleteApi&&z!==void 0&&z!==null){a("apiBefore",{url:o.deleteApi});try{const T={...o.data||{},[o.primaryKey]:z},$=o.deleteMethod==="get"?await J.get(o.deleteApi,T):o.deleteMethod==="delete"?await J.delete(o.deleteApi,T):o.deleteMethod==="put"?await J.put(o.deleteApi,T):await J.post(o.deleteApi,T);if($.success)a("delete-success",{file:C,data:$.data}),a("apiSuccess",{data:$.data}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter);else return a("apiFail",{code:$.code,message:$.message}),!1}catch(T){return a("apiException",{error:T,message:T==null?void 0:T.message}),!1}finally{a("apiAfter",{url:o.deleteApi})}}else a("delete-success",{file:C});return!0},h=()=>{m()},b=(C,P)=>{K.ElMessage.warning(`最多上传 ${o.limit} 个文件`),a("exceed",{selectedFiles:C,files:P})},R=C=>{a("preview",{file:C})};function E(){var C;(C=l.value)==null||C.submit()}function y(){var C;(C=l.value)==null||C.clearFiles(),c.value=[],m()}function O(C){c.value=[...c.value,C],m()}return t.onMounted(()=>{i&&(i.appContext.config.globalProperties.$wdUpload={submitUpload:E,clearFiles:y})}),n({submitUpload:E,clearFiles:y,addFile:O,uploadRef:l}),(C,P)=>{const z=t.resolveComponent("el-button"),M=t.resolveComponent("el-upload");return t.openBlock(),t.createBlock(M,t.mergeProps({ref_key:"uploadRef",ref:l,action:d.value,headers:u.value,accept:e.accept,limit:e.limit,multiple:e.multiple,"auto-upload":e.autoUpload,name:e.name,data:e.data,disabled:e.disabled,"show-file-list":e.showFileList,"file-list":c.value,"onUpdate:fileList":P[0]||(P[0]=T=>c.value=T),"before-upload":g,"before-remove":D,"on-success":k,"on-error":S,"on-remove":h,"on-exceed":b,"on-preview":R},C.$attrs),t.createSlots({default:t.withCtx(()=>[t.renderSlot(C.$slots,"default",{},()=>[t.createVNode(z,{type:"primary"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.buttonText),1)]),_:1})])]),_:2},[p.value&&!e.autoUpload?{name:"tip",fn:t.withCtx(()=>[t.createElementVNode("div",fi,[t.createVNode(z,{size:"small",type:"success",loading:s.value,onClick:t.withModifiers(E,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.submitButtonText),1)]),_:1},8,["loading"])])]),key:"0"}:void 0]),1040,["action","headers","accept","limit","multiple","auto-upload","name","data","disabled","show-file-list","file-list"])}}}),pi={key:0,class:"el-upload__tip"},mi=t.defineComponent({name:"WdImageUpload",inheritAttrs:!1,__name:"ImageUpload",props:{...le,...pe,api:{type:String,default:""},deleteApi:{type:String,default:""},deleteMethod:{type:String,default:"post"},primaryKey:{type:String,default:"id"},maxCount:{type:Number,default:8},thumbnailSize:{type:Number,default:100},preview:{type:Boolean,default:!0},accept:{type:String,default:""},maxSize:{type:Number,default:5},tip:{type:String,default:""},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue","change","success","error","delete-success","preview","exceed","apiBefore","apiSuccess","apiFail","apiException","apiAfter"],setup(e,{expose:n,emit:r}){t.useCssVars(y=>({v976d3d6c:e.thumbnailSize+"px"}));const o=e,a=r,i=t.ref(),l=t.ref(o.modelValue.map(y=>({name:y.split("/").pop()||"image",url:y}))),s=t.ref(!1),c=t.ref(1);t.watch(()=>o.modelValue,y=>{l.value=y.map(O=>({name:O.split("/").pop()||"image",url:O}))});const d=t.computed(()=>l.value.map(y=>{var O;return y.url||((O=y.biz)==null?void 0:O.url)||""}).filter(Boolean)),u=t.computed(()=>l.value.length>=o.maxCount),p=t.computed(()=>{if(!o.api)return"#";if(/^https?:\/\//.test(o.api))return o.api;const y=Se().request.urlPrefix||"";return y?`${y.replace(/\/$/,"")}/${o.api.replace(/^\//,"")}`:o.api});function m(){const y=l.value.map(O=>{var C,P;return O.url||((C=O.biz)==null?void 0:C.url)||((P=O.biz)==null?void 0:P.path)||""}).filter(Boolean);a("update:modelValue",y),a("change",y)}const g=y=>y.type.startsWith("image/")?o.maxSize&&y.size/1024/1024>o.maxSize?(K.ElMessage.error(`图片大小不能超过 ${o.maxSize}MB`),!1):(a("apiBefore",{url:o.api,file:y}),!0):(K.ElMessage.error("仅支持上传图片文件"),!1),k=(y,O,C)=>{const P=Se(),{codeName:z,messageName:M,dataName:T}=P.response.props,$=y==null?void 0:y[z],F=$==null||Number.isNaN(Number($))||Number($)>=P.response.successCode;if(O.response=y,F&&(y!=null&&y[T])){const A=y[T];O.biz=A,A&&typeof A=="object"?O.url=O.url||A.url||A.path:typeof A=="string"&&(O.url=A)}F?(a("success",{response:y,file:O,files:C}),a("apiSuccess",{data:y==null?void 0:y[T],raw:y}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter)):(K.ElMessage.error((y==null?void 0:y[M])||"上传失败"),l.value=l.value.filter(A=>A.uid!==O.uid),a("error",{response:y,file:O}),a("apiFail",{code:$,message:y==null?void 0:y[M]})),a("apiAfter",{url:o.api}),m()},S=(y,O)=>{K.ElMessage.error("上传失败,请稍后重试"),l.value=l.value.filter(C=>C.uid!==O.uid),a("error",{error:y,file:O}),a("apiException",{error:y,message:y==null?void 0:y.message}),a("apiAfter",{url:o.api,error:y}),m()},D=async y=>{var P;try{await K.ElMessageBox.confirm("确认删除该图片?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return!1}const O=y.biz||y,C=(O==null?void 0:O[o.primaryKey])??((P=y.response)==null?void 0:P[o.primaryKey]);if(o.deleteApi&&C!==void 0&&C!==null){a("apiBefore",{url:o.deleteApi});try{const z={[o.primaryKey]:C},M=o.deleteMethod==="get"?await J.get(o.deleteApi,z):o.deleteMethod==="delete"?await J.delete(o.deleteApi,z):o.deleteMethod==="put"?await J.put(o.deleteApi,z):await J.post(o.deleteApi,z);if(M.success)a("delete-success",{file:y,data:M.data}),a("apiSuccess",{data:M.data}),o.headRefreshDatagrid&&Ce(o.headRefreshDatagrid,o.filter);else return a("apiFail",{code:M.code,message:M.message}),!1}catch(z){return a("apiException",{error:z,message:z==null?void 0:z.message}),!1}finally{a("apiAfter",{url:o.deleteApi})}}else a("delete-success",{file:y});return!0},h=y=>{if(a("preview",{file:y}),!o.preview)return;const O=d.value.findIndex(C=>{var P;return C===(y.url||((P=y.biz)==null?void 0:P.url))});c.value=O>=0?O+1:1,s.value=!0};function b(y){c.value=y}const R=()=>{K.ElMessage.warning(`最多上传 ${o.maxCount} 张图片`),a("exceed",{maxCount:o.maxCount})};function E(){var y;(y=i.value)==null||y.clearFiles(),l.value=[],m()}return n({clearFiles:E,uploadRef:i}),(y,O)=>{const C=t.resolveComponent("el-icon"),P=t.resolveComponent("el-upload"),z=t.resolveComponent("wd-viewer");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["wd-image-upload",{"is-hide-add":u.value}])},[t.createVNode(P,t.mergeProps({ref_key:"uploadRef",ref:i,action:p.value,"list-type":"picture-card",accept:e.accept||"image/*",limit:e.maxCount,multiple:e.maxCount>1,"file-list":l.value,"onUpdate:fileList":O[0]||(O[0]=M=>l.value=M),"before-upload":g,"before-remove":D,"on-success":k,"on-error":S,"on-preview":h,"on-exceed":R},y.$attrs),{tip:t.withCtx(()=>[e.tip?(t.openBlock(),t.createElementBlock("div",pi,t.toDisplayString(e.tip),1)):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createVNode(C,null,{default:t.withCtx(()=>[t.createVNode(t.unref(X.Plus))]),_:1})]),_:1},16,["action","accept","limit","multiple","file-list"]),e.preview?(t.openBlock(),t.createBlock(z,{key:0,modelValue:s.value,"onUpdate:modelValue":O[1]||(O[1]=M=>s.value=M),src:d.value,page:c.value,type:"image",onPageChange:b},null,8,["modelValue","src","page"])):t.createCommentVNode("",!0)],2)}}}),so=ye(mi,[["__scopeId","data-v-bf4a1202"]]),hi={class:"wd-panel"},gi={key:0,class:"wd-panel__header"},yi={class:"wd-panel__title"},wi={key:0,class:"wd-panel__description"},bi={class:"wd-panel__body"},Si={key:1,class:"wd-panel__footer"},co=ye(t.defineComponent({name:"WdPanel",__name:"Panel",props:{title:{type:String,default:""},description:{type:String,default:""}},setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock("div",hi,[e.title||n.$slots.title?(t.openBlock(),t.createElementBlock("div",gi,[t.renderSlot(n.$slots,"title",{},()=>[t.createElementVNode("span",yi,t.toDisplayString(e.title),1),e.description?(t.openBlock(),t.createElementBlock("span",wi,t.toDisplayString(e.description),1)):t.createCommentVNode("",!0)],!0)])):t.createCommentVNode("",!0),t.createElementVNode("div",bi,[t.renderSlot(n.$slots,"default",{},void 0,!0)]),n.$slots.footer?(t.openBlock(),t.createElementBlock("div",Si,[t.renderSlot(n.$slots,"footer",{},void 0,!0)])):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-b59750a9"]]),uo=ye(t.defineComponent({name:"WdTips",__name:"Tips",props:{tips:{type:String,default:""},type:{type:String,default:"word"},icon:{type:String,default:"InfoFilled"},color:{type:String,default:"#909399"}},setup(e){const n=e,r={InfoFilled:X.InfoFilled,WarningFilled:X.WarningFilled,QuestionFilled:X.QuestionFilled},o=t.computed(()=>r[n.icon]||X.InfoFilled);return(a,i)=>{const l=t.resolveComponent("el-icon"),s=t.resolveComponent("el-tooltip");return e.type==="word"?(t.openBlock(),t.createBlock(s,{key:0,content:e.tips,effect:"dark",placement:"top"},{default:t.withCtx(()=>[t.createVNode(l,{class:"wd-tips__icon",style:t.normalizeStyle({color:e.color})},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value)))]),_:1},8,["style"])]),_:1},8,["content"])):(t.openBlock(),t.createElementBlock("span",{key:1,class:"wd-tips__box",style:t.normalizeStyle({color:e.color})},[o.value?(t.openBlock(),t.createBlock(l,{key:0,class:"wd-tips__box-icon"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value)))]),_:1})):t.createCommentVNode("",!0),t.renderSlot(a.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.tips),1)],!0)],4))}}}),[["__scopeId","data-v-bacdf99f"]]),Ci={class:"wd-viewer"},ki={class:"wd-viewer__wrapper"},_i={class:"wd-viewer__toolbar"},Bi=["src"],Ei=["src"],xi={key:2,class:"wd-viewer__doc"},Ri={class:"wd-viewer__doc-name"},fo=ye(t.defineComponent({name:"WdViewer",__name:"Viewer",props:{src:{type:[String,Array],default:""},type:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},zoom:{type:Number,default:1},rotate:{type:Number,default:0},page:{type:Number,default:1},zoomStep:{type:Number,default:.2},minZoom:{type:Number,default:.2},maxZoom:{type:Number,default:5}},emits:["update:modelValue","zoom-change","rotate-change","page-change","close","open"],setup(e,{expose:n,emit:r}){const o=e,a=r,i=t.computed(()=>Array.isArray(o.src)?o.src.filter(Boolean):o.src?[o.src]:[]),l=t.computed(()=>{var w;if(o.type)return o.type;const W=((w=(i.value[0]||"").split("?")[0].split(".").pop())==null?void 0:w.toLowerCase())||"";return["jpg","jpeg","png","gif","webp","bmp","svg"].includes(W)?"image":W==="pdf"?"pdf":"doc"}),s=t.ref(o.modelValue),c=t.ref(o.zoom),d=t.ref(o.rotate),u=t.ref(o.page),p=t.ref(!1);t.watch(()=>o.modelValue,A=>{s.value=A,A?(c.value=o.zoom,d.value=o.rotate,u.value=Math.min(Math.max(1,o.page),Math.max(1,i.value.length)),p.value=!1,T(),a("open")):$()}),t.watch(s,A=>a("update:modelValue",A));const m=t.computed(()=>i.value[u.value-1]||""),g=t.computed(()=>{const A=m.value;return A||""}),k=t.computed(()=>({transform:`scale(${c.value}) rotate(${d.value}deg)`,opacity:p.value?1:0}));function S(){p.value=!0}function D(){const A=Math.min(o.maxZoom,Number((c.value+o.zoomStep).toFixed(2)));c.value=A,a("zoom-change",A)}function h(){const A=Math.max(o.minZoom,Number((c.value-o.zoomStep).toFixed(2)));c.value=A,a("zoom-change",A)}function b(){c.value=1,a("zoom-change",1)}function R(){const A=d.value-90;d.value=A,a("rotate-change",A)}function E(){const A=d.value+90;d.value=A,a("rotate-change",A)}function y(){u.value<=1||(u.value-=1,p.value=!1,a("page-change",u.value))}function O(){u.value>=i.value.length||(u.value+=1,p.value=!1,a("page-change",u.value))}function C(){u.value=1,a("page-change",1)}function P(){m.value&&window.open(m.value,"_blank")}function z(){s.value=!1,a("close")}function M(A){if(s.value)switch(A.key){case"ArrowLeft":l.value==="image"&&i.value.length>1&&y();break;case"ArrowRight":l.value==="image"&&i.value.length>1&&O();break;case"ArrowUp":A.preventDefault(),D();break;case"ArrowDown":A.preventDefault(),h();break;case"Escape":z();break}}function T(){t.nextTick(()=>window.addEventListener("keydown",M))}function $(){window.removeEventListener("keydown",M)}function F(A){s.value=!0}return n({open:F,close:z,zoomIn:D,zoomOut:h,rotateLeft:R,rotateRight:E}),(A,W)=>{const w=t.resolveComponent("el-button"),_=t.resolveComponent("el-button-group"),U=t.resolveComponent("el-icon");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Ci,[t.createElementVNode("div",{class:"wd-viewer__mask",onClick:t.withModifiers(z,["self"])}),t.createElementVNode("div",ki,[t.createElementVNode("div",_i,[t.createVNode(_,null,{default:t.withCtx(()=>[t.createVNode(w,{icon:t.unref(X.ZoomOut),circle:"",onClick:h,title:"缩小"},null,8,["icon"]),t.createVNode(w,{class:"wd-viewer__zoom-text",onClick:b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Math.round(e.zoom*100))+"%",1)]),_:1}),t.createVNode(w,{icon:t.unref(X.ZoomIn),circle:"",onClick:D,title:"放大"},null,8,["icon"])]),_:1}),l.value==="image"?(t.openBlock(),t.createBlock(_,{key:0},{default:t.withCtx(()=>[t.createVNode(w,{icon:t.unref(X.RefreshLeft),circle:"",onClick:R,title:"左转"},null,8,["icon"]),t.createVNode(w,{icon:t.unref(X.RefreshRight),circle:"",onClick:E,title:"右转"},null,8,["icon"])]),_:1})):t.createCommentVNode("",!0),l.value==="image"&&i.value.length>1?(t.openBlock(),t.createBlock(_,{key:1},{default:t.withCtx(()=>[t.createVNode(w,{icon:t.unref(X.ArrowLeft),circle:"",disabled:e.page<=1,onClick:y,title:"上一张"},null,8,["icon","disabled"]),t.createVNode(w,{class:"wd-viewer__page-text",onClick:C},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.page)+" / "+t.toDisplayString(i.value.length),1)]),_:1}),t.createVNode(w,{icon:t.unref(X.ArrowRight),circle:"",disabled:e.page>=i.value.length,onClick:O,title:"下一张"},null,8,["icon","disabled"])]),_:1})):t.createCommentVNode("",!0),t.createVNode(w,{icon:t.unref(X.Close),circle:"",type:"danger",onClick:z,title:"关闭"},null,8,["icon"])]),t.createElementVNode("div",{class:"wd-viewer__body",onClick:t.withModifiers(z,["self"])},[l.value==="image"?(t.openBlock(),t.createElementBlock("img",{key:0,src:m.value,class:"wd-viewer__img",style:t.normalizeStyle(k.value),onLoad:S},null,44,Bi)):l.value==="pdf"?(t.openBlock(),t.createElementBlock("iframe",{key:1,src:g.value,class:"wd-viewer__pdf",frameborder:"0"},null,8,Ei)):(t.openBlock(),t.createElementBlock("div",xi,[t.createVNode(U,{size:64},{default:t.withCtx(()=>[t.createVNode(t.unref(X.Document))]),_:1}),t.createElementVNode("p",Ri,t.toDisplayString(m.value),1),t.createVNode(w,{type:"primary",onClick:P},{default:t.withCtx(()=>[...W[0]||(W[0]=[t.createTextVNode("全屏阅读",-1)])]),_:1})]))])])],512)),[[t.vShow,s.value]])}}}),[["__scopeId","data-v-5a218091"]]),Ai=Object.values(Object.freeze(Object.defineProperty({__proto__:null,WdApiButton:Kn,WdAutoComplete:oo,WdCheckboxList:ro,WdConfirmButton:Jn,WdDataForm:Hn,WdDataGrid:In,WdDialog:zt,WdDialogButton:vn,WdDrawer:Ut,WdDrawerButton:Qn,WdEditableTable:Wn,WdIframe:eo,WdImageUpload:so,WdPanel:co,WdPromptButton:Gn,WdRadioList:ao,WdRouteButton:Xn,WdSearchPanel:to,WdSelect:no,WdSwitch:io,WdTips:uo,WdTipsButton:Zn,WdUpload:lo,WdViewer:fo},Symbol.toStringTag,{value:"Module"}))),po={install:(e,n)=>{jt(n),Ai.forEach(r=>{r!=null&&r.name&&e.component(r.name,r)})}};function Ni(e,n={}){const{method:r="post",immediate:o=!0,initialParams:a,reqOptions:i,onSuccess:l,onFail:s,onError:c}=n,d=t.shallowRef(null),u=t.ref(!1),p=t.shallowRef(null);let m=null;function g(){return typeof e=="function"?e():e}async function k(R){u.value=!0,p.value=null,m&&m.abort(),m=new AbortController;const E={...i,signal:m.signal};try{let y;const O=g();return r==="get"||r==="delete"?y=await J.request({url:O,method:r,params:R},E):y=await J.request({url:O,method:r,data:R},E),y.success?(d.value=y.data,l==null||l(y.data,y)):s==null||s(y),y}catch(y){return p.value=y instanceof Error?y:new Error((y==null?void 0:y.message)||"请求失败"),c==null||c(y),null}finally{u.value=!1,m=null}}function S(){return k(h)}function D(){m&&(m.abort(),m=null,u.value=!1)}let h=a;const b=R=>(h=R??h,k(R));return o&&k(a),t.onUnmounted(D),{data:d,loading:u,error:p,run:b,refresh:S,abort:D}}function Pi(e,n){const r=t.shallowRef(mo(e,n));return t.onMounted(()=>{r.value=mo(e,n)}),r}function Oi(){return Se()}function mo(e,n){const r=e?Mt(e):{},o={};if(n)for(const[a,i]of Object.entries(n))i!==void 0&&(o[a]=i);return ue({},r,o)}const Te=new Map;function Di(e,n){const r=Te.get(e);r&&r.forEach(o=>{try{o(n)}catch(a){console.error(`[WorkDesktop] eventBus[${e}] handler error:`,a)}})}function Ti(e,n){return Te.has(e)||Te.set(e,new Set),Te.get(e).add(n),()=>ho(e,n)}function ho(e,n){var r;(r=Te.get(e))==null||r.delete(n)}function Vi(e){e?Te.delete(e):Te.clear()}function $i(){const e=[],n=(r,o)=>{const a=Ti(r,o);return e.push(a),a};try{t.onUnmounted(()=>{e.forEach(r=>r()),e.length=0})}catch{}return{emit:Di,on:n,off:ho,clear:Vi}}const Be=t.reactive({});function Li(e,n){if(!(e in Be))Be[e]=n?t.isReactive(n)?n:{...n}:{};else if(n&&typeof n=="object")for(const i of Object.keys(n))Be[e][i]===void 0&&(Be[e][i]=n[i]);const r=Be[e];return{state:r,set:i=>{const l=typeof i=="function"?i(r):i;Object.assign(Be[e],l)},reset:()=>{const i=n?{...n}:{};Object.keys(Be[e]).forEach(l=>delete Be[e][l]),Object.assign(Be[e],i)}}}V.WdApiButton=Kn,V.WdAutoComplete=oo,V.WdCheckboxList=ro,V.WdConfirmButton=Jn,V.WdDataForm=Hn,V.WdDataGrid=In,V.WdDialog=zt,V.WdDialogButton=vn,V.WdDrawer=Ut,V.WdDrawerButton=Qn,V.WdEditableTable=Wn,V.WdIframe=eo,V.WdImageUpload=so,V.WdPanel=co,V.WdPromptButton=Gn,V.WdRadioList=ao,V.WdRouteButton=Xn,V.WdSearchPanel=to,V.WdSelect=no,V.WdSwitch=io,V.WdTips=uo,V.WdTipsButton=Zn,V.WdUpload=lo,V.WdViewer=fo,V.WorkDesktop=po,V.clearLinkageRegistry=Da,V.deepMerge=ue,V.default=po,V.getComponentDefault=Mt,V.getDataGrids=Oa,V.getGlobalConfig=Se,V.http=J,V.initConfig=jt,V.mergeConfig=Eo,V.refreshDataGrid=Ce,V.registerDataGrid=Fn,V.request=J,V.resetConfig=Bo,V.resetSearchDataGrid=jn,V.searchDataGrid=Mn,V.setGlobalConfig=_o,V.useConfig=Pi,V.useDataGrid=zn,V.useEventBus=$i,V.useGlobalConfig=Oi,V.useGlobalState=Li,V.useRequest=Ni,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
11
11
  //# sourceMappingURL=index.umd.js.map