@gopowerteam/table-render 0.0.4 → 0.0.5

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.
@@ -1,2 +1,3 @@
1
- import type { DataRecord, TableColumnsOptions } from '../interfaces';
2
- export declare function defineColumns<T = DataRecord>(columns: TableColumnsOptions<T>): TableColumnsOptions<T>;
1
+ import type { DataRecord, TableColumnsOptions, TableColumnsStringKeyOptions, TableColumnsTypeKeyOptions } from '../interfaces';
2
+ export declare function defineColumns<T = DataRecord>(columns: TableColumnsTypeKeyOptions<T>): TableColumnsOptions<T>;
3
+ export declare function defineColumns<T = DataRecord>(columns: TableColumnsStringKeyOptions<T>): TableColumnsOptions<T>;
@@ -54,4 +54,4 @@ use chrome, FireFox or Internet Explorer 11`)}var r=s("safe-buffer"),t=s("random
54
54
  * @author Louis-Dominique Dubeau
55
55
  * @license MIT
56
56
  * @copyright Louis-Dominique Dubeau
57
- */function p(o){return o>=65&&o<=90||o===95||o>=97&&o<=122||o>=192&&o<=214||o>=216&&o<=246||o>=248&&o<=767||o>=880&&o<=893||o>=895&&o<=8191||o>=8204&&o<=8205||o>=8304&&o<=8591||o>=11264&&o<=12271||o>=12289&&o<=55295||o>=63744&&o<=64975||o>=65008&&o<=65533||o>=65536&&o<=983039}Object.defineProperty(_,"__esModule",{value:!0}),_.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",_.NC_NAME_CHAR="-"+_.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",_.NC_NAME_START_CHAR_RE=new RegExp("^["+_.NC_NAME_START_CHAR+"]$","u"),_.NC_NAME_CHAR_RE=new RegExp("^["+_.NC_NAME_CHAR+"]$","u"),_.NC_NAME_RE=new RegExp("^["+_.NC_NAME_START_CHAR+"]["+_.NC_NAME_CHAR+"]*$","u"),_.isNCNameStartChar=p,_.isNCNameChar=function(o){return p(o)||o===45||o===46||o>=48&&o<=57||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}]},{},[15])(15)})})(nr);var br=nr.exports;const gr=Symbol.for("RenderColumnType");function Me(X,at,s){return at.$type=X,at.$disableColumnMode=s==null?void 0:s.disableColumnMode,at.$disableViewMode=s==null?void 0:s.disableViewMode,at}function Ee(X,at){return(at.index||at.key).split(".").reduce((s,C)=>s==null?void 0:s[C],X)}function yr(X){return Me("button",(s,C,_)=>{const p=Xe.useModal(),o=Array.isArray(X)?X:"buttons"in X?X.buttons:[X],a=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){await(t.confirm===!0?new Promise(l=>{p.confirm({title:"提示信息",content:t.confirmText??"您确定要执行该操作?",onOk:()=>l(!0),onCancel:()=>l(!1)})}):Promise.resolve(!0))&&(t!=null&&t.onClick)&&(await t.onClick(s),t.autoReload&&(_!=null&&_.emits)&&(_==null||_.emits("reload")))}return yt.createVNode(yt.Fragment,null,[o.filter(t=>a(t.visiable,!0)).map(t=>yt.createVNode(_e.Button,{onClick:()=>r(t),type:t.type||"text",shape:t.shape,disabled:a(t.disabled,!1)},{icon:t.icon,default:()=>(typeof t.content=="function"?t.content(s):t.content)||""}))])},{disableViewMode:!0})}function Qe(X){const at=_=>_.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"),s=_=>(parseFloat(_.toString())/((X==null?void 0:X.scale)||1)).toFixed((X==null?void 0:X.precision)||2);return Me("dict",(_,p)=>{const o=Ee(_,p);return yt.createVNode("div",null,[(X==null?void 0:X.prefix)!==void 0&&yt.createVNode("span",null,[X==null?void 0:X.prefix]),yt.createVNode("span",{class:"currency_value"},[(X==null?void 0:X.thousands)===!1?s(o):at(s(o))]),(X==null?void 0:X.suffix)!==void 0&&yt.createVNode("span",null,[X==null?void 0:X.suffix])])})}const vr={success:"arcoblue",warning:"orange",error:"red"};function wr(X){return X instanceof Map?X:X.dict}function _r(X){const at=X instanceof Map?!1:X.tag;return typeof at=="string"?vr[at]:at}function xr(X){const at=wr(X),s=_r(X);return Me("dict",(_,p)=>{const o=Ee(_,p);return s?yt.createVNode(_e.Tag,{color:s===!0?void 0:s},{default:()=>[at.get(o)||o]}):yt.createVNode("span",null,[at.get(o)||o])})}function kr(X){function at(_,p){var a;const o=(a=document.getElementById(_))==null?void 0:a.getBoundingClientRect();if(o){const r=new Image(100,100);r.id=`IMAGE_${_}_PREVIEW`,r.src=p,r.setAttribute("style",["position:fixed;",`top:${o.top}px;`,`left:${o.left+o.width}px;`,"min-width:400px;","height:auto;","z-index:100;"].join("")),document.body.appendChild(r)}}function s(_){const p=document.getElementById(`IMAGE_${_}_PREVIEW`);p==null||p.remove()}return Me("image",(_,p,o)=>{const a=Ee(_,p),r=Math.random().toString(32).slice(2).toUpperCase(),t={width:o!=null&&o.previewing?(X==null?void 0:X.width)||"auto":"40px",height:o!=null&&o.previewing&&(X==null?void 0:X.height)||"auto",borderRadius:X==null?void 0:X.radius,maxWidth:!(X!=null&&X.height)&&!(X!=null&&X.width)?"150px":"auto",display:"block",margin:"auto",objectFit:"contain",transform:`rotate(${(X==null?void 0:X.rotate)||0}deg)`,cursor:X!=null&&X.preview?"pointer":"unset"},e=`${p.index||p.key}_parsed`;if(X!=null&&X.parse&&(X==null||X.parse(a).then(l=>_[e]=l)),X!=null&&X.parse&&!_[e])return yt.createVNode("div",null,[yt.createTextVNode("Loading...")]);{const l=_[e]||a;return yt.createVNode("img",{id:r,onMouseenter:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&at(r,l),onMouseleave:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null)}})}const Sr=" ";function Cr(X){return X==null?void 0:X.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Tr(X,at){return X==null?void 0:X.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,at??Sr).replace(/M/g,"*")}function Mr(X){return Me("phone",(s,C)=>{const _=Ee(s,C),p=Tr(X!=null&&X.safe?Cr(_):_,X==null?void 0:X.separator);return X!=null&&X.callable?yt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[p]):yt.createVNode("span",null,[p])})}function Er(X){return Me("render",s=>X(s))}function Ar(X){return Me("tag",(s,C)=>{const _=Ee(s,C),p=(X==null?void 0:X.textColors)||["#F87335"],o=(X==null?void 0:X.backgroundColors)||["#FFF4E8"];return yt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[_.map((a,r)=>yt.createVNode("span",{style:{margin:"2px",padding:"2px 5px",border:`solid 2px ${(X==null?void 0:X.border)||"transparent"}`,borderRadius:`${(X==null?void 0:X.radius)||0}px`,color:typeof p=="function"?p(a,r):p[r%p.length],backgroundColor:typeof o=="function"?o(a,r):o[r%o.length]}},[a]))])})}function tr(X){if(typeof X=="string")return X;if(typeof X=="number")return`${X}px`}function Rr(X,at,s){var C,_;return typeof X=="function"?(C=X(s))==null?void 0:C.toString():typeof(X==null?void 0:X.content)=="function"?(_=X==null?void 0:X.content(s))==null?void 0:_.toString():typeof(X==null?void 0:X.content)=="string"?X==null?void 0:X.content:Ee(s,at)}function Or(X,at){if(typeof X!="function"){if(typeof(X==null?void 0:X.color)=="function")return X==null?void 0:X.color(at);if(typeof(X==null?void 0:X.color)=="string")return X==null?void 0:X.color}}function jr(X,at){if(typeof X!="function")return typeof(X==null?void 0:X.size)=="function"?tr(X==null?void 0:X.size(at)):tr(X==null?void 0:X.size)}function Ir(X,at){let s="";const C=Or(X,at),_=jr(X,at);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Nr(X){return Me("text",(s,C)=>{const _=Rr(X||{},C,s),p=Ir(X||{},s);return yt.createVNode("span",{style:p},[_])})}function Pr(){return{text:Nr,dict:xr,tag:Ar,render:Er,phone:Mr,image:kr,currency:Qe,date:Qe,button:yr}}function Ke(X,at){if(!(X!=null&&X.render))return;const s=X.render({...Pr()});return{render:({record:C})=>s(C,X,at),[gr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function Br(X,at,s){return X.map(C=>({...at||{},...C})).map(C=>Dr(C,s)).filter(Boolean)}function Dr(X,at){const{render:s,disableColumnMode:C}=Ke(X,{previewing:!1,emits:at})||{};if(!(C||X.visiable===!1||typeof X.visiable=="function"&&X.visiable()===!1))return{dataIndex:X.index||X.key,title:X.title,width:X.width==="auto"?void 0:X.width,align:X.align??"center",fixed:X.fixed,ellipsis:X.ellipsis??!0,sortable:X.sortable?{sorter:!0,sortDirections:["ascend","descend"],defaultSortOrder:X.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...X.extraProps,render:s}}function Fr(){return new br.Workbook}function Lr(X,at="Sheet1"){return X.addWorksheet(at,{headerFooter:{firstHeader:"",firstFooter:""}})}function zr(X,at){X.columns=at}function Ur(X,at){X.addRows(at)}async function $r({columns:X,rows:at,filename:s}){const C=Fr(),_=Lr(C);zr(_,X),Ur(_,at);const p=await C.xlsx.writeBuffer(),o=new Blob([p]);Vr(o,s||`${cr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Vr(X,at){const s=document.createElement("a");s.download=at||"download",s.href=URL.createObjectURL(X),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Hr(X,at){const s={};return X.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ke(_),content:typeof _.exportable=="object"?_.exportable.content:void 0})).forEach(_=>{var a;const p=(a=_.render)==null?void 0:a.render,o=()=>{var r;switch(!0){case!!_.content:return _.content&&_.content(at);case!!p:{const t=document.createElement("div"),e=yt.h(()=>p&&p({record:at}));return yt.render(e,t),(r=e.el)==null?void 0:r.innerText}default:return Ee(at,_.options)}};s[_.options.key]=o()}),s}function qr(X){switch(!0){case typeof X=="number":return X/6;case(typeof X=="string"&&X.endsWith("px")):return parseInt(X.replace("px",""))/6;default:return 30}}function Wr(X,at,s){const C=X.filter(p=>p.exportable!==!1).map(p=>{var o,a;return{key:p.key,header:((o=p.exportable)==null?void 0:o.header)||p.title,width:((a=p.exportable)==null?void 0:a.width)||qr(p.width)}}),_=at.map(p=>Hr(X,p));$r({columns:C,rows:_,filename:s})}function Xr(){return{exportExcel:Wr}}class Ye{constructor(at){Ne(this,"sort",{});Ne(this,"before",at=>{at.paramsQuery={...at.paramsQuery||{},sort:this.stringify(this.sort)}});at&&(this.sort=at)}update(at,s){at&&s&&(this.sort[at]=s)}remove(at){const s=Object.entries(this.sort).filter(([C])=>C!==at);this.sort={},s&&s.forEach(([C,_])=>{this.sort[C]=_})}reset(){this.sort={}}stringify(at){return typeof at!="object"?[]:(at instanceof Ye&&(at=at.sort),Object.entries(at).map(([s,C])=>`${s},${C}`))}}function Kr(X){return typeof X=="function"||Object.prototype.toString.call(X)==="[object Object]"&&!yt.isVNode(X)}const Yr=yt.defineComponent({props:{record:{type:Object,required:!0},columns:{type:Array,required:!0},minWidth:{type:Number,required:!1,default:350},border:{type:Boolean,default:!0},exclude:{type:Array,default:()=>[]},layout:{type:String,required:!1,default:"horizontal"},buttons:{type:Array,default:()=>[]}},setup(X){const at=yt.getCurrentInstance(),s=yt.ref(0),C=X.columns.filter(p=>typeof p.visiable=="boolean"?p.visiable:typeof p.visiable=="function"?p.visiable():!0).map(p=>({options:p,renderer:Ke(p,{previewing:!0})})).filter(({options:p})=>{var o;return!((o=X.exclude)!=null&&o.includes(p.key))}).filter(({renderer:p})=>!(p!=null&&p.disableViewMode));function _(){var p;if(at){const o=(p=at.proxy)==null?void 0:p.$el;s.value=Math.floor(o.offsetWidth/X.minWidth)}}return yt.onMounted(()=>{_()}),()=>{let p;return yt.createVNode("div",{class:"preview-container"},[yt.createVNode(_e.Descriptions,{column:s.value,bordered:!0,align:"left",layout:X.layout},Kr(p=C.map(o=>yt.createVNode(_e.DescriptionsItem,{label:o.options.title},{default:()=>{var a,r;return[(a=o.renderer)!=null&&a.render?(r=o.renderer)==null?void 0:r.render({record:X.record}):Ee(X.record,o.options)]}})))?p:{default:()=>[p]})])}}});const Zr=Symbol("ArcoConfigProvider"),Gr="arco",Jr="$arco",ir=X=>{var at,s,C;const _=yt.getCurrentInstance(),p=yt.inject(Zr,void 0),o=(C=(s=p==null?void 0:p.prefixCls)!=null?s:(at=_==null?void 0:_.appContext.config.globalProperties[Jr])==null?void 0:at.classPrefix)!=null?C:Gr;return X?`${o}-${X}`:o},Qr=Object.prototype.toString;function sr(X){return Qr.call(X)==="[object Number]"&&X===X}var or=(X,at)=>{for(const[s,C]of at)X[s]=C;return X};const tn=yt.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:at}){const s=ir("icon"),C=yt.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:X.spin}]),_=yt.computed(()=>{const o={};return X.size&&(o.fontSize=sr(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{at("click",o)}}}}),en=["stroke-width","stroke-linecap","stroke-linejoin"],rn=yt.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1),nn=[rn];function sn(X,at,s,C,_,p){return yt.openBlock(),yt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:yt.normalizeClass(X.cls),style:yt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:at[0]||(at[0]=(...o)=>X.onClick&&X.onClick(...o))},nn,14,en)}var qe=or(tn,[["render",sn]]);const on=Object.assign(qe,{install:(X,at)=>{var s;const C=(s=at==null?void 0:at.iconPrefix)!=null?s:"";X.component(C+qe.name,qe)}}),an=yt.defineComponent({name:"IconRefresh",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:at}){const s=ir("icon"),C=yt.computed(()=>[s,`${s}-refresh`,{[`${s}-spin`]:X.spin}]),_=yt.computed(()=>{const o={};return X.size&&(o.fontSize=sr(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{at("click",o)}}}}),ln=["stroke-width","stroke-linecap","stroke-linejoin"],un=yt.createElementVNode("path",{d:"M38.837 18C36.463 12.136 30.715 8 24 8 15.163 8 8 15.163 8 24s7.163 16 16 16c7.455 0 13.72-5.1 15.496-12M40 8v10H30"},null,-1),cn=[un];function hn(X,at,s,C,_,p){return yt.openBlock(),yt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:yt.normalizeClass(X.cls),style:yt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:at[0]||(at[0]=(...o)=>X.onClick&&X.onClick(...o))},cn,14,ln)}var We=or(an,[["render",hn]]);const fn=Object.assign(We,{install:(X,at)=>{var s;const C=(s=at==null?void 0:at.iconPrefix)!=null?s:"";X.component(C+We.name,We)}});function dn(X,at,{tableForm:s,tableEvents:C}){const _=X.refreshable||X.exportable||at.slots.actions,p=(s==null?void 0:s.length)&&_;return()=>yt.createVNode(yt.Fragment,null,[p&&yt.createVNode(_e.Divider,{margin:0},null),_&&yt.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:X.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[yt.createVNode("div",{class:"built-in"},[yt.createVNode(_e.Space,null,{default:()=>[X.refreshable&&yt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>yt.createVNode(fn,{onClick:()=>C("reload")},null)}),X.exportable&&yt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>yt.createVNode(on,{onClick:()=>C("export")},null)})]})]),yt.createVNode("div",{class:"customs"},[yt.createVNode(_e.Space,null,{default:()=>[at.slots.actions&&at.slots.actions()]})])])])}function pn(X,at,{tableForm:s,tableEvents:C,formInstance:_}){return s!=null&&s.length?()=>yt.createVNode("div",{class:"table-form"},[yt.createVNode(er.FormRender,{form:s,ref:p=>_&&(_.value=p),searchable:!0,onSubmit:()=>C("reload",{reset:!0})},null)]):()=>{}}function mn(X,at,{tableSource:s}){const C=yt.ref([]);function _(){const a=typeof X.selection=="string"?{type:X.selection}:X.selection;switch(a==null?void 0:a.type){case"radio":return{title:"选择",...a,selectedRowKeys:C.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:C.value,...a}}}function p(a,r,t){const{type:e}=_()||{};switch(e){case"radio":at.emit("update:radio-key",r),at.emit("update:radio-row",t);break;case"checkbox":at.emit("update:checkbox-keys",a),at.emit("update:checkbox-rows",a.map(l=>s.value.find(n=>n[X.rowKey]===l)));break}}function o(){yt.nextTick(()=>{at.emit("update:checkbox-keys",C.value),at.emit("update:checkbox-rows",C.value)})}return{selectedRowKeys:C,rowSelection:_(),onSelect:p,onSelectAll:o}}function bn(X,at,{pageService:s,tableEvents:C}){function _(o){s&&(s.pageIndex=o,C("reload"))}function p(o){s&&(s.pageSize=o,C("reload"))}return s?()=>yt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[yt.createVNode(_e.Pagination,{current:s.pageIndex,"onUpdate:current":o=>s.pageIndex=o,"page-size":s.pageSize,"onUpdate:page-size":o=>s.pageSize=o,total:s.total,"page-size-options":s.pageSizeOpts,"hide-on-single-page":!0,"show-total":!0,"show-page-size":!0,onChange:o=>_(o),onPageSizeChange:o=>p(o),style:{justifyContent:"flex-end"}},null)]):()=>{}}const gn=yt.defineComponent({props:{record:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(X){const at=Xe.useModal();function s(C){X.onSubmit&&X.onSubmit(C),at.close(C)}return()=>yt.createVNode("div",{class:"edit-form-container"},[yt.createVNode(er.FormRender,{name:"form",form:X.form,onSubmit:s},null)])}});function yn(X){return!!X&&(typeof X=="object"||typeof X=="function")&&typeof X.then=="function"}const ar=yt.defineComponent({props:{rowKey:{type:String,required:!0},form:{type:Object,required:!1},columns:{type:Object,required:!0},autoLoad:{type:Boolean,required:!1,default:!0},loadData:{type:Function,required:!1},height:{type:Number,required:!1},size:{type:String,required:!1,default:"large"},columnsOptions:{type:Object,required:!1},selection:{type:[String,Object],required:!1},radioKey:{type:[String,Number],required:!1},checkboxKeys:{type:Array,required:!1},radioRow:{type:Object,required:!1},checkboxRows:{type:Array,required:!1},exportable:{type:[Boolean,Object],required:!1,default:!1},refreshable:{type:Boolean,required:!1},actionsPosition:{type:String,required:!1,default:"right"},pageable:{type:[Object,Boolean],required:!1},sortable:{type:[Object],required:!1}},expose:["preview","export","edit","reload","tableSource","formSource","update:radio-key","update:radio-row","update:checkbox-keys","update:checkbox-rows"],setup(X,at){var M;const s=Math.random().toString(32).slice(2).toUpperCase(),C=yt.ref(),_=yt.ref(),p=yt.ref(),[o,a]=dr(X.columns),r=yt.ref(!1),t=X.form??pr(X.columns),e=n(),l=i();function n(){switch(!0){case typeof X.pageable=="boolean":return new Je;case(typeof X.pageable=="object"&&!!X.pageable.reset):return X.pageable;case(typeof X.pageable=="object"&&(!!X.pageable.index||!!X.pageable.size)):return new Je(X.pageable.index,X.pageable.size)}}function i(){const v=X.columns.find(m=>!!m.sortable);if(v)return new Ye({[v.key]:v.sortable,...X.sortable})}const c=v=>{const{exportExcel:m}=Xr();m((v==null?void 0:v.columns)||X.columns,(v==null?void 0:v.source)||o.value,(v==null?void 0:v.filename)||(typeof X.exportable=="object"?X.exportable.filename:void 0))},h=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要预览的数据");return p.value.open(Yr,{record:m,columns:X.columns},{title:(v==null?void 0:v.title)||"详情",mode:(v==null?void 0:v.mode)||"dialog"})},u=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要编辑的数据");return p.value.open(gn,{record:m,form:v==null?void 0:v.form,onSubmit:v.onSubmit},{title:(v==null?void 0:v.title)||"编辑",mode:(v==null?void 0:v.mode)||"dialog",footer:!0,form:"form"})},d=v=>{var g;if(!X.loadData)return;v!=null&&v.reset&&(e&&e.reset(),l&&l.reset());const m={...((g=_.value)==null?void 0:g.formSource)||{}};Object.keys(m).forEach(y=>{[null,void 0,""].includes(m[y])&&delete m[y]});const b=X.loadData({form:m,page:e,sort:l,update:a});yn(b)&&(r.value=!0,Promise.resolve(b).finally(()=>{r.value=!1}))},f=rr({reload:d,preview:h,export:c,edit:u});function w(v,m){l&&(m?l.update(v,m==="descend"?"desc":"asc"):l.remove(v),f("reload"))}const x=Br(X.columns,X.columnsOptions,f),A={tableEvents:f,tableForm:t,tableSource:o,formInstance:_,pageService:e},N=pn(X,at,A),L=dn(X,at,A),j=bn(X,at,A),{selectedRowKeys:P,rowSelection:D,onSelect:$,onSelectAll:B}=mn(X,at,A),k={rowKey:X.rowKey,size:X.size,scroll:{x:X.columns.reduce((v,m)=>v+=typeof m.width!="number"?Math.max(m.title.length*16,80):m.width,0),y:X.height??"100%"},rowSelection:D};return yt.onMounted(()=>{X.autoLoad&&d()}),{tableId:s,tableInstance:C,tableSource:o,tableOptions:k,tableColumns:x,tableEvents:f,tableForm:t,tableLoading:r,modalInstance:p,formSource:(M=_==null?void 0:_.value)==null?void 0:M.formSource,reload:d,preview:h,edit:u,export:c,onSorterChange:w,renders:{renderTableForm:N,renderTableActions:L,renderTablePagination:j},tableSelection:{selectedRowKeys:P,rowSelection:D,onSelect:$,onSelectAll:B}}},render(){const X=()=>yt.createVNode("div",{class:"table-body"},[yt.createVNode(_e.Table,yt.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:at=>this.tableInstance=at,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":at=>this.tableSelection.selectedRowKeys.value=at,pagination:!1},this.tableOptions),null)]);return yt.createVNode("div",{class:"table-render"},[yt.createVNode(Xe.ModalProvider,{ref:at=>this.modalInstance=at},{default:()=>[yt.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),X(),this.renders.renderTablePagination()])]})])}});function vn(X){return X}function wn(X){return X}const _n={install(X,at){X.component("TableRender",ar)}};exports.TableRenderResolver=hr.TableRenderResolver;exports.TableRender=ar;exports.default=_n;exports.defineColumns=vn;exports.defineTableLoad=wn;exports.useEvents=rr;exports.useTable=mr;
57
+ */function p(o){return o>=65&&o<=90||o===95||o>=97&&o<=122||o>=192&&o<=214||o>=216&&o<=246||o>=248&&o<=767||o>=880&&o<=893||o>=895&&o<=8191||o>=8204&&o<=8205||o>=8304&&o<=8591||o>=11264&&o<=12271||o>=12289&&o<=55295||o>=63744&&o<=64975||o>=65008&&o<=65533||o>=65536&&o<=983039}Object.defineProperty(_,"__esModule",{value:!0}),_.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",_.NC_NAME_CHAR="-"+_.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",_.NC_NAME_START_CHAR_RE=new RegExp("^["+_.NC_NAME_START_CHAR+"]$","u"),_.NC_NAME_CHAR_RE=new RegExp("^["+_.NC_NAME_CHAR+"]$","u"),_.NC_NAME_RE=new RegExp("^["+_.NC_NAME_START_CHAR+"]["+_.NC_NAME_CHAR+"]*$","u"),_.isNCNameStartChar=p,_.isNCNameChar=function(o){return p(o)||o===45||o===46||o>=48&&o<=57||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}]},{},[15])(15)})})(nr);var br=nr.exports;const gr=Symbol.for("RenderColumnType");function Me(X,at,s){return at.$type=X,at.$disableColumnMode=s==null?void 0:s.disableColumnMode,at.$disableViewMode=s==null?void 0:s.disableViewMode,at}function Ee(X,at){return(at.index||at.key).split(".").reduce((s,C)=>s==null?void 0:s[C],X)}function yr(X){return Me("button",(s,C,_)=>{const p=Xe.useModal(),o=Array.isArray(X)?X:"buttons"in X?X.buttons:[X],a=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){await(t.confirm===!0?new Promise(l=>{p.confirm({title:"提示信息",content:t.confirmText??"您确定要执行该操作?",onOk:()=>l(!0),onCancel:()=>l(!1)})}):Promise.resolve(!0))&&(t!=null&&t.onClick)&&(await t.onClick(s),t.autoReload&&(_!=null&&_.emits)&&(_==null||_.emits("reload")))}return yt.createVNode(yt.Fragment,null,[o.filter(t=>a(t.visiable,!0)).map(t=>yt.createVNode(_e.Button,{onClick:()=>r(t),type:t.type||"text",shape:t.shape,disabled:a(t.disabled,!1)},{icon:t.icon,default:()=>(typeof t.content=="function"?t.content(s):t.content)||""}))])},{disableViewMode:!0})}function Qe(X){const at=_=>_.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"),s=_=>(parseFloat(_.toString())/((X==null?void 0:X.scale)||1)).toFixed((X==null?void 0:X.precision)||2);return Me("dict",(_,p)=>{const o=Ee(_,p);return yt.createVNode("div",null,[(X==null?void 0:X.prefix)!==void 0&&yt.createVNode("span",null,[X==null?void 0:X.prefix]),yt.createVNode("span",{class:"currency_value"},[(X==null?void 0:X.thousands)===!1?s(o):at(s(o))]),(X==null?void 0:X.suffix)!==void 0&&yt.createVNode("span",null,[X==null?void 0:X.suffix])])})}const vr={success:"arcoblue",warning:"orange",error:"red"};function wr(X){return X instanceof Map?X:X.dict}function _r(X){const at=X instanceof Map?!1:X.tag;return typeof at=="string"?vr[at]:at}function xr(X){const at=wr(X),s=_r(X);return Me("dict",(_,p)=>{const o=Ee(_,p);return s?yt.createVNode(_e.Tag,{color:s===!0?void 0:s},{default:()=>[at.get(o)||o]}):yt.createVNode("span",null,[at.get(o)||o])})}function kr(X){function at(_,p){var a;const o=(a=document.getElementById(_))==null?void 0:a.getBoundingClientRect();if(o){const r=new Image(100,100);r.id=`IMAGE_${_}_PREVIEW`,r.src=p,r.setAttribute("style",["position:fixed;",`top:${o.top}px;`,`left:${o.left+o.width}px;`,"min-width:400px;","height:auto;","z-index:100;"].join("")),document.body.appendChild(r)}}function s(_){const p=document.getElementById(`IMAGE_${_}_PREVIEW`);p==null||p.remove()}return Me("image",(_,p,o)=>{const a=Ee(_,p),r=Math.random().toString(32).slice(2).toUpperCase(),t={width:o!=null&&o.previewing?(X==null?void 0:X.width)||"auto":"40px",height:o!=null&&o.previewing&&(X==null?void 0:X.height)||"auto",borderRadius:X==null?void 0:X.radius,maxWidth:!(X!=null&&X.height)&&!(X!=null&&X.width)?"150px":"auto",display:"block",margin:"auto",objectFit:"contain",transform:`rotate(${(X==null?void 0:X.rotate)||0}deg)`,cursor:X!=null&&X.preview?"pointer":"unset"},e=`${p.index||p.key}_parsed`;if(X!=null&&X.parse&&(X==null||X.parse(a).then(l=>_[e]=l)),X!=null&&X.parse&&!_[e])return yt.createVNode("div",null,[yt.createTextVNode("Loading...")]);{const l=_[e]||a;return yt.createVNode("img",{id:r,onMouseenter:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&at(r,l),onMouseleave:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null)}})}const Sr=" ";function Cr(X){return X==null?void 0:X.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Tr(X,at){return X==null?void 0:X.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,at??Sr).replace(/M/g,"*")}function Mr(X){return Me("phone",(s,C)=>{const _=Ee(s,C),p=Tr(X!=null&&X.safe?Cr(_):_,X==null?void 0:X.separator);return X!=null&&X.callable?yt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[p]):yt.createVNode("span",null,[p])})}function Er(X){return Me("render",s=>X(s))}function Ar(X){return Me("tag",(s,C)=>{const _=Ee(s,C),p=(X==null?void 0:X.textColors)||["#F87335"],o=(X==null?void 0:X.backgroundColors)||["#FFF4E8"];return yt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[_.map((a,r)=>yt.createVNode("span",{style:{margin:"2px",padding:"2px 5px",border:`solid 2px ${(X==null?void 0:X.border)||"transparent"}`,borderRadius:`${(X==null?void 0:X.radius)||0}px`,color:typeof p=="function"?p(a,r):p[r%p.length],backgroundColor:typeof o=="function"?o(a,r):o[r%o.length]}},[a]))])})}function tr(X){if(typeof X=="string")return X;if(typeof X=="number")return`${X}px`}function Rr(X,at,s){var C,_;return typeof X=="function"?(C=X(s))==null?void 0:C.toString():typeof(X==null?void 0:X.content)=="function"?(_=X==null?void 0:X.content(s))==null?void 0:_.toString():typeof(X==null?void 0:X.content)=="string"?X==null?void 0:X.content:Ee(s,at)}function Or(X,at){if(typeof X!="function"){if(typeof(X==null?void 0:X.color)=="function")return X==null?void 0:X.color(at);if(typeof(X==null?void 0:X.color)=="string")return X==null?void 0:X.color}}function jr(X,at){if(typeof X!="function")return typeof(X==null?void 0:X.size)=="function"?tr(X==null?void 0:X.size(at)):tr(X==null?void 0:X.size)}function Ir(X,at){let s="";const C=Or(X,at),_=jr(X,at);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Nr(X){return Me("text",(s,C)=>{const _=Rr(X||{},C,s),p=Ir(X||{},s);return yt.createVNode("span",{style:p},[_])})}function Pr(){return{text:Nr,dict:xr,tag:Ar,render:Er,phone:Mr,image:kr,currency:Qe,date:Qe,button:yr}}function Ke(X,at){if(!(X!=null&&X.render))return;const s=X.render({...Pr()});return{render:({record:C})=>s(C,X,at),[gr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function Br(X,at,s){return X.map(C=>({...at||{},...C})).map(C=>Dr(C,s)).filter(Boolean)}function Dr(X,at){const{render:s,disableColumnMode:C}=Ke(X,{previewing:!1,emits:at})||{};if(!(C||X.visiable===!1||typeof X.visiable=="function"&&X.visiable()===!1))return{dataIndex:X.index||X.key,title:X.title,width:X.width==="auto"?void 0:X.width,align:X.align??"center",fixed:X.fixed,ellipsis:X.ellipsis??!0,sortable:X.sortable?{sorter:!0,sortDirections:["ascend","descend"],defaultSortOrder:X.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...X.extraProps,render:s}}function Fr(){return new br.Workbook}function Lr(X,at="Sheet1"){return X.addWorksheet(at,{headerFooter:{firstHeader:"",firstFooter:""}})}function zr(X,at){X.columns=at}function Ur(X,at){X.addRows(at)}async function $r({columns:X,rows:at,filename:s}){const C=Fr(),_=Lr(C);zr(_,X),Ur(_,at);const p=await C.xlsx.writeBuffer(),o=new Blob([p]);Vr(o,s||`${cr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Vr(X,at){const s=document.createElement("a");s.download=at||"download",s.href=URL.createObjectURL(X),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Hr(X,at){const s={};return X.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ke(_),content:typeof _.exportable=="object"?_.exportable.content:void 0})).forEach(_=>{var a;const p=(a=_.render)==null?void 0:a.render,o=()=>{var r;switch(!0){case!!_.content:return _.content&&_.content(at);case!!p:{const t=document.createElement("div"),e=yt.h(()=>p&&p({record:at}));return yt.render(e,t),(r=e.el)==null?void 0:r.innerText}default:return Ee(at,_.options)}};s[_.options.key]=o()}),s}function qr(X){switch(!0){case typeof X=="number":return X/6;case(typeof X=="string"&&X.endsWith("px")):return parseInt(X.replace("px",""))/6;default:return 30}}function Wr(X,at,s){const C=X.filter(p=>p.exportable!==!1).map(p=>{var o,a;return{key:p.key,header:((o=p.exportable)==null?void 0:o.header)||p.title,width:((a=p.exportable)==null?void 0:a.width)||qr(p.width)}}),_=at.map(p=>Hr(X,p));$r({columns:C,rows:_,filename:s})}function Xr(){return{exportExcel:Wr}}class Ye{constructor(at){Ne(this,"sort",{});Ne(this,"before",at=>{at.paramsQuery={...at.paramsQuery||{},sort:this.stringify(this.sort)}});at&&(this.sort=at)}update(at,s){at&&s&&(this.sort[at]=s)}remove(at){const s=Object.entries(this.sort).filter(([C])=>C!==at);this.sort={},s&&s.forEach(([C,_])=>{this.sort[C]=_})}reset(){this.sort={}}stringify(at){return typeof at!="object"?[]:(at instanceof Ye&&(at=at.sort),Object.entries(at).map(([s,C])=>`${s},${C}`))}}function Kr(X){return typeof X=="function"||Object.prototype.toString.call(X)==="[object Object]"&&!yt.isVNode(X)}const Yr=yt.defineComponent({props:{record:{type:Object,required:!0},columns:{type:Array,required:!0},minWidth:{type:Number,required:!1,default:350},border:{type:Boolean,default:!0},exclude:{type:Array,default:()=>[]},layout:{type:String,required:!1,default:"horizontal"},buttons:{type:Array,default:()=>[]}},setup(X){const at=yt.getCurrentInstance(),s=yt.ref(0),C=X.columns.filter(p=>typeof p.visiable=="boolean"?p.visiable:typeof p.visiable=="function"?p.visiable():!0).map(p=>({options:p,renderer:Ke(p,{previewing:!0})})).filter(({options:p})=>{var o;return!((o=X.exclude)!=null&&o.includes(p.key))}).filter(({renderer:p})=>!(p!=null&&p.disableViewMode));function _(){var p;if(at){const o=(p=at.proxy)==null?void 0:p.$el;s.value=Math.floor(o.offsetWidth/X.minWidth)}}return yt.onMounted(()=>{_()}),()=>{let p;return yt.createVNode("div",{class:"preview-container"},[yt.createVNode(_e.Descriptions,{column:s.value,bordered:!0,align:"left",layout:X.layout},Kr(p=C.map(o=>yt.createVNode(_e.DescriptionsItem,{label:o.options.title},{default:()=>{var a,r;return[(a=o.renderer)!=null&&a.render?(r=o.renderer)==null?void 0:r.render({record:X.record}):Ee(X.record,o.options)]}})))?p:{default:()=>[p]})])}}});const Zr=Symbol("ArcoConfigProvider"),Gr="arco",Jr="$arco",ir=X=>{var at,s,C;const _=yt.getCurrentInstance(),p=yt.inject(Zr,void 0),o=(C=(s=p==null?void 0:p.prefixCls)!=null?s:(at=_==null?void 0:_.appContext.config.globalProperties[Jr])==null?void 0:at.classPrefix)!=null?C:Gr;return X?`${o}-${X}`:o},Qr=Object.prototype.toString;function sr(X){return Qr.call(X)==="[object Number]"&&X===X}var or=(X,at)=>{for(const[s,C]of at)X[s]=C;return X};const tn=yt.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:at}){const s=ir("icon"),C=yt.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:X.spin}]),_=yt.computed(()=>{const o={};return X.size&&(o.fontSize=sr(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{at("click",o)}}}}),en=["stroke-width","stroke-linecap","stroke-linejoin"],rn=yt.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1),nn=[rn];function sn(X,at,s,C,_,p){return yt.openBlock(),yt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:yt.normalizeClass(X.cls),style:yt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:at[0]||(at[0]=(...o)=>X.onClick&&X.onClick(...o))},nn,14,en)}var qe=or(tn,[["render",sn]]);const on=Object.assign(qe,{install:(X,at)=>{var s;const C=(s=at==null?void 0:at.iconPrefix)!=null?s:"";X.component(C+qe.name,qe)}}),an=yt.defineComponent({name:"IconRefresh",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:at}){const s=ir("icon"),C=yt.computed(()=>[s,`${s}-refresh`,{[`${s}-spin`]:X.spin}]),_=yt.computed(()=>{const o={};return X.size&&(o.fontSize=sr(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{at("click",o)}}}}),ln=["stroke-width","stroke-linecap","stroke-linejoin"],un=yt.createElementVNode("path",{d:"M38.837 18C36.463 12.136 30.715 8 24 8 15.163 8 8 15.163 8 24s7.163 16 16 16c7.455 0 13.72-5.1 15.496-12M40 8v10H30"},null,-1),cn=[un];function hn(X,at,s,C,_,p){return yt.openBlock(),yt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:yt.normalizeClass(X.cls),style:yt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:at[0]||(at[0]=(...o)=>X.onClick&&X.onClick(...o))},cn,14,ln)}var We=or(an,[["render",hn]]);const fn=Object.assign(We,{install:(X,at)=>{var s;const C=(s=at==null?void 0:at.iconPrefix)!=null?s:"";X.component(C+We.name,We)}});function dn(X,at,{tableForm:s,tableEvents:C}){const _=X.refreshable||X.exportable||at.slots.actions,p=(s==null?void 0:s.length)&&_;return()=>yt.createVNode(yt.Fragment,null,[p&&yt.createVNode(_e.Divider,{margin:0},null),_&&yt.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:X.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[yt.createVNode("div",{class:"built-in"},[yt.createVNode(_e.Space,null,{default:()=>[X.refreshable&&yt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>yt.createVNode(fn,{onClick:()=>C("reload")},null)}),X.exportable&&yt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>yt.createVNode(on,{onClick:()=>C("export")},null)})]})]),yt.createVNode("div",{class:"customs"},[yt.createVNode(_e.Space,null,{default:()=>[at.slots.actions&&at.slots.actions()]})])])])}function pn(X,at,{tableForm:s,tableEvents:C,formInstance:_}){return s!=null&&s.length?()=>yt.createVNode("div",{class:"table-form"},[yt.createVNode(er.FormRender,{form:s,ref:p=>_&&(_.value=p),searchable:!0,onSubmit:()=>C("reload",{reset:!0})},null)]):()=>{}}function mn(X,at,{tableSource:s}){const C=yt.ref([]);function _(){const a=typeof X.selection=="string"?{type:X.selection}:X.selection;switch(a==null?void 0:a.type){case"radio":return{title:"选择",...a,selectedRowKeys:C.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:C.value,...a}}}function p(a,r,t){const{type:e}=_()||{};switch(e){case"radio":at.emit("update:radio-key",r),at.emit("update:radio-row",t);break;case"checkbox":at.emit("update:checkbox-keys",a),at.emit("update:checkbox-rows",a.map(l=>s.value.find(n=>n[X.rowKey]===l)));break}}function o(){yt.nextTick(()=>{at.emit("update:checkbox-keys",C.value),at.emit("update:checkbox-rows",C.value)})}return{selectedRowKeys:C,rowSelection:_(),onSelect:p,onSelectAll:o}}function bn(X,at,{pageService:s,tableEvents:C}){function _(o){s&&(s.pageIndex=o,C("reload"))}function p(o){s&&(s.pageSize=o,C("reload"))}return s?()=>yt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[yt.createVNode(_e.Pagination,{current:s.pageIndex,"onUpdate:current":o=>s.pageIndex=o,"page-size":s.pageSize,"onUpdate:page-size":o=>s.pageSize=o,total:s.total,"page-size-options":s.pageSizeOpts,"hide-on-single-page":!0,"show-total":!0,"show-page-size":!0,onChange:o=>_(o),onPageSizeChange:o=>p(o),style:{justifyContent:"flex-end"}},null)]):()=>{}}const gn=yt.defineComponent({props:{record:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(X){const at=Xe.useModal();function s(C){X.onSubmit&&X.onSubmit(C),at.close(C)}return()=>yt.createVNode("div",{class:"edit-form-container"},[yt.createVNode(er.FormRender,{name:"form",form:X.form,onSubmit:s},null)])}});function yn(X){return!!X&&(typeof X=="object"||typeof X=="function")&&typeof X.then=="function"}const ar=yt.defineComponent({props:{rowKey:{type:String,required:!0},form:{type:Object,required:!1},columns:{type:Object,required:!0},autoLoad:{type:Boolean,required:!1,default:!0},dataLoad:{type:Function,required:!1},height:{type:Number,required:!1},size:{type:String,required:!1,default:"large"},columnsOptions:{type:Object,required:!1},selection:{type:[String,Object],required:!1},radioKey:{type:[String,Number],required:!1},checkboxKeys:{type:Array,required:!1},radioRow:{type:Object,required:!1},checkboxRows:{type:Array,required:!1},exportable:{type:[Boolean,Object],required:!1,default:!1},refreshable:{type:Boolean,required:!1},actionsPosition:{type:String,required:!1,default:"right"},pageable:{type:[Object,Boolean],required:!1},sortable:{type:[Object],required:!1}},expose:["preview","export","edit","reload","tableSource","formSource","update:radio-key","update:radio-row","update:checkbox-keys","update:checkbox-rows"],setup(X,at){var M;const s=Math.random().toString(32).slice(2).toUpperCase(),C=yt.ref(),_=yt.ref(),p=yt.ref(),[o,a]=dr(X.columns),r=yt.ref(!1),t=X.form??pr(X.columns),e=n(),l=i();function n(){switch(!0){case typeof X.pageable=="boolean":return new Je;case(typeof X.pageable=="object"&&!!X.pageable.reset):return X.pageable;case(typeof X.pageable=="object"&&(!!X.pageable.index||!!X.pageable.size)):return new Je(X.pageable.index,X.pageable.size)}}function i(){const v=X.columns.find(m=>!!m.sortable);if(v)return new Ye({[v.key]:v.sortable,...X.sortable})}const c=v=>{const{exportExcel:m}=Xr();m((v==null?void 0:v.columns)||X.columns,(v==null?void 0:v.source)||o.value,(v==null?void 0:v.filename)||(typeof X.exportable=="object"?X.exportable.filename:void 0))},h=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要预览的数据");return p.value.open(Yr,{record:m,columns:X.columns},{title:(v==null?void 0:v.title)||"详情",mode:(v==null?void 0:v.mode)||"dialog"})},u=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要编辑的数据");return p.value.open(gn,{record:m,form:v==null?void 0:v.form,onSubmit:v.onSubmit},{title:(v==null?void 0:v.title)||"编辑",mode:(v==null?void 0:v.mode)||"dialog",footer:!0,form:"form"})},d=v=>{var g;if(!X.dataLoad)return;v!=null&&v.reset&&(e&&e.reset(),l&&l.reset());const m={...((g=_.value)==null?void 0:g.formSource)||{}};Object.keys(m).forEach(y=>{[null,void 0,""].includes(m[y])&&delete m[y]});const b=X.dataLoad({form:m,page:e,sort:l,update:a});yn(b)&&(r.value=!0,Promise.resolve(b).finally(()=>{r.value=!1}))},f=rr({reload:d,preview:h,export:c,edit:u});function w(v,m){l&&(m?l.update(v,m==="descend"?"desc":"asc"):l.remove(v),f("reload"))}const x=Br(X.columns,X.columnsOptions,f),A={tableEvents:f,tableForm:t,tableSource:o,formInstance:_,pageService:e},N=pn(X,at,A),L=dn(X,at,A),j=bn(X,at,A),{selectedRowKeys:P,rowSelection:D,onSelect:$,onSelectAll:B}=mn(X,at,A),k={rowKey:X.rowKey,size:X.size,scroll:{x:X.columns.reduce((v,m)=>v+=typeof m.width!="number"?Math.max(m.title.length*16,80):m.width,0),y:X.height??"100%"},rowSelection:D};return yt.onMounted(()=>{X.autoLoad&&d()}),{tableId:s,tableInstance:C,tableSource:o,tableOptions:k,tableColumns:x,tableEvents:f,tableForm:t,tableLoading:r,modalInstance:p,formSource:(M=_==null?void 0:_.value)==null?void 0:M.formSource,reload:d,preview:h,edit:u,export:c,onSorterChange:w,renders:{renderTableForm:N,renderTableActions:L,renderTablePagination:j},tableSelection:{selectedRowKeys:P,rowSelection:D,onSelect:$,onSelectAll:B}}},render(){const X=()=>yt.createVNode("div",{class:"table-body"},[yt.createVNode(_e.Table,yt.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:at=>this.tableInstance=at,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":at=>this.tableSelection.selectedRowKeys.value=at,pagination:!1},this.tableOptions),null)]);return yt.createVNode("div",{class:"table-render"},[yt.createVNode(Xe.ModalProvider,{ref:at=>this.modalInstance=at},{default:()=>[yt.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),X(),this.renders.renderTablePagination()])]})])}});function vn(X){return X}function wn(X){return X}const _n={install(X,at){X.component("TableRender",ar)}};exports.TableRenderResolver=hr.TableRenderResolver;exports.TableRender=ar;exports.default=_n;exports.defineColumns=vn;exports.defineTableLoad=wn;exports.useEvents=rr;exports.useTable=mr;
@@ -2,6 +2,7 @@ export * from './table-column-render';
2
2
  export * from './table-column-options';
3
3
  export * from './table-load-params';
4
4
  export * from './sortable-options';
5
+ export * from './pageable-options';
5
6
  export interface DataRecord {
6
7
  [key: string]: any;
7
8
  }
@@ -14,7 +14,7 @@ export interface TableColumnSharedOptions {
14
14
  * 列配置
15
15
  */
16
16
  export interface TableColumnOptions<T> {
17
- key: string;
17
+ key: string | keyof T;
18
18
  title: string;
19
19
  index?: string;
20
20
  fixed?: 'left' | 'right';
@@ -31,10 +31,18 @@ export interface TableColumnOptions<T> {
31
31
  visiable?: boolean | (() => boolean);
32
32
  extraProps?: Partial<Omit<TableColumnData, 'dataIndex' | 'title' | 'fixed' | 'align' | 'width'>>;
33
33
  }
34
+ export interface TableColumnTypeKeyOptions<T> extends TableColumnOptions<T> {
35
+ key: keyof T;
36
+ }
37
+ export interface TableColumnStringKeyOptions<T> extends TableColumnOptions<T> {
38
+ key: string;
39
+ }
34
40
  export interface ExportColumnOptions {
35
41
  header?: string;
36
42
  width?: number;
37
43
  content?: (record: DataRecord) => string | number | undefined;
38
44
  }
39
45
  export type TableColumnsOptions<T = DataRecord> = TableColumnOptions<T>[];
46
+ export type TableColumnsTypeKeyOptions<T = DataRecord> = TableColumnTypeKeyOptions<T>[];
47
+ export type TableColumnsStringKeyOptions<T = DataRecord> = TableColumnStringKeyOptions<T>[];
40
48
  export type DataFormatter<T> = (record: T) => string | number | Date | undefined;
@@ -22,7 +22,7 @@ export declare const TableRender: import("vue").DefineComponent<{
22
22
  required: false;
23
23
  default: boolean;
24
24
  };
25
- loadData: {
25
+ dataLoad: {
26
26
  type: PropType<(params: TableLoadParams) => (void | Promise<any>)>;
27
27
  required: false;
28
28
  };
@@ -978,7 +978,7 @@ export declare const TableRender: import("vue").DefineComponent<{
978
978
  required: false;
979
979
  default: boolean;
980
980
  };
981
- loadData: {
981
+ dataLoad: {
982
982
  type: PropType<(params: TableLoadParams) => (void | Promise<any>)>;
983
983
  required: false;
984
984
  };
@@ -1,2 +1,3 @@
1
- import type { DataRecord, TableColumnsOptions } from '../interfaces';
2
- export declare function defineColumns<T = DataRecord>(columns: TableColumnsOptions<T>): TableColumnsOptions<T>;
1
+ import type { DataRecord, TableColumnsOptions, TableColumnsStringKeyOptions, TableColumnsTypeKeyOptions } from '../interfaces';
2
+ export declare function defineColumns<T = DataRecord>(columns: TableColumnsTypeKeyOptions<T>): TableColumnsOptions<T>;
3
+ export declare function defineColumns<T = DataRecord>(columns: TableColumnsStringKeyOptions<T>): TableColumnsOptions<T>;
package/dist/es/index.mjs CHANGED
@@ -34090,7 +34090,7 @@ const Vn = /* @__PURE__ */ Be({
34090
34090
  required: !1,
34091
34091
  default: !0
34092
34092
  },
34093
- loadData: {
34093
+ dataLoad: {
34094
34094
  type: Function,
34095
34095
  required: !1
34096
34096
  },
@@ -34220,7 +34220,7 @@ const Vn = /* @__PURE__ */ Be({
34220
34220
  });
34221
34221
  }, d = (v) => {
34222
34222
  var g;
34223
- if (!X.loadData)
34223
+ if (!X.dataLoad)
34224
34224
  return;
34225
34225
  v != null && v.reset && (e && e.reset(), l && l.reset());
34226
34226
  const m = {
@@ -34229,7 +34229,7 @@ const Vn = /* @__PURE__ */ Be({
34229
34229
  Object.keys(m).forEach((y) => {
34230
34230
  [null, void 0, ""].includes(m[y]) && delete m[y];
34231
34231
  });
34232
- const b = X.loadData({
34232
+ const b = X.dataLoad({
34233
34233
  form: m,
34234
34234
  page: e,
34235
34235
  sort: l,
@@ -2,6 +2,7 @@ export * from './table-column-render';
2
2
  export * from './table-column-options';
3
3
  export * from './table-load-params';
4
4
  export * from './sortable-options';
5
+ export * from './pageable-options';
5
6
  export interface DataRecord {
6
7
  [key: string]: any;
7
8
  }
@@ -14,7 +14,7 @@ export interface TableColumnSharedOptions {
14
14
  * 列配置
15
15
  */
16
16
  export interface TableColumnOptions<T> {
17
- key: string;
17
+ key: string | keyof T;
18
18
  title: string;
19
19
  index?: string;
20
20
  fixed?: 'left' | 'right';
@@ -31,10 +31,18 @@ export interface TableColumnOptions<T> {
31
31
  visiable?: boolean | (() => boolean);
32
32
  extraProps?: Partial<Omit<TableColumnData, 'dataIndex' | 'title' | 'fixed' | 'align' | 'width'>>;
33
33
  }
34
+ export interface TableColumnTypeKeyOptions<T> extends TableColumnOptions<T> {
35
+ key: keyof T;
36
+ }
37
+ export interface TableColumnStringKeyOptions<T> extends TableColumnOptions<T> {
38
+ key: string;
39
+ }
34
40
  export interface ExportColumnOptions {
35
41
  header?: string;
36
42
  width?: number;
37
43
  content?: (record: DataRecord) => string | number | undefined;
38
44
  }
39
45
  export type TableColumnsOptions<T = DataRecord> = TableColumnOptions<T>[];
46
+ export type TableColumnsTypeKeyOptions<T = DataRecord> = TableColumnTypeKeyOptions<T>[];
47
+ export type TableColumnsStringKeyOptions<T = DataRecord> = TableColumnStringKeyOptions<T>[];
40
48
  export type DataFormatter<T> = (record: T) => string | number | Date | undefined;
@@ -22,7 +22,7 @@ export declare const TableRender: import("vue").DefineComponent<{
22
22
  required: false;
23
23
  default: boolean;
24
24
  };
25
- loadData: {
25
+ dataLoad: {
26
26
  type: PropType<(params: TableLoadParams) => (void | Promise<any>)>;
27
27
  required: false;
28
28
  };
@@ -978,7 +978,7 @@ export declare const TableRender: import("vue").DefineComponent<{
978
978
  required: false;
979
979
  default: boolean;
980
980
  };
981
- loadData: {
981
+ dataLoad: {
982
982
  type: PropType<(params: TableLoadParams) => (void | Promise<any>)>;
983
983
  required: false;
984
984
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/table-render",
3
3
  "type": "module",
4
- "version": "0.0.4",
4
+ "version": "0.0.5",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"