@gopowerteam/table-render 0.0.27 → 0.0.28

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.
@@ -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)})})(ir);var gr=ir.exports;const yr=Symbol.for("RenderColumnType");function Me(W,ot,s){return ot.$type=W,ot.$disableColumnMode=s==null?void 0:s.disableColumnMode,ot.$disableViewMode=s==null?void 0:s.disableViewMode,ot}function Ee(W,ot){return(ot.index||ot.key).split(".").reduce((s,C)=>s==null?void 0:s[C],W)}function He(W){return!!W&&(typeof W=="object"||typeof W=="function")&&typeof W.then=="function"}function vr(W){return Me("button",(s,C,_)=>{const p=Ke.useModal(),o=Array.isArray(W)?W:"buttons"in W?W.buttons:[W],a=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){if(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)){const l=t.onClick(s);He(l)&&t.autoReload!==!1&&l.then(()=>{_!=null&&_.emits&&(_==null||_.emits("reload"))}),!He(l)&&t.autoReload===!0&&_!=null&&_.emits&&(_==null||_.emits("reload"))}}return mt.createVNode(mt.Fragment,null,[o.filter(t=>a(t.visiable,!0)).map(t=>mt.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 tr(W){const ot=_=>_.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"),s=_=>(parseFloat(_.toString())/((W==null?void 0:W.scale)||1)).toFixed((W==null?void 0:W.precision)||2);return Me("dict",(_,p)=>{const o=Ee(_,p);return mt.createVNode("div",null,[(W==null?void 0:W.prefix)!==void 0&&mt.createVNode("span",null,[W==null?void 0:W.prefix]),mt.createVNode("span",{class:"currency_value"},[(W==null?void 0:W.thousands)===!1?s(o):ot(s(o))]),(W==null?void 0:W.suffix)!==void 0&&mt.createVNode("span",null,[W==null?void 0:W.suffix])])})}const wr={success:"arcoblue",warning:"orange",error:"red"};function _r(W){return W instanceof Map?W:W.dict}function xr(W){const ot=W instanceof Map?!1:W.tag;return typeof ot=="string"?wr[ot]:ot}function kr(W){const ot=_r(W),s=xr(W);return Me("dict",(_,p)=>{const o=Ee(_,p);return s?mt.createVNode(_e.Tag,{color:s===!0?void 0:s},{default:()=>[ot.get(o)||o]}):mt.createVNode("span",null,[ot.get(o)||o])})}const Sr={small:"20px",middle:"30px",large:"40px"};function Cr(W){function ot(_,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?(W==null?void 0:W.width)||"auto":Sr[(W==null?void 0:W.size)||"middle"],height:o!=null&&o.previewing&&(W==null?void 0:W.height)||"auto",borderRadius:W==null?void 0:W.radius,maxWidth:!(W!=null&&W.height)&&!(W!=null&&W.width)?"150px":"auto",display:"block",margin:"auto",objectFit:"contain",transform:`rotate(${(W==null?void 0:W.rotate)||0}deg)`,cursor:W!=null&&W.preview?"pointer":"unset"},e=`${p.index||p.key}_parsed`;if(W!=null&&W.parse){const l=W==null?void 0:W.parse(a,_);He(l)?l.then(n=>_[e]=n??""):_[e]=l??""}if(W!=null&&W.parse&&!_[e]===void 0)return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||a;return l?mt.createVNode("img",{id:r,onMouseenter:()=>(W==null?void 0:W.preview)&&!(o!=null&&o.previewing)&&ot(r,l),onMouseleave:()=>(W==null?void 0:W.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null):mt.createVNode(mt.Fragment,null,null)}})}const Tr=" ";function Mr(W){return W==null?void 0:W.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Er(W,ot){return W==null?void 0:W.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,ot??Tr).replace(/M/g,"*")}function Ar(W){return Me("phone",(s,C)=>{const _=Ee(s,C),p=Er(W!=null&&W.safe?Mr(_):_,W==null?void 0:W.separator);return W!=null&&W.callable?mt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[p]):mt.createVNode("span",null,[p])})}function Rr(W){return Me("render",s=>W(s))}function Or(W){return Me("tag",(s,C)=>{const _=Ee(s,C),p=(W==null?void 0:W.textColors)||["#F87335"],o=(W==null?void 0:W.backgroundColors)||["#FFF4E8"];return mt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[_.map((a,r)=>mt.createVNode("span",{style:{margin:"2px",padding:"2px 5px",border:`solid 2px ${(W==null?void 0:W.border)||"transparent"}`,borderRadius:`${(W==null?void 0:W.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 er(W){if(typeof W=="string")return W;if(typeof W=="number")return`${W}px`}function jr(W,ot,s){var C,_;return typeof W=="function"?(C=W(s))==null?void 0:C.toString():typeof(W==null?void 0:W.content)=="function"?(_=W==null?void 0:W.content(s))==null?void 0:_.toString():typeof(W==null?void 0:W.content)=="string"?W==null?void 0:W.content:Ee(s,ot)}function Ir(W,ot){if(typeof W!="function"){if(typeof(W==null?void 0:W.color)=="function")return W==null?void 0:W.color(ot);if(typeof(W==null?void 0:W.color)=="string")return W==null?void 0:W.color}}function Nr(W,ot){if(typeof W!="function")return typeof(W==null?void 0:W.size)=="function"?er(W==null?void 0:W.size(ot)):er(W==null?void 0:W.size)}function Pr(W,ot){let s="";const C=Ir(W,ot),_=Nr(W,ot);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Br(W){return Me("text",(s,C)=>{const _=jr(W||{},C,s),p=Pr(W||{},s);return mt.createVNode("span",{style:p},[_])})}function Dr(){return{text:Br,dict:kr,tag:Or,render:Rr,phone:Ar,image:Cr,currency:tr,date:tr,button:vr}}function Ye(W,ot){if(!(W!=null&&W.render))return;const s=W.render({...Dr()});return{render:({record:C})=>s(C,W,ot),[yr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function Fr(W,ot,s){return W.map(C=>({...ot||{},...C})).map(C=>Lr(C,s)).filter(Boolean)}function Lr(W,ot){const{render:s,disableColumnMode:C}=Ye(W,{previewing:!1,emits:ot})||{};if(!(C||W.visiable===!1||typeof W.visiable=="function"&&W.visiable()===!1))return{dataIndex:W.index||W.key,title:W.title,width:W.width==="auto"?void 0:W.width,align:W.align??"center",fixed:W.fixed,ellipsis:W.ellipsis??!0,sortable:W.sortable?{sorter:!0,sortDirections:["ascend","descend"],defaultSortOrder:W.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...W.extraProps,render:s}}function zr(){return new gr.Workbook}function Ur(W,ot="Sheet1"){return W.addWorksheet(ot,{headerFooter:{firstHeader:"",firstFooter:""}})}function $r(W,ot){W.columns=ot}function Vr(W,ot){W.addRows(ot)}async function Hr({columns:W,rows:ot,filename:s}){const C=zr(),_=Ur(C);$r(_,W),Vr(_,ot);const p=await C.xlsx.writeBuffer(),o=new Blob([p]);qr(o,s||`${hr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function qr(W,ot){const s=document.createElement("a");s.download=ot||"download",s.href=URL.createObjectURL(W),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Wr(W,ot){const s={};return W.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ye(_),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(ot);case!!p:{const t=document.createElement("div"),e=mt.h(()=>p&&p({record:ot}));return mt.render(e,t),(r=e.el)==null?void 0:r.innerText}default:return Ee(ot,_.options)}};s[_.options.key]=o()}),s}function Xr(W){switch(!0){case typeof W=="number":return W/6;case(typeof W=="string"&&W.endsWith("px")):return parseInt(W.replace("px",""))/6;default:return 30}}function Kr(W,ot,s){const C=W.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)||Xr(p.width)}}),_=ot.map(p=>Wr(W,p));Hr({columns:C,rows:_,filename:s})}function Yr(){return{exportExcel:Kr}}class Ze{constructor(ot){Ne(this,"sort",{});Ne(this,"before",ot=>{ot.paramsQuery={...ot.paramsQuery||{},sort:this.stringify(this.sort)}});ot&&(this.sort=ot)}update(ot,s){ot&&s&&(this.sort[ot]=s)}remove(ot){const s=Object.entries(this.sort).filter(([C])=>C!==ot);this.sort={},s&&s.forEach(([C,_])=>{this.sort[C]=_})}reset(){this.sort={}}stringify(ot){return typeof ot!="object"?[]:(ot instanceof Ze&&(ot=ot.sort),Object.entries(ot).map(([s,C])=>`${s},${C}`))}}function Zr(W){return typeof W=="function"||Object.prototype.toString.call(W)==="[object Object]"&&!mt.isVNode(W)}const Gr=mt.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(W){const ot=mt.getCurrentInstance(),s=mt.ref(0),C=W.columns.filter(p=>typeof p.visiable=="boolean"?p.visiable:typeof p.visiable=="function"?p.visiable():!0).map(p=>({options:p,renderer:Ye(p,{previewing:!0})})).filter(({options:p})=>{var o;return!((o=W.exclude)!=null&&o.includes(p.key))}).filter(({renderer:p})=>!(p!=null&&p.disableViewMode));function _(){var p;if(ot){const o=(p=ot.proxy)==null?void 0:p.$el;s.value=Math.floor(o.offsetWidth/W.minWidth)}}return mt.onMounted(()=>{_()}),()=>{let p;return mt.createVNode("div",{class:"preview-container"},[mt.createVNode(_e.Descriptions,{column:s.value,bordered:!0,align:"left",layout:W.layout},Zr(p=C.map(o=>mt.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:W.record}):Ee(W.record,o.options)]}})))?p:{default:()=>[p]})])}}});const Jr=Symbol("ArcoConfigProvider"),Qr="arco",tn="$arco",sr=W=>{var ot,s,C;const _=mt.getCurrentInstance(),p=mt.inject(Jr,void 0),o=(C=(s=p==null?void 0:p.prefixCls)!=null?s:(ot=_==null?void 0:_.appContext.config.globalProperties[tn])==null?void 0:ot.classPrefix)!=null?C:Qr;return W?`${o}-${W}`:o},en=Object.prototype.toString;function or(W){return en.call(W)==="[object Number]"&&W===W}var ar=(W,ot)=>{for(const[s,C]of ot)W[s]=C;return W};const rn=mt.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:W=>["butt","round","square"].includes(W)},strokeLinejoin:{type:String,default:"miter",validator:W=>["arcs","bevel","miter","miter-clip","round"].includes(W)},rotate:Number,spin:Boolean},emits:{click:W=>!0},setup(W,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:W.spin}]),_=mt.computed(()=>{const o={};return W.size&&(o.fontSize=or(W.size)?`${W.size}px`:W.size),W.rotate&&(o.transform=`rotate(${W.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),nn=["stroke-width","stroke-linecap","stroke-linejoin"],sn=mt.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1),on=[sn];function an(W,ot,s,C,_,p){return mt.openBlock(),mt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:mt.normalizeClass(W.cls),style:mt.normalizeStyle(W.innerStyle),"stroke-width":W.strokeWidth,"stroke-linecap":W.strokeLinecap,"stroke-linejoin":W.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>W.onClick&&W.onClick(...o))},on,14,nn)}var We=ar(rn,[["render",an]]);const ln=Object.assign(We,{install:(W,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";W.component(C+We.name,We)}}),un=mt.defineComponent({name:"IconRefresh",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:W=>["butt","round","square"].includes(W)},strokeLinejoin:{type:String,default:"miter",validator:W=>["arcs","bevel","miter","miter-clip","round"].includes(W)},rotate:Number,spin:Boolean},emits:{click:W=>!0},setup(W,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-refresh`,{[`${s}-spin`]:W.spin}]),_=mt.computed(()=>{const o={};return W.size&&(o.fontSize=or(W.size)?`${W.size}px`:W.size),W.rotate&&(o.transform=`rotate(${W.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),cn=["stroke-width","stroke-linecap","stroke-linejoin"],hn=mt.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),fn=[hn];function dn(W,ot,s,C,_,p){return mt.openBlock(),mt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:mt.normalizeClass(W.cls),style:mt.normalizeStyle(W.innerStyle),"stroke-width":W.strokeWidth,"stroke-linecap":W.strokeLinecap,"stroke-linejoin":W.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>W.onClick&&W.onClick(...o))},fn,14,cn)}var Xe=ar(un,[["render",dn]]);const pn=Object.assign(Xe,{install:(W,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";W.component(C+Xe.name,Xe)}});function mn(W,ot,{tableForm:s,tableEvents:C}){const _=W.refreshable||W.exportable||ot.slots.actions,p=!!(s!=null&&s.length)&&_;return _||p?()=>mt.createVNode(mt.Fragment,null,[p&&mt.createVNode(_e.Divider,{margin:0},null),_&&mt.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:W.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[mt.createVNode("div",{class:"built-in"},[mt.createVNode(_e.Space,null,{default:()=>[W.refreshable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(pn,{onClick:()=>C("reload")},null)}),W.exportable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(ln,{onClick:()=>C("export")},null)})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(_e.Space,null,{default:()=>[ot.slots.actions&&ot.slots.actions()]})])])]):()=>{}}function bn(W,ot,{tableForm:s,tableEvents:C,formInstance:_}){return s!=null&&s.length?()=>mt.createVNode("div",{class:"table-form"},[mt.createVNode(rr.FormRender,mt.mergeProps({form:s,ref:p=>_&&(_.value=p),searchable:!0,onSubmit:()=>C("reload",{reset:!0})},W.formOptions),null)]):()=>{}}function gn(W,ot,{tableSource:s}){const C=mt.ref([]);function _(){const a=typeof W.selection=="string"?{type:W.selection}:W.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":ot.emit("update:radio-key",r),ot.emit("update:radio-row",t);break;case"checkbox":ot.emit("update:checkbox-keys",a),ot.emit("update:checkbox-rows",a.map(l=>s.value.find(n=>n[W.rowKey]===l)));break}}function o(){mt.nextTick(()=>{ot.emit("update:checkbox-keys",C.value),ot.emit("update:checkbox-rows",C.value)})}return{selectedRowKeys:C,rowSelection:_(),onSelect:p,onSelectAll:o}}function yn(W,ot,{pageService:s,tableEvents:C}){function _(o){s&&(s.pageIndex=o,C("reload"))}function p(o){s&&(s.pageSize=o,C("reload"))}return s?()=>mt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[mt.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 vn=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(W){const ot=Ke.useModal();function s(C){W.onSubmit&&W.onSubmit(C),ot.close(C)}return console.log(W.value),()=>mt.createVNode("div",{class:"edit-form-container"},[mt.createVNode(rr.FormRender,{name:"form",value:W.value,form:W.form,onSubmit:s},null)])}}),lr=mt.defineComponent({props:{rowKey:{type:String,required:!0},form:{type:Object,required:!1},formOptions:{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,default:!1},sortable:{type:[Object],required:!1},draggable:{type:Boolean,required:!1}},expose:["preview","export","edit","reload","tableSource","formSource","update:radio-key","update:radio-row","update:checkbox-keys","update:checkbox-rows","formInstance","change"],setup(W,ot){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),p=mt.ref(),[o,a]=pr(W.columns),r=mt.ref(!1),t=W.form??mr(W.columns),e=n(),l=i();function n(){switch(!0){case(typeof W.pageable=="boolean"&&W.pageable===!0):return new Qe;case(typeof W.pageable=="object"&&!!W.pageable.reset):return W.pageable;case(typeof W.pageable=="object"&&(!!W.pageable.index||!!W.pageable.size)):return new Qe(W.pageable.index,W.pageable.size)}}function i(){const v=W.columns.find(m=>!!m.sortable);if(v||W.sortable)return new Ze({...W.sortable||{},...v?{[v.key]:v.sortable}:{}})}const c=v=>{const{exportExcel:m}=Yr();m((v==null?void 0:v.columns)||W.columns,(v==null?void 0:v.source)||o.value,(v==null?void 0:v.filename)||(typeof W.exportable=="object"?W.exportable.filename:void 0))},h=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[W.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(Gr,{record:m,columns:W.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[W.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(vn,{value: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(!W.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=W.dataLoad({form:m,page:e,sort:l,update:a});He(b)&&(r.value=!0,Promise.resolve(b).finally(()=>{r.value=!1}))},f=v=>{a(v),ot.emit("change",v)},w=nr({reload:d,preview:h,export:c,edit:u});function x(v,m){l&&(m?l.update(v,m==="descend"?"desc":"asc"):l.remove(v),w("reload"))}const A=Fr(W.columns,W.columnsOptions,w),I={tableEvents:w,tableForm:t,tableSource:o,formInstance:_,pageService:e,formOptions:W.formOptions},L=bn(W,ot,I),j=mn(W,ot,I),P=yn(W,ot,I),{selectedRowKeys:D,rowSelection:$,onSelect:B,onSelectAll:k}=gn(W,ot,I),M=mt.computed(()=>({rowKey:W.rowKey,size:W.size,scroll:{x:W.columns.reduce((v,m)=>v+=typeof m.width!="number"?Math.max(m.title.length*16,80):m.width,0),y:W.height??"100%"},rowSelection:$,draggable:W.draggable?{type:"handle",width:40}:void 0}));return mt.onMounted(()=>{W.autoLoad&&d()}),{tableId:s,tableInstance:C,tableSource:o,tableOptions:M,tableColumns:A,tableEvents:w,tableForm:t,tableLoading:r,modalInstance:p,formSource:mt.readonly(mt.computed(()=>{var v;return(v=_==null?void 0:_.value)==null?void 0:v.formSource})),formInstance:_,reload:d,preview:h,edit:u,export:c,onSorterChange:x,onTableChange:f,renders:{renderTableForm:L,renderTableActions:j,renderTablePagination:P},tableSelection:{selectedRowKeys:D,rowSelection:$,onSelect:B,onSelectAll:k}}},render(){const W=()=>mt.createVNode("div",{class:"table-body"},[mt.createVNode(_e.Table,mt.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:ot=>this.tableInstance=ot,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onChange:this.onTableChange,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":ot=>this.tableSelection.selectedRowKeys.value=ot,pagination:!1},this.tableOptions),null)]);return mt.createVNode("div",{class:"table-render"},[mt.createVNode(Ke.ModalProvider,{ref:ot=>this.modalInstance=ot},{default:()=>[mt.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),W(),this.renders.renderTablePagination()])]})])}});function wn(W){return W}function _n(W){return W}const xn={install(W,ot){W.component("TableRender",lr)}};exports.TableRenderResolver=fr.TableRenderResolver;exports.TableRender=lr;exports.default=xn;exports.defineColumns=wn;exports.defineTableLoad=_n;exports.useEvents=nr;exports.useTable=br;
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)})})(ir);var gr=ir.exports;const yr=Symbol.for("RenderColumnType");function Me(W,ot,s){return ot.$type=W,ot.$disableColumnMode=s==null?void 0:s.disableColumnMode,ot.$disableViewMode=s==null?void 0:s.disableViewMode,ot}function Ee(W,ot){return(ot.index||ot.key).split(".").reduce((s,C)=>s==null?void 0:s[C],W)}function He(W){return!!W&&(typeof W=="object"||typeof W=="function")&&typeof W.then=="function"}function vr(W){return Me("button",(s,C,_)=>{const p=Ke.useModal(),o=Array.isArray(W)?W:"buttons"in W?W.buttons:[W],a=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){if(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)){const l=t.onClick(s);He(l)&&t.autoReload!==!1&&l.then(()=>{_!=null&&_.emits&&(_==null||_.emits("reload"))}),!He(l)&&t.autoReload===!0&&_!=null&&_.emits&&(_==null||_.emits("reload"))}}return mt.createVNode(mt.Fragment,null,[o.filter(t=>a(t.visiable,!0)).map(t=>mt.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 tr(W){const ot=_=>_.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"),s=_=>(parseFloat(_.toString())/((W==null?void 0:W.scale)||1)).toFixed((W==null?void 0:W.precision)||2);return Me("dict",(_,p)=>{const o=Ee(_,p);return mt.createVNode("div",null,[(W==null?void 0:W.prefix)!==void 0&&mt.createVNode("span",null,[W==null?void 0:W.prefix]),mt.createVNode("span",{class:"currency_value"},[(W==null?void 0:W.thousands)===!1?s(o):ot(s(o))]),(W==null?void 0:W.suffix)!==void 0&&mt.createVNode("span",null,[W==null?void 0:W.suffix])])})}const wr={success:"arcoblue",warning:"orange",error:"red"};function _r(W){return W instanceof Map?W:W.dict}function xr(W){const ot=W instanceof Map?!1:W.tag;return typeof ot=="string"?wr[ot]:ot}function kr(W){const ot=_r(W),s=xr(W);return Me("dict",(_,p)=>{const o=Ee(_,p);return s?mt.createVNode(_e.Tag,{color:s===!0?void 0:s},{default:()=>[ot.get(o)||o]}):mt.createVNode("span",null,[ot.get(o)||o])})}const Sr={small:"20px",middle:"30px",large:"40px"};function Cr(W){function ot(_,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?(W==null?void 0:W.width)||"auto":Sr[(W==null?void 0:W.size)||"middle"],height:o!=null&&o.previewing&&(W==null?void 0:W.height)||"auto",borderRadius:W==null?void 0:W.radius,maxWidth:!(W!=null&&W.height)&&!(W!=null&&W.width)?"150px":"auto",display:"block",margin:"auto",objectFit:"contain",transform:`rotate(${(W==null?void 0:W.rotate)||0}deg)`,cursor:W!=null&&W.preview?"pointer":"unset"},e=`${p.index||p.key}_parsed`;if(W!=null&&W.parse){const l=W==null?void 0:W.parse(a,_);He(l)?l.then(n=>_[e]=n??""):_[e]=l??""}if(W!=null&&W.parse&&!_[e]===void 0)return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||a;return l?mt.createVNode("img",{id:r,onMouseenter:()=>(W==null?void 0:W.preview)&&!(o!=null&&o.previewing)&&ot(r,l),onMouseleave:()=>(W==null?void 0:W.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null):mt.createVNode(mt.Fragment,null,null)}})}const Tr=" ";function Mr(W){return W==null?void 0:W.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Er(W,ot){return W==null?void 0:W.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,ot??Tr).replace(/M/g,"*")}function Ar(W){return Me("phone",(s,C)=>{const _=Ee(s,C),p=Er(W!=null&&W.safe?Mr(_):_,W==null?void 0:W.separator);return W!=null&&W.callable?mt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[p]):mt.createVNode("span",null,[p])})}function Rr(W){return Me("render",s=>W(s))}function Or(W){return Me("tag",(s,C)=>{const _=Ee(s,C),p=(W==null?void 0:W.textColors)||["#F87335"],o=(W==null?void 0:W.backgroundColors)||["#FFF4E8"];return mt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[_.map((a,r)=>mt.createVNode("span",{style:{margin:"2px",padding:"2px 5px",border:`solid 2px ${(W==null?void 0:W.border)||"transparent"}`,borderRadius:`${(W==null?void 0:W.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 er(W){if(typeof W=="string")return W;if(typeof W=="number")return`${W}px`}function jr(W,ot,s){var C,_;return typeof W=="function"?(C=W(s))==null?void 0:C.toString():typeof(W==null?void 0:W.content)=="function"?(_=W==null?void 0:W.content(s))==null?void 0:_.toString():typeof(W==null?void 0:W.content)=="string"?W==null?void 0:W.content:Ee(s,ot)}function Ir(W,ot){if(typeof W!="function"){if(typeof(W==null?void 0:W.color)=="function")return W==null?void 0:W.color(ot);if(typeof(W==null?void 0:W.color)=="string")return W==null?void 0:W.color}}function Nr(W,ot){if(typeof W!="function")return typeof(W==null?void 0:W.size)=="function"?er(W==null?void 0:W.size(ot)):er(W==null?void 0:W.size)}function Pr(W,ot){let s="";const C=Ir(W,ot),_=Nr(W,ot);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Br(W){return Me("text",(s,C)=>{const _=jr(W||{},C,s),p=Pr(W||{},s);return mt.createVNode("span",{style:p},[_])})}function Dr(){return{text:Br,dict:kr,tag:Or,render:Rr,phone:Ar,image:Cr,currency:tr,date:tr,button:vr}}function Ye(W,ot){if(!(W!=null&&W.render))return;const s=W.render({...Dr()});return{render:({record:C})=>s(C,W,ot),[yr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function Fr(W,ot,s,C){return W.map(_=>({...ot||{},..._})).map(_=>Lr(_,s,C)).filter(Boolean)}function Lr(W,ot,s){const{render:C,disableColumnMode:_}=Ye(W,{previewing:!1,emits:ot})||{};if(!(_||W.visiable===!1||typeof W.visiable=="function"&&W.visiable()===!1))return{dataIndex:W.index||W.key,title:W.title,width:W.width==="auto"?void 0:W.width,align:W.align??"center",fixed:W.fixed,ellipsis:W.ellipsis??!0,sortable:W.sortable?{sorter:s==="server",sortDirections:["ascend","descend"],defaultSortOrder:W.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...W.extraProps,render:C}}function zr(){return new gr.Workbook}function Ur(W,ot="Sheet1"){return W.addWorksheet(ot,{headerFooter:{firstHeader:"",firstFooter:""}})}function $r(W,ot){W.columns=ot}function Vr(W,ot){W.addRows(ot)}async function Hr({columns:W,rows:ot,filename:s}){const C=zr(),_=Ur(C);$r(_,W),Vr(_,ot);const p=await C.xlsx.writeBuffer(),o=new Blob([p]);qr(o,s||`${hr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function qr(W,ot){const s=document.createElement("a");s.download=ot||"download",s.href=URL.createObjectURL(W),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Wr(W,ot){const s={};return W.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ye(_),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(ot);case!!p:{const t=document.createElement("div"),e=mt.h(()=>p&&p({record:ot}));return mt.render(e,t),(r=e.el)==null?void 0:r.innerText}default:return Ee(ot,_.options)}};s[_.options.key]=o()}),s}function Xr(W){switch(!0){case typeof W=="number":return W/6;case(typeof W=="string"&&W.endsWith("px")):return parseInt(W.replace("px",""))/6;default:return 30}}function Kr(W,ot,s){const C=W.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)||Xr(p.width)}}),_=ot.map(p=>Wr(W,p));Hr({columns:C,rows:_,filename:s})}function Yr(){return{exportExcel:Kr}}class Ze{constructor(ot){Ne(this,"sort",{});Ne(this,"before",ot=>{ot.paramsQuery={...ot.paramsQuery||{},sort:this.stringify(this.sort)}});ot&&(this.sort=ot)}update(ot,s){ot&&s&&(this.sort[ot]=s)}remove(ot){const s=Object.entries(this.sort).filter(([C])=>C!==ot);this.sort={},s&&s.forEach(([C,_])=>{this.sort[C]=_})}reset(){this.sort={}}stringify(ot){return typeof ot!="object"?[]:(ot instanceof Ze&&(ot=ot.sort),Object.entries(ot).map(([s,C])=>`${s},${C}`))}}function Zr(W){return typeof W=="function"||Object.prototype.toString.call(W)==="[object Object]"&&!mt.isVNode(W)}const Gr=mt.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(W){const ot=mt.getCurrentInstance(),s=mt.ref(0),C=W.columns.filter(p=>typeof p.visiable=="boolean"?p.visiable:typeof p.visiable=="function"?p.visiable():!0).map(p=>({options:p,renderer:Ye(p,{previewing:!0})})).filter(({options:p})=>{var o;return!((o=W.exclude)!=null&&o.includes(p.key))}).filter(({renderer:p})=>!(p!=null&&p.disableViewMode));function _(){var p;if(ot){const o=(p=ot.proxy)==null?void 0:p.$el;s.value=Math.floor(o.offsetWidth/W.minWidth)}}return mt.onMounted(()=>{_()}),()=>{let p;return mt.createVNode("div",{class:"preview-container"},[mt.createVNode(_e.Descriptions,{column:s.value,bordered:!0,align:"left",layout:W.layout},Zr(p=C.map(o=>mt.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:W.record}):Ee(W.record,o.options)]}})))?p:{default:()=>[p]})])}}});const Jr=Symbol("ArcoConfigProvider"),Qr="arco",tn="$arco",sr=W=>{var ot,s,C;const _=mt.getCurrentInstance(),p=mt.inject(Jr,void 0),o=(C=(s=p==null?void 0:p.prefixCls)!=null?s:(ot=_==null?void 0:_.appContext.config.globalProperties[tn])==null?void 0:ot.classPrefix)!=null?C:Qr;return W?`${o}-${W}`:o},en=Object.prototype.toString;function or(W){return en.call(W)==="[object Number]"&&W===W}var ar=(W,ot)=>{for(const[s,C]of ot)W[s]=C;return W};const rn=mt.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:W=>["butt","round","square"].includes(W)},strokeLinejoin:{type:String,default:"miter",validator:W=>["arcs","bevel","miter","miter-clip","round"].includes(W)},rotate:Number,spin:Boolean},emits:{click:W=>!0},setup(W,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:W.spin}]),_=mt.computed(()=>{const o={};return W.size&&(o.fontSize=or(W.size)?`${W.size}px`:W.size),W.rotate&&(o.transform=`rotate(${W.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),nn=["stroke-width","stroke-linecap","stroke-linejoin"],sn=mt.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1),on=[sn];function an(W,ot,s,C,_,p){return mt.openBlock(),mt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:mt.normalizeClass(W.cls),style:mt.normalizeStyle(W.innerStyle),"stroke-width":W.strokeWidth,"stroke-linecap":W.strokeLinecap,"stroke-linejoin":W.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>W.onClick&&W.onClick(...o))},on,14,nn)}var We=ar(rn,[["render",an]]);const ln=Object.assign(We,{install:(W,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";W.component(C+We.name,We)}}),un=mt.defineComponent({name:"IconRefresh",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:W=>["butt","round","square"].includes(W)},strokeLinejoin:{type:String,default:"miter",validator:W=>["arcs","bevel","miter","miter-clip","round"].includes(W)},rotate:Number,spin:Boolean},emits:{click:W=>!0},setup(W,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-refresh`,{[`${s}-spin`]:W.spin}]),_=mt.computed(()=>{const o={};return W.size&&(o.fontSize=or(W.size)?`${W.size}px`:W.size),W.rotate&&(o.transform=`rotate(${W.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),cn=["stroke-width","stroke-linecap","stroke-linejoin"],hn=mt.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),fn=[hn];function dn(W,ot,s,C,_,p){return mt.openBlock(),mt.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:mt.normalizeClass(W.cls),style:mt.normalizeStyle(W.innerStyle),"stroke-width":W.strokeWidth,"stroke-linecap":W.strokeLinecap,"stroke-linejoin":W.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>W.onClick&&W.onClick(...o))},fn,14,cn)}var Xe=ar(un,[["render",dn]]);const pn=Object.assign(Xe,{install:(W,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";W.component(C+Xe.name,Xe)}});function mn(W,ot,{tableForm:s,tableEvents:C}){const _=W.refreshable||W.exportable||ot.slots.actions,p=!!(s!=null&&s.length)&&_;return _||p?()=>mt.createVNode(mt.Fragment,null,[p&&mt.createVNode(_e.Divider,{margin:0},null),_&&mt.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:W.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[mt.createVNode("div",{class:"built-in"},[mt.createVNode(_e.Space,null,{default:()=>[W.refreshable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(pn,{onClick:()=>C("reload")},null)}),W.exportable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(ln,{onClick:()=>C("export")},null)})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(_e.Space,null,{default:()=>[ot.slots.actions&&ot.slots.actions()]})])])]):()=>{}}function bn(W,ot,{tableForm:s,tableEvents:C,formInstance:_}){return s!=null&&s.length?()=>mt.createVNode("div",{class:"table-form"},[mt.createVNode(rr.FormRender,mt.mergeProps({form:s,ref:p=>_&&(_.value=p),searchable:!0,onSubmit:()=>C("reload",{reset:!0})},W.formOptions),null)]):()=>{}}function gn(W,ot,{tableSource:s}){const C=mt.ref([]);function _(){const a=typeof W.selection=="string"?{type:W.selection}:W.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":ot.emit("update:radio-key",r),ot.emit("update:radio-row",t);break;case"checkbox":ot.emit("update:checkbox-keys",a),ot.emit("update:checkbox-rows",a.map(l=>s.value.find(n=>n[W.rowKey]===l)));break}}function o(){mt.nextTick(()=>{ot.emit("update:checkbox-keys",C.value),ot.emit("update:checkbox-rows",C.value)})}return{selectedRowKeys:C,rowSelection:_(),onSelect:p,onSelectAll:o}}function yn(W,ot,{pageService:s,tableEvents:C}){function _(o){s&&(s.pageIndex=o,C("reload"))}function p(o){s&&(s.pageSize=o,C("reload"))}return s?()=>mt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[mt.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 vn=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(W){const ot=Ke.useModal();function s(C){W.onSubmit&&W.onSubmit(C),ot.close(C)}return console.log(W.value),()=>mt.createVNode("div",{class:"edit-form-container"},[mt.createVNode(rr.FormRender,{name:"form",value:W.value,form:W.form,onSubmit:s},null)])}}),lr=mt.defineComponent({props:{rowKey:{type:String,required:!0},form:{type:Object,required:!1},formOptions:{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,default:void 0},sortable:{type:[Object],required:!1},draggable:{type:Boolean,required:!1}},expose:["preview","export","edit","reload","tableSource","formSource","update:radio-key","update:radio-row","update:checkbox-keys","update:checkbox-rows","formInstance","change"],setup(W,ot){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),p=mt.ref(),[o,a]=pr(W.columns),r=mt.ref(!1),t=W.form??mr(W.columns),e=n(),l=i();function n(){switch(!0){case(typeof W.pageable=="boolean"&&W.pageable===!0):return new Qe;case(typeof W.pageable=="object"&&!!W.pageable.reset):return W.pageable;case(typeof W.pageable=="object"&&(!!W.pageable.index||!!W.pageable.size)):return new Qe(W.pageable.index,W.pageable.size)}}function i(){const v=W.columns.find(m=>!!m.sortable);if(v||W.sortable)return new Ze({...W.sortable||{},...v?{[v.key]:v.sortable}:{}})}const c=v=>{const{exportExcel:m}=Yr();m((v==null?void 0:v.columns)||W.columns,(v==null?void 0:v.source)||o.value,(v==null?void 0:v.filename)||(typeof W.exportable=="object"?W.exportable.filename:void 0))},h=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[W.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(Gr,{record:m,columns:W.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[W.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(vn,{value: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(!W.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=W.dataLoad({form:m,page:e,sort:l,update:a});He(b)&&(r.value=!0,Promise.resolve(b).finally(()=>{r.value=!1}))},f=(v,{type:m})=>{switch(m){case"drag":{a(v),ot.emit("change",v);break}}},w=nr({reload:d,preview:h,export:c,edit:u});function x(v,m){l&&(m?l.update(v,m==="descend"?"desc":"asc"):l.remove(v),w("reload"))}const A=Fr(W.columns,W.columnsOptions,w,W.pageable?"server":"client"),I={tableEvents:w,tableForm:t,tableSource:o,formInstance:_,pageService:e,formOptions:W.formOptions},L=bn(W,ot,I),j=mn(W,ot,I),P=yn(W,ot,I),{selectedRowKeys:D,rowSelection:$,onSelect:B,onSelectAll:k}=gn(W,ot,I),M=mt.computed(()=>({rowKey:W.rowKey,size:W.size,scroll:{x:W.columns.reduce((v,m)=>v+=typeof m.width!="number"?Math.max(m.title.length*16,80):m.width,0),y:W.height??"100%"},rowSelection:$,draggable:W.draggable?{type:"handle",width:40}:void 0,pagination:W.pageable===void 0?!0:typeof W.pageable=="boolean"&&W.pageable!==!1}));return mt.onMounted(()=>{W.autoLoad&&d()}),{tableId:s,tableInstance:C,tableSource:o,tableOptions:M,tableColumns:A,tableEvents:w,tableForm:t,tableLoading:r,modalInstance:p,formSource:mt.readonly(mt.computed(()=>{var v;return(v=_==null?void 0:_.value)==null?void 0:v.formSource})),formInstance:_,reload:d,preview:h,edit:u,export:c,onSorterChange:x,onTableChange:f,renders:{renderTableForm:L,renderTableActions:j,renderTablePagination:P},tableSelection:{selectedRowKeys:D,rowSelection:$,onSelect:B,onSelectAll:k}}},render(){const W=()=>mt.createVNode("div",{class:"table-body"},[mt.createVNode(_e.Table,mt.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:ot=>this.tableInstance=ot,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onChange:this.onTableChange,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":ot=>this.tableSelection.selectedRowKeys.value=ot},this.tableOptions),null)]);return mt.createVNode("div",{class:"table-render"},[mt.createVNode(Ke.ModalProvider,{ref:ot=>this.modalInstance=ot},{default:()=>[mt.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),W(),this.renders.renderTablePagination()])]})])}});function wn(W){return W}function _n(W){return W}const xn={install(W,ot){W.component("TableRender",lr)}};exports.TableRenderResolver=fr.TableRenderResolver;exports.TableRender=lr;exports.default=xn;exports.defineColumns=wn;exports.defineTableLoad=_n;exports.useEvents=nr;exports.useTable=br;
@@ -92,7 +92,7 @@ export declare const TableRender: import("vue").DefineComponent<{
92
92
  size: number;
93
93
  }>;
94
94
  required: false;
95
- default: boolean;
95
+ default: undefined;
96
96
  };
97
97
  sortable: {
98
98
  type: PropType<Record<string, "desc" | "asc">>;
@@ -223,7 +223,8 @@ export declare const TableRender: import("vue").DefineComponent<{
223
223
  stripe?: unknown;
224
224
  size?: unknown;
225
225
  tableLayoutFixed?: unknown;
226
- loading?: unknown; /**
226
+ loading?: unknown;
227
+ /**
227
228
  * 加载表单数据
228
229
  */
229
230
  rowSelection?: unknown;
@@ -365,7 +366,8 @@ export declare const TableRender: import("vue").DefineComponent<{
365
366
  stripe?: unknown;
366
367
  size?: unknown;
367
368
  tableLayoutFixed?: unknown;
368
- loading?: unknown; /**
369
+ loading?: unknown;
370
+ /**
369
371
  * 加载表单数据
370
372
  */
371
373
  rowSelection?: unknown;
@@ -578,7 +580,8 @@ export declare const TableRender: import("vue").DefineComponent<{
578
580
  stripe?: unknown;
579
581
  size?: unknown;
580
582
  tableLayoutFixed?: unknown;
581
- loading?: unknown; /**
583
+ loading?: unknown;
584
+ /**
582
585
  * 加载表单数据
583
586
  */
584
587
  rowSelection?: unknown;
@@ -835,7 +838,8 @@ export declare const TableRender: import("vue").DefineComponent<{
835
838
  stripe?: unknown;
836
839
  size?: unknown;
837
840
  tableLayoutFixed?: unknown;
838
- loading?: unknown; /**
841
+ loading?: unknown;
842
+ /**
839
843
  * 加载表单数据
840
844
  */
841
845
  rowSelection?: unknown;
@@ -1706,7 +1710,9 @@ export declare const TableRender: import("vue").DefineComponent<{
1706
1710
  edit: <T_2 = DataRecord>(options: TableEditEventOptions<T_2>) => Promise<DataRecord>;
1707
1711
  export: (options?: TableExportEventOptions) => void;
1708
1712
  onSorterChange: (dataIndex: string, direction: string) => void;
1709
- onTableChange: (data: TableData[]) => void;
1713
+ onTableChange: (data: TableData[], { type }: {
1714
+ type: 'drag' | 'pagination' | 'sorter';
1715
+ }) => void;
1710
1716
  renders: {
1711
1717
  renderTableForm: (() => import("vue/jsx-runtime").JSX.Element) | (() => undefined);
1712
1718
  renderTableActions: () => JSX.Element | undefined;
@@ -1805,7 +1811,7 @@ export declare const TableRender: import("vue").DefineComponent<{
1805
1811
  size: number;
1806
1812
  }>;
1807
1813
  required: false;
1808
- default: boolean;
1814
+ default: undefined;
1809
1815
  };
1810
1816
  sortable: {
1811
1817
  type: PropType<Record<string, "desc" | "asc">>;
@@ -20,10 +20,10 @@ export declare function toRenderColumn<T>(options?: TableColumnOptions<T>, conte
20
20
  isRender: boolean;
21
21
  type: string | undefined;
22
22
  } | undefined;
23
- export declare function renderTableColumns(columns: TableColumnsOptions, columnsOptions: TableColumnSharedOptions | undefined, events: EventEmits): TableColumnData[];
23
+ export declare function renderTableColumns(columns: TableColumnsOptions, columnsOptions: TableColumnSharedOptions | undefined, events: EventEmits, pageableMode: 'client' | 'server'): TableColumnData[];
24
24
  /**
25
25
  * 创建表格列
26
26
  * @param options
27
27
  * @returns
28
28
  */
29
- export declare function renderTableColumn<T>(options: TableColumnOptions<T>, events: EventEmits): TableColumnData | undefined;
29
+ export declare function renderTableColumn<T>(options: TableColumnOptions<T>, events: EventEmits, pageableMode: 'client' | 'server'): TableColumnData | undefined;
package/dist/es/index.mjs CHANGED
@@ -33523,21 +33523,21 @@ function tr(W, ot) {
33523
33523
  type: s.$type
33524
33524
  };
33525
33525
  }
33526
- function hn(W, ot, s) {
33527
- return W.map((C) => ({
33526
+ function hn(W, ot, s, C) {
33527
+ return W.map((_) => ({
33528
33528
  ...ot || {},
33529
- ...C
33530
- })).map((C) => fn(C, s)).filter(Boolean);
33529
+ ..._
33530
+ })).map((_) => fn(_, s, C)).filter(Boolean);
33531
33531
  }
33532
- function fn(W, ot) {
33532
+ function fn(W, ot, s) {
33533
33533
  const {
33534
- render: s,
33535
- disableColumnMode: C
33534
+ render: C,
33535
+ disableColumnMode: _
33536
33536
  } = tr(W, {
33537
33537
  previewing: !1,
33538
33538
  emits: ot
33539
33539
  }) || {};
33540
- if (!(C || W.visiable === !1 || typeof W.visiable == "function" && W.visiable() === !1))
33540
+ if (!(_ || W.visiable === !1 || typeof W.visiable == "function" && W.visiable() === !1))
33541
33541
  return {
33542
33542
  dataIndex: W.index || W.key,
33543
33543
  title: W.title,
@@ -33546,13 +33546,13 @@ function fn(W, ot) {
33546
33546
  fixed: W.fixed,
33547
33547
  ellipsis: W.ellipsis ?? !0,
33548
33548
  sortable: W.sortable ? {
33549
- sorter: !0,
33549
+ sorter: s === "server",
33550
33550
  sortDirections: ["ascend", "descend"],
33551
33551
  defaultSortOrder: W.sortable === "asc" ? "ascend" : "descend"
33552
33552
  } : void 0,
33553
33553
  tooltip: !0,
33554
33554
  ...W.extraProps,
33555
- render: s
33555
+ render: C
33556
33556
  };
33557
33557
  }
33558
33558
  function dn() {
@@ -34163,7 +34163,7 @@ const qn = /* @__PURE__ */ De({
34163
34163
  pageable: {
34164
34164
  type: [Object, Boolean],
34165
34165
  required: !1,
34166
- default: !1
34166
+ default: void 0
34167
34167
  },
34168
34168
  sortable: {
34169
34169
  type: [Object],
@@ -34263,8 +34263,15 @@ const qn = /* @__PURE__ */ De({
34263
34263
  We(b) && (r.value = !0, Promise.resolve(b).finally(() => {
34264
34264
  r.value = !1;
34265
34265
  }));
34266
- }, f = (v) => {
34267
- a(v), ot.emit("change", v);
34266
+ }, f = (v, {
34267
+ type: m
34268
+ }) => {
34269
+ switch (m) {
34270
+ case "drag": {
34271
+ a(v), ot.emit("change", v);
34272
+ break;
34273
+ }
34274
+ }
34268
34275
  }, w = $r({
34269
34276
  reload: d,
34270
34277
  preview: h,
@@ -34274,7 +34281,7 @@ const qn = /* @__PURE__ */ De({
34274
34281
  function x(v, m) {
34275
34282
  l && (m ? l.update(v, m === "descend" ? "desc" : "asc") : l.remove(v), w("reload"));
34276
34283
  }
34277
- const A = hn(W.columns, W.columnsOptions, w), I = {
34284
+ const A = hn(W.columns, W.columnsOptions, w, W.pageable ? "server" : "client"), I = {
34278
34285
  tableEvents: w,
34279
34286
  tableForm: t,
34280
34287
  tableSource: o,
@@ -34297,7 +34304,8 @@ const qn = /* @__PURE__ */ De({
34297
34304
  draggable: W.draggable ? {
34298
34305
  type: "handle",
34299
34306
  width: 40
34300
- } : void 0
34307
+ } : void 0,
34308
+ pagination: W.pageable === void 0 ? !0 : typeof W.pageable == "boolean" && W.pageable !== !1
34301
34309
  }));
34302
34310
  return Je(() => {
34303
34311
  W.autoLoad && d();
@@ -34348,8 +34356,7 @@ const qn = /* @__PURE__ */ De({
34348
34356
  onChange: this.onTableChange,
34349
34357
  onSorterChange: this.onSorterChange,
34350
34358
  selectedKeys: this.tableSelection.selectedRowKeys.value,
34351
- "onUpdate:selectedKeys": (ot) => this.tableSelection.selectedRowKeys.value = ot,
34352
- pagination: !1
34359
+ "onUpdate:selectedKeys": (ot) => this.tableSelection.selectedRowKeys.value = ot
34353
34360
  }, this.tableOptions), null)]);
34354
34361
  return Wt("div", {
34355
34362
  class: "table-render"
@@ -92,7 +92,7 @@ export declare const TableRender: import("vue").DefineComponent<{
92
92
  size: number;
93
93
  }>;
94
94
  required: false;
95
- default: boolean;
95
+ default: undefined;
96
96
  };
97
97
  sortable: {
98
98
  type: PropType<Record<string, "desc" | "asc">>;
@@ -223,7 +223,8 @@ export declare const TableRender: import("vue").DefineComponent<{
223
223
  stripe?: unknown;
224
224
  size?: unknown;
225
225
  tableLayoutFixed?: unknown;
226
- loading?: unknown; /**
226
+ loading?: unknown;
227
+ /**
227
228
  * 加载表单数据
228
229
  */
229
230
  rowSelection?: unknown;
@@ -365,7 +366,8 @@ export declare const TableRender: import("vue").DefineComponent<{
365
366
  stripe?: unknown;
366
367
  size?: unknown;
367
368
  tableLayoutFixed?: unknown;
368
- loading?: unknown; /**
369
+ loading?: unknown;
370
+ /**
369
371
  * 加载表单数据
370
372
  */
371
373
  rowSelection?: unknown;
@@ -578,7 +580,8 @@ export declare const TableRender: import("vue").DefineComponent<{
578
580
  stripe?: unknown;
579
581
  size?: unknown;
580
582
  tableLayoutFixed?: unknown;
581
- loading?: unknown; /**
583
+ loading?: unknown;
584
+ /**
582
585
  * 加载表单数据
583
586
  */
584
587
  rowSelection?: unknown;
@@ -835,7 +838,8 @@ export declare const TableRender: import("vue").DefineComponent<{
835
838
  stripe?: unknown;
836
839
  size?: unknown;
837
840
  tableLayoutFixed?: unknown;
838
- loading?: unknown; /**
841
+ loading?: unknown;
842
+ /**
839
843
  * 加载表单数据
840
844
  */
841
845
  rowSelection?: unknown;
@@ -1706,7 +1710,9 @@ export declare const TableRender: import("vue").DefineComponent<{
1706
1710
  edit: <T_2 = DataRecord>(options: TableEditEventOptions<T_2>) => Promise<DataRecord>;
1707
1711
  export: (options?: TableExportEventOptions) => void;
1708
1712
  onSorterChange: (dataIndex: string, direction: string) => void;
1709
- onTableChange: (data: TableData[]) => void;
1713
+ onTableChange: (data: TableData[], { type }: {
1714
+ type: 'drag' | 'pagination' | 'sorter';
1715
+ }) => void;
1710
1716
  renders: {
1711
1717
  renderTableForm: (() => import("vue/jsx-runtime").JSX.Element) | (() => undefined);
1712
1718
  renderTableActions: () => JSX.Element | undefined;
@@ -1805,7 +1811,7 @@ export declare const TableRender: import("vue").DefineComponent<{
1805
1811
  size: number;
1806
1812
  }>;
1807
1813
  required: false;
1808
- default: boolean;
1814
+ default: undefined;
1809
1815
  };
1810
1816
  sortable: {
1811
1817
  type: PropType<Record<string, "desc" | "asc">>;
@@ -20,10 +20,10 @@ export declare function toRenderColumn<T>(options?: TableColumnOptions<T>, conte
20
20
  isRender: boolean;
21
21
  type: string | undefined;
22
22
  } | undefined;
23
- export declare function renderTableColumns(columns: TableColumnsOptions, columnsOptions: TableColumnSharedOptions | undefined, events: EventEmits): TableColumnData[];
23
+ export declare function renderTableColumns(columns: TableColumnsOptions, columnsOptions: TableColumnSharedOptions | undefined, events: EventEmits, pageableMode: 'client' | 'server'): TableColumnData[];
24
24
  /**
25
25
  * 创建表格列
26
26
  * @param options
27
27
  * @returns
28
28
  */
29
- export declare function renderTableColumn<T>(options: TableColumnOptions<T>, events: EventEmits): TableColumnData | undefined;
29
+ export declare function renderTableColumn<T>(options: TableColumnOptions<T>, events: EventEmits, pageableMode: 'client' | 'server'): TableColumnData | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/table-render",
3
3
  "type": "module",
4
- "version": "0.0.27",
4
+ "version": "0.0.28",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"