@gopowerteam/table-render 0.0.113 → 0.0.115

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 d(a){return a>=65&&a<=90||a===95||a>=97&&a<=122||a>=192&&a<=214||a>=216&&a<=246||a>=248&&a<=767||a>=880&&a<=893||a>=895&&a<=8191||a>=8204&&a<=8205||a>=8304&&a<=8591||a>=11264&&a<=12271||a>=12289&&a<=55295||a>=63744&&a<=64975||a>=65008&&a<=65533||a>=65536&&a<=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=d,_.isNCNameChar=function(a){return d(a)||a===45||a===46||a>=48&&a<=57||a===183||a>=768&&a<=879||a>=8255&&a<=8256}},{}]},{},[15])(15)})})(ir);var dr=ir.exports;const pr=Symbol.for("RenderColumnType");function xe(q,lt,s){return lt.$type=q,lt.$disableColumnMode=s==null?void 0:s.disableColumnMode,lt.$disableViewMode=s==null?void 0:s.disableViewMode,lt}function Se(q,lt){return lt.index?lt.index.split(".").reduce((s,C)=>s==null?void 0:s[C],q):[lt.key].reduce((s,C)=>s==null?void 0:s[C],q)}function qe(q){return!!q&&(typeof q=="object"||typeof q=="function")&&typeof q.then=="function"}function mr(q){return xe("button",(s,C,_)=>{const d=Pe.useModal(),a=Array.isArray(q)?q:"buttons"in q?q.buttons:[q],o=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){if(await(t.confirm===!0?new Promise(l=>{d.confirm({title:"提示信息",content:t.confirmText??"您确定要执行该操作?",onOk:()=>l(!0),onCancel:()=>l(!1)})}):Promise.resolve(!0))&&(t!=null&&t.onClick)){const l=t.onClick(s);qe(l)&&t.autoReload!==!1&&l.then(()=>{_!=null&&_.emits&&(_==null||_.emits("reload"))}),!qe(l)&&t.autoReload===!0&&_!=null&&_.emits&&(_==null||_.emits("reload"))}}return mt.createVNode(mt.Fragment,null,[a.filter(t=>o(t.visiable,!0)).map(t=>mt.createVNode(ge.Button,{onClick:()=>r(t),type:t.type||"text",shape:t.shape,size:"mini",disabled:o(t.disabled,!1)},{icon:t.icon,default:()=>(typeof t.content=="function"?t.content(s):t.content)||""}))])},{disableViewMode:!0})}const br={thousands:!0,inputUnit:"元",outputUnit:"元"},Qe={分:10**0,元:10**2,万:10**4};function gr(q){q={...br,...q||{}};const lt=d=>{if(d==null)return;if((q==null?void 0:q.inputUnit)===(q==null?void 0:q.outputUnit))return d;const a=Qe[q.inputUnit]/Qe[q.outputUnit],o=d*a;return(q==null?void 0:q.precision)===void 0?o:o.toFixed(q==null?void 0:q.precision)},s=d=>{if(d==null)return;const a=d.toString().split(".");return a[0]=a[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),a.join(".")},C=d=>{if((q==null?void 0:q.zeroString)!==void 0&&Number(d)===0)return q==null?void 0:q.zeroString;if((q==null?void 0:q.nullString)!==void 0&&isNaN(Number(d)))return q==null?void 0:q.nullString;const a=lt(Number(d));return q!=null&&q.thousands?s(a):a};return xe("dict",(d,a)=>{const o=Se(d,a);return mt.createVNode("div",null,[typeof(q==null?void 0:q.prefix)=="string"?mt.createVNode("span",null,[q.prefix]):typeof(q==null?void 0:q.prefix)=="function"?mt.createVNode("span",null,[q.prefix()]):void 0,mt.createVNode("span",{class:"currency_value"},[C(o)]),typeof(q==null?void 0:q.suffix)=="string"?mt.createVNode("span",null,[q.suffix]):typeof(q==null?void 0:q.suffix)=="function"?mt.createVNode("span",null,[q.suffix()]):void 0])})}var yr={exports:{}};(function(q,lt){(function(s,C){q.exports=C(We)})(Zt,function(s){function C(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var _=C(s),d={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(a,o){return o==="W"?a+"周":a+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(a,o){var r=100*a+o;return r<600?"凌晨":r<900?"早上":r<1100?"上午":r<1300?"中午":r<1800?"下午":"晚上"}};return _.default.locale(d,null,!0),d})})(yr);We.locale("zh-cn");const vr={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",week:"ddd"};function wr(q){return xe("date",(s,C)=>{const _=Se(s,C),d=typeof(q==null?void 0:q.format)=="function"?q==null?void 0:q.format():vr[(q==null?void 0:q.format)||"datetime"],a=We(_);return mt.createVNode("span",null,[a.isValid()&&a.format(d)])})}const _r={success:"arcoblue",warning:"orange",error:"red"};function xr(q){return q instanceof Map?q:q.dict}function kr(q){const lt=q instanceof Map?!1:q.tag;return typeof lt=="string"?_r[lt]:lt}function Sr(q){const lt=xr(q),s=kr(q);return xe("dict",(_,d)=>{const a=Se(_,d);return s?mt.createVNode(ge.Tag,{color:s===!0?void 0:s},{default:()=>[lt.get(a)||a]}):mt.createVNode("span",null,[lt.get(a)||a])})}function Cr(q){const lt=Pe.useModal();async function s(_,d){_.confirm&&!await new Promise((o,r)=>{lt.open("confirm",{title:"确认",content:_.confirmText||"是否确认执行该操作?",onOk:()=>o(!0),onCancel:()=>o(!1)})})||_.onClick(d)}return xe("dropdown",(_,d)=>{const a=q.options.filter(o=>typeof o.visiable=="function"?o.visiable(_):o.visiable!==!1);return mt.createVNode(ge.Dropdown,{trigger:(q==null?void 0:q.trigger)||"click"},{default:()=>mt.createVNode(ge.Button,{disabled:a.length===0,type:"text"},{default:()=>[(q==null?void 0:q.content)||"操作"]}),content:()=>a.map(o=>mt.createVNode(ge.Dropdown.Option,{onClick:()=>s(o,_)},{default:()=>[typeof o.content=="function"?o.content(_):o.content]}))})})}const Tr={size:30};function Mr(q){q={...Tr,...q||{}};function lt(_,d){var o;const a=(o=document.getElementById(_))==null?void 0:o.getBoundingClientRect();if(a){const r=new Image(100,100);r.id=`IMAGE_${_}_PREVIEW`,r.src=d,r.setAttribute("style",["position:fixed;",`top:${a.top}px;`,`left:${a.left+a.width}px;`,"min-width:400px;","height:auto;","z-index:100;"].join("")),document.body.appendChild(r)}}function s(_){const d=document.getElementById(`IMAGE_${_}_PREVIEW`);d==null||d.remove()}return xe("image",(_,d,a)=>{const o=Se(_,d),r=Math.random().toString(32).slice(2).toUpperCase(),t={maxWidth:"100%",maxHeight:"100%",borderRadius:q==null?void 0:q.radius,objectFit:"contain",transform:`rotate(${(q==null?void 0:q.rotate)||0}deg)`,cursor:q!=null&&q.preview?"pointer":"unset"},e=`${d.index||d.key}_parsed`;if(q!=null&&q.parse){const l=q==null?void 0:q.parse(o,_);qe(l)?l.then(n=>_[e]=n??""):_[e]=l??""}if(q!=null&&q.parse&&!_[e]===void 0)return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||o;return l?mt.createVNode("div",{id:r,onMouseenter:()=>(q==null?void 0:q.preview)&&!(a!=null&&a.previewing)&&lt(r,l),onMouseleave:()=>(q==null?void 0:q.preview)&&!(a!=null&&a.previewing)&&s(r),style:{display:"flex",justifyContent:"center",alignItems:"center",height:`${q==null?void 0:q.size}px`}},[mt.createVNode("img",{alt:"image",style:t,src:l},null)]):mt.createVNode(mt.Fragment,null,null)}})}const Er=" ";function Ar(q){return q==null?void 0:q.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Rr(q,lt){return q==null?void 0:q.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,lt??Er).replace(/M/g,"*")}function Or(q){return xe("phone",(s,C)=>{const _=Se(s,C),d=Rr(q!=null&&q.safe?Ar(_):_,q==null?void 0:q.separator);return q!=null&&q.callable?mt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[d]):mt.createVNode("span",null,[d])})}function jr(q){return xe("render",s=>q(s))}function Ir(q){return xe("tag",(s,C)=>{const _=(q==null?void 0:q.maxCount)||5,d=q!=null&&q.formatter?q.formatter(s):Se(s,C),a=(q==null?void 0:q.textColors)||["#F87335"],o=(q==null?void 0:q.backgroundColors)||["#FFF4E8"],r=d.length>_,t=q==null?void 0:q.minWidth;return mt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[d.slice(0,_).map((e,l)=>mt.createVNode("span",{style:{minWidth:t?`${t}px`:"unset",textAlign:"center",margin:"2px",padding:"2px 5px",border:`solid 2px ${(q==null?void 0:q.border)||"transparent"}`,borderRadius:`${(q==null?void 0:q.radius)||0}px`,color:typeof a=="function"?a(e,l):a[l%a.length],backgroundColor:typeof o=="function"?o(e,l):o[l%o.length]}},[e])),r&&"..."])})}function tr(q){if(typeof q=="string")return q;if(typeof q=="number")return`${q}px`}function Nr(q,lt,s){var C,_;return typeof q=="function"?(C=q(s))==null?void 0:C.toString():typeof(q==null?void 0:q.content)=="function"?(_=q==null?void 0:q.content(s))==null?void 0:_.toString():typeof(q==null?void 0:q.content)=="string"?q==null?void 0:q.content:Se(s,lt)}function Pr(q,lt){if(typeof q!="function"){if(typeof(q==null?void 0:q.color)=="function")return q==null?void 0:q.color(lt);if(typeof(q==null?void 0:q.color)=="string")return q==null?void 0:q.color}}function Br(q,lt){if(typeof q!="function")return typeof(q==null?void 0:q.size)=="function"?tr(q==null?void 0:q.size(lt)):tr(q==null?void 0:q.size)}function Dr(q,lt){let s="";const C=Pr(q,lt),_=Br(q,lt);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Fr(q){return xe("text",(s,C)=>{const _=Nr(q||{},C,s),d=Dr(q||{},s);return mt.createVNode("span",{style:d},[_])})}function Lr(){return{dropdown:Cr,text:Fr,dict:Sr,tag:Ir,render:jr,phone:Or,image:Mr,currency:gr,date:wr,button:mr}}function Ke(q,lt){if(!(q!=null&&q.render))return;const s=q.render({...Lr()});return{render:({record:C})=>s(C,q,lt),[pr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function er(q,lt,s,C,_){return q.map(d=>({...lt||{},...d})).map(d=>zr(d,s,C,_)).filter(Boolean)}function zr(q,lt,s,C){const{render:_,disableColumnMode:d}=Ke(q,{previewing:!1,emits:C})||{};if(!(d||q.visiable===!1)&&!(typeof q.visiable=="function"&&q.visiable()===!1)&&!s.value.find(a=>a.key===q.key&&a.collapsed===!0))return{dataIndex:q.index||q.key,title:q.title,width:q.width==="auto"?void 0:q.width,align:q.align??"center",fixed:q.fixed,ellipsis:q.ellipsis??!0,sortable:q.sortable?{sorter:lt==="server",sortDirections:["ascend","descend"],defaultSortOrder:q.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...q.extraProps,render:_}}function Ur(){return new dr.Workbook}function $r(q,lt="Sheet1"){return q.addWorksheet(lt,{headerFooter:{firstHeader:"",firstFooter:""}})}function Vr(q,lt){q.columns=lt}function Hr(q,lt){q.addRows(lt)}async function qr({columns:q,rows:lt,filename:s}){const C=Ur(),_=$r(C);Vr(_,q),Hr(_,lt);const d=await C.xlsx.writeBuffer(),a=new Blob([d]);Wr(a,s||`${We().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Wr(q,lt){const s=document.createElement("a");s.download=lt||"download",s.href=URL.createObjectURL(q),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Xr(q,lt){const s={};return q.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ke(_),content:typeof _.exportable=="object"?_.exportable.content:void 0})).forEach(_=>{var o;const d=(o=_.render)==null?void 0:o.render,a=()=>{var r;switch(!0){case!!_.content:return _.content&&_.content(lt);case!!d:{const t=document.createElement("div"),e=mt.h(()=>d&&d({record:lt}));return mt.render(e,t),(r=e.el)==null?void 0:r.innerText}default:return Se(lt,_.options)}};s[_.options.key]=a()}),s}function Yr(q){switch(!0){case typeof q=="number":return q/6;case(typeof q=="string"&&q.endsWith("px")):return parseInt(q.replace("px",""))/6;default:return 30}}function Kr(q,lt,s){const C=q.filter(d=>d.exportable!==!1).map(d=>{var a,o;return{key:d.key,header:((a=d.exportable)==null?void 0:a.header)||d.title,width:((o=d.exportable)==null?void 0:o.width)||Yr(d.width)}}),_=lt.map(d=>Xr(q,d));qr({columns:C,rows:_,filename:s})}function Zr(){return{exportExcel:Kr}}class Ze{constructor(lt){Ne(this,"sort",{});Ne(this,"before",lt=>{lt.paramsQuery={...lt.paramsQuery||{},sort:this.stringify(this.sort)}});lt&&(this.sort=lt)}update(lt,s){lt&&s&&(this.sort[lt]=s)}remove(lt){const s=Object.entries(this.sort).filter(([C])=>C!==lt);this.sort={},s&&s.forEach(([C,_])=>{this.sort[C]=_})}reset(){this.sort={}}stringify(lt){return typeof lt!="object"?[]:(lt instanceof Ze&&(lt=lt.sort),Object.entries(lt).map(([s,C])=>`${s},${C}`))}}function Gr(q){return typeof q=="function"||Object.prototype.toString.call(q)==="[object Object]"&&!mt.isVNode(q)}const Jr=mt.defineComponent({props:{record:{type:Object,required:!0},columns:{type:Array,required:!0},minWidth:{type:Number,required:!1,default:320},border:{type:Boolean,default:!0},exclude:{type:Array,default:()=>[]},layout:{type:String,required:!1,default:"horizontal"},buttons:{type:Array,default:()=>[]}},setup(q){const lt=mt.getCurrentInstance(),s=mt.ref(0),C=q.columns.filter(d=>typeof d.visiable=="boolean"?d.visiable:typeof d.visiable=="function"?d.visiable():!0).map(d=>({options:d,renderer:Ke(d,{previewing:!0})})).filter(({options:d})=>{var a;return!((a=q.exclude)!=null&&a.includes(d.key))}).filter(({renderer:d})=>!(d!=null&&d.disableViewMode));function _(){var d;if(lt){const a=(d=lt.proxy)==null?void 0:d.$el;s.value=Math.floor(a.offsetWidth/q.minWidth)}}return mt.onMounted(()=>{_()}),()=>{let d;return mt.createVNode("div",{class:"preview-container"},[mt.createVNode(ge.Descriptions,{column:s.value,bordered:!0,align:"left",layout:q.layout},Gr(d=C.map(a=>mt.createVNode(ge.DescriptionsItem,{label:a.options.title},{default:()=>{var o,r;return[(o=a.renderer)!=null&&o.render?(r=a.renderer)==null?void 0:r.render({record:q.record}):Se(q.record,a.options)]}})))?d:{default:()=>[d]})])}}});function Qr(q,lt,{tableForm:s,tableEvents:C}){const _=q.refreshable||q.exportable||lt.slots.actions,d=!!(s!=null&&s.length)&&_;return _||d?()=>mt.createVNode(mt.Fragment,null,[d&&mt.createVNode(ge.Divider,{margin:0},null),_&&mt.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:q.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[mt.createVNode("div",{class:"built-in"},[mt.createVNode(ge.Space,null,{default:()=>[q.refreshable&&mt.createVNode(ge.Button,{type:"primary",onClick:()=>C("reload")},{default:()=>[mt.createTextVNode("刷新")]}),q.exportable&&mt.createVNode(ge.Button,{type:"primary",onClick:()=>C("export")},{default:()=>[mt.createTextVNode("导出")]}),q.collapsable&&mt.createVNode(ge.Button,{type:"primary",onClick:()=>C("collapse")},{default:()=>[mt.createTextVNode("显示")]})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(ge.Space,null,{default:()=>[lt.slots.actions&&lt.slots.actions()]})])])]):()=>{}}function tn(q,lt,{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:d=>_&&(_.value=d),searchable:!0,onSubmit:()=>C("reload",{reset:!0})},q.formOptions),null)]):()=>{}}function en(q,lt,{tableSource:s}){const C=mt.ref([]);function _(){C.value=[],lt.emit("update:radio-key",null),lt.emit("update:radio-row",null),lt.emit("update:checkbox-keys",[]),lt.emit("update:checkbox-rows",[])}function d(){mt.nextTick(()=>{q.checkboxRows!==void 0&&(C.value=[...q.checkboxRows.map(t=>t[q.rowKey])]),q.checkboxKeys!==void 0&&(C.value=[...q.checkboxKeys]),q.radioKey&&(C.value=[q.radioKey]),q.radioRow&&(C.value=[q.radioRow[q.rowKey]])})}function a(){const t=typeof q.selection=="string"?{type:q.selection}:q.selection;switch(t==null?void 0:t.type){case"radio":return{title:"选择",...t,selectedRowKeys:C.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:C.value,...t}}}function o(t,e,l){const{type:n}=a()||{};switch(n){case"radio":lt.emit("update:radio-key",e),lt.emit("update:radio-row",l);break;case"checkbox":lt.emit("update:checkbox-keys",t),lt.emit("update:checkbox-rows",t.map(i=>{var c;return s.value.find(h=>h[q.rowKey]===i)||((c=q.checkboxRows)==null?void 0:c.find(h=>h[q.rowKey]===i))}));break}}function r(){mt.nextTick(()=>{lt.emit("update:checkbox-keys",C.value),lt.emit("update:checkbox-rows",C.value.map(t=>{var e;return s.value.find(l=>l[q.rowKey]===t)||((e=q.checkboxRows)==null?void 0:e.find(l=>l[q.rowKey]===t))}))})}return d(),{selectedRowKeys:C,rowSelection:a(),onSelect:o,onSelectAll:r,resetSelection:_,reloadSelection:d}}function rn(q,lt,{pageService:s,tableEvents:C}){function _(a){s&&(s.pageIndex=a,C("reload"))}function d(a){s&&(s.pageSize=a,C("reload"))}return s?()=>mt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[mt.createVNode(ge.Pagination,{current:s.pageIndex,"onUpdate:current":a=>s.pageIndex=a,"page-size":s.pageSize,"onUpdate:page-size":a=>s.pageSize=a,total:s.total,"page-size-options":s.pageSizeOpts,"hide-on-single-page":!0,"show-total":!0,"show-page-size":!0,onChange:a=>_(a),onPageSizeChange:a=>d(a),style:{justifyContent:"flex-end"}},null)]):()=>{}}const nn=mt.defineComponent({props:{collapsedColumns:{type:Array,required:!0}},setup(q){const lt=Pe.useModal(),s=mt.ref(q.collapsedColumns.map(_=>({label:_.title,value:_.key,disabled:!1}))),C=mt.ref(q.collapsedColumns.filter(_=>_.collapsed).map(_=>_.key));return Pe.onSubmit(()=>{const _=q.collapsedColumns.map(d=>({key:d.key,title:d.title,collapsed:C.value.includes(d.key)}));lt.close(_)}),()=>mt.createVNode("div",{class:"table-collapsed-render"},[mt.createVNode(ge.Transfer,{data:s.value,"default-value":C.value,onChange:_=>C.value=[..._],title:["显示列","隐藏列"],style:{justifyContent:"center"}},{default:()=>[mt.withDirectives(mt.createVNode("template",null,null),[[mt.resolveDirective("slot"),"source"]])]})])}}),sn=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(q){const lt=Pe.useModal();function s(C){q.onSubmit&&q.onSubmit(C),lt.close(C)}return console.log(q.value),()=>mt.createVNode("div",{class:"edit-form-container"},[mt.createVNode(rr.FormRender,{name:"form",value:q.value,form:q.form,onSubmit:s},null)])}}),sr=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},collapsable:{type:Boolean,required:!1,default:!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,String],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","resetSelection","reloadSelection","reloadColumns","change"],setup(q,lt){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),d=mt.ref(),[a,o]=cr(q.columns),r=mt.ref(!1),t=q.form??hr(q.columns),e=i(),l=h(),n=mt.ref(q.columns.map(E=>({key:E.key,title:E.title,collapsed:!!E.collapsed})));function i(){switch(!0){case(typeof q.pageable=="string"&&q.pageable==="server"):return new Ye;case(typeof q.pageable=="boolean"&&q.pageable===!0):return new Ye;case(typeof q.pageable=="object"&&!!q.pageable.reset):return q.pageable;case(typeof q.pageable=="object"&&(!!q.pageable.index||!!q.pageable.size)):return new Ye(q.pageable.index,q.pageable.size)}}const c=(()=>{switch(!0){case typeof q.pageable=="string":return q.pageable;case(q.pageable===void 0||q.pageable===!1):return"client";default:return"server"}})();function h(){const E=q.columns.find(O=>!!O.sortable);if(E||q.sortable)return new Ze({...q.sortable||{},...E?{[E.key]:E.sortable}:{}})}function u(E){const{exportExcel:O}=Zr();O((E==null?void 0:E.columns)||q.columns,(E==null?void 0:E.source)||a.value,(E==null?void 0:E.filename)||(typeof q.exportable=="object"?q.exportable.filename:void 0))}function p(E){let O;switch(!0){case!!(E!=null&&E.key):O=a.value.find(z=>z[q.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):O=E==null?void 0:E.record;break}if(!O)throw new Error("未找到需要预览的数据");return d.value.open(Jr,{record:O,columns:q.columns},{title:(E==null?void 0:E.title)||"详情",mode:(E==null?void 0:E.mode)||"dialog"})}function f(E){let O;switch(!0){case!!(E!=null&&E.key):O=a.value.find(z=>z[q.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):O=E==null?void 0:E.record;break}if(!O)throw new Error("未找到需要编辑的数据");return d.value.open(sn,{value:O,form:E==null?void 0:E.form,onSubmit:E.onSubmit},{title:(E==null?void 0:E.title)||"编辑",mode:(E==null?void 0:E.mode)||"dialog",footer:!0,form:"form"})}function w(E){var $;if(!q.dataLoad)return;E!=null&&E.reset&&(e&&e.reset(),l&&l.reset());const O={...(($=_.value)==null?void 0:$.formSource)||{}};Object.keys(O).forEach(X=>{[null,void 0,""].includes(O[X])&&delete O[X]});const z=q.dataLoad({form:O,page:e,sort:l,update:o});qe(z)&&(r.value=!0,Promise.resolve(z).finally(()=>{r.value=!1}))}function x(){d.value.open(nn,{collapsedColumns:n.value},{title:"显示列",size:"small",footer:!0}).then(E=>{n.value=E})}const R=(E,{type:O})=>{switch(O){case"drag":{o(E),lt.emit("change",E);break}}},N=nr({reload:w,preview:p,export:u,edit:f,collapse:x});function L(E,O){l&&(O?l.update(E,O==="descend"?"desc":"asc"):l.remove(E),N("reload"))}const I=mt.ref(er(q.columns,q.columnsOptions,c,n,N)),P={tableEvents:N,tableForm:t,tableSource:a,formInstance:_,pageService:e,formOptions:q.formOptions},D=tn(q,lt,P),U=Qr(q,lt,P),B=rn(q,lt,P),{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m,reloadSelection:b,resetSelection:g}=en(q,lt,P),y=mt.computed(()=>({rowKey:q.rowKey,size:q.size,bordered:!1,scroll:{x:q.columns.reduce((E,O)=>E+=typeof O.width!="number"?Math.max(O.title.length*16,80):O.width,0),y:q.height??"100%"},rowSelection:M,draggable:q.draggable?{type:"handle",width:40}:void 0,pagination:q.pageable===void 0||q.pageable==="client",selectedKeys:k.value}));function S(){I.value=er(q.columns,q.columnsOptions,c,n,N)}return mt.onMounted(()=>{q.autoLoad&&w()}),{tableId:s,tableInstance:C,tableSource:a,tableOptions:y,tableColumns:I,tableEvents:N,tableForm:t,tableLoading:r,modalInstance:d,formSource:mt.readonly(mt.computed(()=>{var E;return(E=_==null?void 0:_.value)==null?void 0:E.formSource})),formInstance:_,reload:w,preview:p,edit:f,export:u,onSorterChange:L,onTableChange:R,renders:{renderTableForm:D,renderTableActions:U,renderTablePagination:B},tableSelection:{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m},resetSelection:g,reloadSelection:b,reloadColumns:S}},render(){this.reloadColumns();const q=()=>mt.createVNode("div",{class:"table-body"},[mt.createVNode(ge.Table,mt.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:lt=>this.tableInstance=lt,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onChange:this.onTableChange,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":lt=>this.tableSelection.selectedRowKeys.value=lt},this.tableOptions),null)]);return mt.createVNode("div",{class:"table-render"},[mt.createVNode(Pe.ModalProvider,{ref:lt=>this.modalInstance=lt},{default:()=>[mt.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),q(),this.renders.renderTablePagination()])]})])}});function an(q){return q}function on(q){return q}const ln={install(q,lt){q.component("TableRender",sr)}};exports.TableRenderResolver=lr.TableRenderResolver;exports.TableRender=sr;exports.default=ln;exports.defineColumns=an;exports.defineTableLoad=on;exports.useEvents=nr;exports.useTable=fr;
57
+ */function d(a){return a>=65&&a<=90||a===95||a>=97&&a<=122||a>=192&&a<=214||a>=216&&a<=246||a>=248&&a<=767||a>=880&&a<=893||a>=895&&a<=8191||a>=8204&&a<=8205||a>=8304&&a<=8591||a>=11264&&a<=12271||a>=12289&&a<=55295||a>=63744&&a<=64975||a>=65008&&a<=65533||a>=65536&&a<=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=d,_.isNCNameChar=function(a){return d(a)||a===45||a===46||a>=48&&a<=57||a===183||a>=768&&a<=879||a>=8255&&a<=8256}},{}]},{},[15])(15)})})(ir);var dr=ir.exports;const pr=Symbol.for("RenderColumnType");function xe(q,lt,s){return lt.$type=q,lt.$disableColumnMode=s==null?void 0:s.disableColumnMode,lt.$disableViewMode=s==null?void 0:s.disableViewMode,lt}function Se(q,lt){return lt.index?lt.index.split(".").reduce((s,C)=>s==null?void 0:s[C],q):[lt.key].reduce((s,C)=>s==null?void 0:s[C],q)}function qe(q){return!!q&&(typeof q=="object"||typeof q=="function")&&typeof q.then=="function"}function mr(q){return xe("button",(s,C,_)=>{const d=Pe.useModal(),a=Array.isArray(q)?q:"buttons"in q?q.buttons:[q],o=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){if(await(t.confirm===!0?new Promise(l=>{d.confirm({title:"提示信息",content:t.confirmText??"您确定要执行该操作?",onOk:()=>l(!0),onCancel:()=>l(!1)})}):Promise.resolve(!0))&&(t!=null&&t.onClick)){const l=t.onClick(s);qe(l)&&t.autoReload!==!1&&l.then(()=>{_!=null&&_.emits&&(_==null||_.emits("reload"))}),!qe(l)&&t.autoReload===!0&&_!=null&&_.emits&&(_==null||_.emits("reload"))}}return mt.createVNode(mt.Fragment,null,[a.filter(t=>o(t.visiable,!0)).map(t=>mt.createVNode(ge.Button,{onClick:()=>r(t),type:t.type||"text",shape:t.shape,size:"mini",disabled:o(t.disabled,!1)},{icon:t.icon,default:()=>(typeof t.content=="function"?t.content(s):t.content)||""}))])},{disableViewMode:!0})}const br={thousands:!0,inputUnit:"元",outputUnit:"元"},Qe={分:10**0,元:10**2,万:10**4};function gr(q){q={...br,...q||{}};const lt=d=>{if(d==null)return;if((q==null?void 0:q.inputUnit)===(q==null?void 0:q.outputUnit))return d;const a=Qe[q.inputUnit]/Qe[q.outputUnit],o=d*a;return(q==null?void 0:q.precision)===void 0?o:o.toFixed(q==null?void 0:q.precision)},s=d=>{if(d==null)return;const a=d.toString().split(".");return a[0]=a[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),a.join(".")},C=d=>{if((q==null?void 0:q.zeroString)!==void 0&&Number(d)===0)return q==null?void 0:q.zeroString;if((q==null?void 0:q.nullString)!==void 0&&isNaN(Number(d)))return q==null?void 0:q.nullString;const a=lt(Number(d));return q!=null&&q.thousands?s(a):a};return xe("dict",(d,a)=>{const o=Se(d,a);return mt.createVNode("div",null,[typeof(q==null?void 0:q.prefix)=="string"?mt.createVNode("span",null,[q.prefix]):typeof(q==null?void 0:q.prefix)=="function"?mt.createVNode("span",null,[q.prefix()]):void 0,mt.createVNode("span",{class:"currency_value"},[C(o)]),typeof(q==null?void 0:q.suffix)=="string"?mt.createVNode("span",null,[q.suffix]):typeof(q==null?void 0:q.suffix)=="function"?mt.createVNode("span",null,[q.suffix()]):void 0])})}var yr={exports:{}};(function(q,lt){(function(s,C){q.exports=C(We)})(Zt,function(s){function C(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var _=C(s),d={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(a,o){return o==="W"?a+"周":a+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(a,o){var r=100*a+o;return r<600?"凌晨":r<900?"早上":r<1100?"上午":r<1300?"中午":r<1800?"下午":"晚上"}};return _.default.locale(d,null,!0),d})})(yr);We.locale("zh-cn");const vr={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",week:"ddd"};function wr(q){return xe("date",(s,C)=>{const _=Se(s,C),d=typeof(q==null?void 0:q.format)=="function"?q==null?void 0:q.format():vr[(q==null?void 0:q.format)||"datetime"],a=We(_);return mt.createVNode("span",null,[a.isValid()&&a.format(d)])})}const _r={success:"arcoblue",warning:"orange",error:"red"};function xr(q){return q instanceof Map?q:q.dict}function kr(q){const lt=q instanceof Map?!1:q.tag;return typeof lt=="string"?_r[lt]:lt}function Sr(q){const lt=xr(q),s=kr(q);return xe("dict",(_,d)=>{const a=Se(_,d);return s?mt.createVNode(ge.Tag,{color:s===!0?void 0:s},{default:()=>[lt.get(a)||a]}):mt.createVNode("span",null,[lt.get(a)||a])})}function Cr(q){const lt=Pe.useModal();async function s(_,d){_.confirm&&!await new Promise((o,r)=>{lt.open("confirm",{title:"确认",content:_.confirmText||"是否确认执行该操作?",onOk:()=>o(!0),onCancel:()=>o(!1)})})||_.onClick(d)}return xe("dropdown",(_,d)=>{const a=q.options.filter(o=>typeof o.visiable=="function"?o.visiable(_):o.visiable!==!1);return mt.createVNode(ge.Dropdown,{trigger:(q==null?void 0:q.trigger)||"click"},{default:()=>mt.createVNode(ge.Button,{disabled:a.length===0,type:"text"},{default:()=>[(q==null?void 0:q.content)||"操作"]}),content:()=>a.map(o=>mt.createVNode(ge.Dropdown.Option,{onClick:()=>s(o,_)},{default:()=>[typeof o.content=="function"?o.content(_):o.content]}))})})}const Tr={size:30};function Mr(q){q={...Tr,...q||{}};function lt(_,d){var o;const a=(o=document.getElementById(_))==null?void 0:o.getBoundingClientRect();if(a){const r=new Image(100,100);r.id=`IMAGE_${_}_PREVIEW`,r.src=d,r.setAttribute("style",["position:fixed;",`top:${a.top}px;`,`left:${a.left+a.width}px;`,"min-width:400px;","height:auto;","z-index:100;"].join("")),document.body.appendChild(r)}}function s(_){const d=document.getElementById(`IMAGE_${_}_PREVIEW`);d==null||d.remove()}return xe("image",(_,d,a)=>{const o=Se(_,d),r=Math.random().toString(32).slice(2).toUpperCase(),t={maxWidth:"100%",maxHeight:"100%",borderRadius:q==null?void 0:q.radius,objectFit:"contain",transform:`rotate(${(q==null?void 0:q.rotate)||0}deg)`,cursor:q!=null&&q.preview?"pointer":"unset"},e=`${d.index||d.key}_parsed`;if(q!=null&&q.parse){const l=q==null?void 0:q.parse(o,_);qe(l)?l.then(n=>_[e]=n??""):_[e]=l??""}if(q!=null&&q.parse&&!_[e]===void 0)return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||o;return l?mt.createVNode("div",{id:r,onMouseenter:()=>(q==null?void 0:q.preview)&&!(a!=null&&a.previewing)&&lt(r,l),onMouseleave:()=>(q==null?void 0:q.preview)&&!(a!=null&&a.previewing)&&s(r),style:{display:"flex",justifyContent:"center",alignItems:"center",height:`${q==null?void 0:q.size}px`}},[mt.createVNode("img",{alt:"image",style:t,src:l},null)]):mt.createVNode(mt.Fragment,null,null)}})}const Er=" ";function Ar(q){return q==null?void 0:q.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Rr(q,lt){return q==null?void 0:q.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,lt??Er).replace(/M/g,"*")}function Or(q){return xe("phone",(s,C)=>{const _=Se(s,C),d=Rr(q!=null&&q.safe?Ar(_):_,q==null?void 0:q.separator);return q!=null&&q.callable?mt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[d]):mt.createVNode("span",null,[d])})}function jr(q){return xe("render",s=>q(s))}function Ir(q){return xe("tag",(s,C)=>{const _=(q==null?void 0:q.maxCount)||5,d=q!=null&&q.formatter?q.formatter(s):Se(s,C),a=(q==null?void 0:q.textColors)||["#F87335"],o=(q==null?void 0:q.backgroundColors)||["#FFF4E8"],r=d.length>_,t=q==null?void 0:q.minWidth;return mt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[d.slice(0,_).map((e,l)=>mt.createVNode("span",{style:{minWidth:t?`${t}px`:"unset",textAlign:"center",margin:"2px",padding:"2px 5px",border:`solid 2px ${(q==null?void 0:q.border)||"transparent"}`,borderRadius:`${(q==null?void 0:q.radius)||0}px`,color:typeof a=="function"?a(e,l):a[l%a.length],backgroundColor:typeof o=="function"?o(e,l):o[l%o.length]}},[e])),r&&"..."])})}function tr(q){if(typeof q=="string")return q;if(typeof q=="number")return`${q}px`}function Nr(q,lt,s){var C,_;return typeof q=="function"?(C=q(s))==null?void 0:C.toString():typeof(q==null?void 0:q.content)=="function"?(_=q==null?void 0:q.content(s))==null?void 0:_.toString():typeof(q==null?void 0:q.content)=="string"?q==null?void 0:q.content:Se(s,lt)}function Pr(q,lt){if(typeof q!="function"){if(typeof(q==null?void 0:q.color)=="function")return q==null?void 0:q.color(lt);if(typeof(q==null?void 0:q.color)=="string")return q==null?void 0:q.color}}function Br(q,lt){if(typeof q!="function")return typeof(q==null?void 0:q.size)=="function"?tr(q==null?void 0:q.size(lt)):tr(q==null?void 0:q.size)}function Dr(q,lt){let s="";const C=Pr(q,lt),_=Br(q,lt);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Fr(q){return xe("text",(s,C)=>{const _=Nr(q||{},C,s),d=Dr(q||{},s);return mt.createVNode("span",{style:d},[_])})}function Lr(){return{dropdown:Cr,text:Fr,dict:Sr,tag:Ir,render:jr,phone:Or,image:Mr,currency:gr,date:wr,button:mr}}function Ke(q,lt){if(!(q!=null&&q.render))return;const s=q.render({...Lr()});return{render:({record:C})=>s(C,q,lt),[pr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function er(q,lt,s,C,_){return q.map(d=>({...lt||{},...d})).map(d=>zr(d,s,C,_)).filter(Boolean)}function zr(q,lt,s,C){const{render:_,disableColumnMode:d}=Ke(q,{previewing:!1,emits:C})||{};if(!(d||q.visiable===!1)&&!(typeof q.visiable=="function"&&q.visiable()===!1)&&!s.value.find(a=>a.key===q.key&&a.collapsed===!0))return{dataIndex:q.index||q.key,title:q.title,width:q.width==="auto"?void 0:q.width,align:q.align??"center",fixed:q.fixed,ellipsis:q.ellipsis??!0,sortable:q.sortable?{sorter:lt==="server",sortDirections:["ascend","descend"],defaultSortOrder:q.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...q.extraProps,render:_}}function Ur(){return new dr.Workbook}function $r(q,lt="Sheet1"){return q.addWorksheet(lt,{headerFooter:{firstHeader:"",firstFooter:""}})}function Vr(q,lt){q.columns=lt}function Hr(q,lt){q.addRows(lt)}async function qr({columns:q,rows:lt,filename:s}){const C=Ur(),_=$r(C);Vr(_,q),Hr(_,lt);const d=await C.xlsx.writeBuffer(),a=new Blob([d]);Wr(a,s||`${We().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Wr(q,lt){const s=document.createElement("a");s.download=lt||"download",s.href=URL.createObjectURL(q),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Xr(q,lt){const s={};return q.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ke(_),content:typeof _.exportable=="object"?_.exportable.content:void 0})).forEach(_=>{var o;const d=(o=_.render)==null?void 0:o.render,a=()=>{var r;switch(!0){case!!_.content:return _.content&&_.content(lt);case!!d:{const t=document.createElement("div"),e=mt.h(()=>d&&d({record:lt}));return mt.render(e,t),(r=e.el)==null?void 0:r.innerText}default:return Se(lt,_.options)}};s[_.options.key]=a()}),s}function Yr(q){switch(!0){case typeof q=="number":return q/6;case(typeof q=="string"&&q.endsWith("px")):return parseInt(q.replace("px",""))/6;default:return 30}}function Kr(q,lt,s){const C=q.filter(d=>d.exportable!==!1).map(d=>{var a,o;return{key:d.key,header:((a=d.exportable)==null?void 0:a.header)||d.title,width:((o=d.exportable)==null?void 0:o.width)||Yr(d.width)}}),_=lt.map(d=>Xr(q,d));qr({columns:C,rows:_,filename:s})}function Zr(){return{exportExcel:Kr}}class Ze{constructor(lt){Ne(this,"sort",{});Ne(this,"before",lt=>{lt.paramsQuery={...lt.paramsQuery||{},sort:this.stringify(this.sort)}});lt&&(this.sort=lt)}update(lt,s){lt&&s&&(this.sort[lt]=s)}remove(lt){const s=Object.entries(this.sort).filter(([C])=>C!==lt);this.sort={},s&&s.forEach(([C,_])=>{this.sort[C]=_})}reset(){this.sort={}}stringify(lt){return typeof lt!="object"?[]:(lt instanceof Ze&&(lt=lt.sort),Object.entries(lt).map(([s,C])=>`${s},${C}`))}}function Gr(q){return typeof q=="function"||Object.prototype.toString.call(q)==="[object Object]"&&!mt.isVNode(q)}const Jr=mt.defineComponent({props:{record:{type:Object,required:!0},columns:{type:Array,required:!0},minWidth:{type:Number,required:!1,default:320},border:{type:Boolean,default:!0},exclude:{type:Array,default:()=>[]},layout:{type:String,required:!1,default:"horizontal"},buttons:{type:Array,default:()=>[]}},setup(q){const lt=mt.getCurrentInstance(),s=mt.ref(0),C=q.columns.filter(d=>typeof d.visiable=="boolean"?d.visiable:typeof d.visiable=="function"?d.visiable():!0).map(d=>({options:d,renderer:Ke(d,{previewing:!0})})).filter(({options:d})=>{var a;return!((a=q.exclude)!=null&&a.includes(d.key))}).filter(({renderer:d})=>!(d!=null&&d.disableViewMode));function _(){var d;if(lt){const a=(d=lt.proxy)==null?void 0:d.$el;s.value=Math.floor(a.offsetWidth/q.minWidth)}}return mt.onMounted(()=>{_()}),()=>{let d;return mt.createVNode("div",{class:"preview-container"},[mt.createVNode(ge.Descriptions,{column:s.value,bordered:!0,align:"left",layout:q.layout},Gr(d=C.map(a=>mt.createVNode(ge.DescriptionsItem,{label:a.options.title},{default:()=>{var o,r;return[(o=a.renderer)!=null&&o.render?(r=a.renderer)==null?void 0:r.render({record:q.record}):Se(q.record,a.options)]}})))?d:{default:()=>[d]})])}}});function Qr(q,lt,{tableForm:s,tableEvents:C}){const _=q.refreshable||q.exportable||lt.slots.actions,d=!!(s!=null&&s.length)&&_;return _||d?()=>mt.createVNode(mt.Fragment,null,[d&&mt.createVNode(ge.Divider,{margin:0},null),_&&mt.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:q.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[mt.createVNode("div",{class:"built-in"},[mt.createVNode(ge.Space,null,{default:()=>[q.refreshable&&mt.createVNode(ge.Button,{type:"primary",onClick:()=>C("reload")},{default:()=>[mt.createTextVNode("刷新")]}),q.exportable&&mt.createVNode(ge.Button,{type:"primary",onClick:()=>C("export")},{default:()=>[mt.createTextVNode("导出")]}),q.collapsable&&mt.createVNode(ge.Button,{type:"primary",onClick:()=>C("collapse")},{default:()=>[mt.createTextVNode("显示")]})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(ge.Space,null,{default:()=>[lt.slots.actions&&lt.slots.actions()]})])])]):()=>{}}function tn(q,lt,{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:d=>_&&(_.value=d),searchable:!0,onSubmit:()=>C("reload",{reset:!0})},q.formOptions),null)]):()=>{}}function en(q,lt,{tableSource:s}){const C=mt.ref([]);function _(){C.value=[],lt.emit("update:radio-key",null),lt.emit("update:radio-row",null),lt.emit("update:checkbox-keys",[]),lt.emit("update:checkbox-rows",[])}function d(){mt.nextTick(()=>{q.checkboxRows!==void 0&&(C.value=[...q.checkboxRows.map(t=>t[q.rowKey])]),q.checkboxKeys!==void 0&&(C.value=[...q.checkboxKeys]),q.radioKey&&(C.value=[q.radioKey]),q.radioRow&&(C.value=[q.radioRow[q.rowKey]])})}function a(){const t=typeof q.selection=="string"?{type:q.selection}:q.selection;switch(t==null?void 0:t.type){case"radio":return{title:"选择",...t,selectedRowKeys:C.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:C.value,...t}}}function o(t,e,l){const{type:n}=a()||{};switch(n){case"radio":lt.emit("update:radio-key",e),lt.emit("update:radio-row",l);break;case"checkbox":lt.emit("update:checkbox-keys",t),lt.emit("update:checkbox-rows",t.map(i=>{var c;return s.value.find(h=>h[q.rowKey]===i)||((c=q.checkboxRows)==null?void 0:c.find(h=>h[q.rowKey]===i))}));break}}function r(){mt.nextTick(()=>{lt.emit("update:checkbox-keys",C.value),lt.emit("update:checkbox-rows",C.value.map(t=>{var e;return s.value.find(l=>l[q.rowKey]===t)||((e=q.checkboxRows)==null?void 0:e.find(l=>l[q.rowKey]===t))}))})}return d(),{selectedRowKeys:C,rowSelection:a(),onSelect:o,onSelectAll:r,resetSelection:_,reloadSelection:d}}function rn(q,lt,{pageService:s,tableEvents:C}){function _(a){s&&(s.pageIndex=a,C("reload"))}function d(a){s&&(s.pageSize=a,C("reload"))}return s?()=>mt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[mt.createVNode(ge.Pagination,{current:s.pageIndex,"onUpdate:current":a=>s.pageIndex=a,"page-size":s.pageSize,"onUpdate:page-size":a=>s.pageSize=a,total:s.total,"page-size-options":s.pageSizeOpts,"hide-on-single-page":!0,"show-total":!0,"show-page-size":!0,onChange:a=>_(a),onPageSizeChange:a=>d(a),style:{justifyContent:"flex-end"}},null)]):()=>{}}const nn=mt.defineComponent({props:{collapsedColumns:{type:Array,required:!0}},setup(q){const lt=Pe.useModal(),s=mt.ref(q.collapsedColumns.map(_=>({label:_.title,value:_.key,disabled:!1}))),C=mt.ref(q.collapsedColumns.filter(_=>_.collapsed).map(_=>_.key));return Pe.onSubmit(()=>{const _=q.collapsedColumns.map(d=>({key:d.key,title:d.title,collapsed:C.value.includes(d.key)}));lt.close(_)}),()=>mt.createVNode("div",{class:"table-collapsed-render"},[mt.createVNode(ge.Transfer,{data:s.value,"default-value":C.value,onChange:_=>C.value=[..._],title:["显示列","隐藏列"],style:{justifyContent:"center"}},{default:()=>[mt.withDirectives(mt.createVNode("template",null,null),[[mt.resolveDirective("slot"),"source"]])]})])}}),sn=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(q){const lt=Pe.useModal();function s(C){q.onSubmit&&q.onSubmit(C),lt.close(C)}return console.log(q.value),()=>mt.createVNode("div",{class:"edit-form-container"},[mt.createVNode(rr.FormRender,{name:"form",value:q.value,form:q.form,onSubmit:s},null)])}}),sr=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},collapsable:{type:Boolean,required:!1,default:!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,String],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","resetSelection","reloadSelection","reloadColumns","change"],setup(q,lt){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),d=mt.ref(),[a,o]=cr(q.columns),r=mt.ref(!1),t=q.form??hr(q.columns),e=i(),l=h(),n=mt.ref(q.columns.map(E=>({key:E.key,title:E.title,collapsed:!!E.collapsed})));function i(){switch(!0){case(typeof q.pageable=="string"&&q.pageable==="server"):return new Ye;case(typeof q.pageable=="boolean"&&q.pageable===!0):return new Ye;case(typeof q.pageable=="object"&&!!q.pageable.reset):return q.pageable;case(typeof q.pageable=="object"&&(!!q.pageable.index||!!q.pageable.size)):return new Ye(q.pageable.index,q.pageable.size)}}const c=(()=>{switch(!0){case typeof q.pageable=="string":return q.pageable;case(q.pageable===void 0||q.pageable===!1):return"client";default:return"server"}})();function h(){const E=q.columns.find(O=>!!O.sortable);if(E||q.sortable)return new Ze({...q.sortable||{},...E?{[E.key]:E.sortable}:{}})}function u(E){const{exportExcel:O}=Zr();O((E==null?void 0:E.columns)||q.columns,(E==null?void 0:E.source)||a.value,(E==null?void 0:E.filename)||(typeof q.exportable=="object"?q.exportable.filename:void 0))}function p(E){let O;switch(!0){case!!(E!=null&&E.key):O=a.value.find(z=>z[q.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):O=E==null?void 0:E.record;break}if(!O)throw new Error("未找到需要预览的数据");return d.value.open(Jr,{record:O,columns:q.columns},{title:(E==null?void 0:E.title)||"详情",mode:(E==null?void 0:E.mode)||"dialog"})}function f(E){let O;switch(!0){case!!(E!=null&&E.key):O=a.value.find(z=>z[q.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):O=E==null?void 0:E.record;break}if(!O)throw new Error("未找到需要编辑的数据");return d.value.open(sn,{value:O,form:E==null?void 0:E.form,onSubmit:E.onSubmit},{title:(E==null?void 0:E.title)||"编辑",mode:(E==null?void 0:E.mode)||"dialog",footer:!0,form:"form"})}function w(E){var $;if(!q.dataLoad)return;E!=null&&E.reset&&(e&&e.reset(),l&&l.reset());const O={...(($=_.value)==null?void 0:$.formSource)||{}};Object.keys(O).forEach(X=>{[null,void 0,""].includes(O[X])&&delete O[X]});const z=q.dataLoad({form:O,page:e,sort:l,update:o});qe(z)&&(r.value=!0,Promise.resolve(z).finally(()=>{r.value=!1}))}function x(){d.value.open(nn,{collapsedColumns:n.value},{title:"显示列",size:"small",footer:!0}).then(E=>{n.value=E})}const R=(E,{type:O})=>{switch(O){case"drag":{o(E),lt.emit("change",E);break}}},N=nr({reload:w,preview:p,export:u,edit:f,collapse:x});function L(E,O){l&&(O?l.update(E,O==="descend"?"desc":"asc"):l.remove(E),N("reload"))}const I=mt.ref(er(q.columns,q.columnsOptions,c,n,N)),P={tableEvents:N,tableForm:t,tableSource:a,formInstance:_,pageService:e,formOptions:q.formOptions},D=tn(q,lt,P),U=Qr(q,lt,P),B=rn(q,lt,P),{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m,reloadSelection:b,resetSelection:g}=en(q,lt,P),y=mt.computed(()=>({rowKey:q.rowKey,size:q.size,bordered:!1,scroll:{x:q.columns.reduce((E,O)=>E+=typeof O.width!="number"?Math.max(O.title.length*16,80):O.width,0),y:q.height??"100%"},rowSelection:M,draggable:q.draggable?{type:"handle",width:40}:void 0,pagination:q.pageable===void 0||q.pageable==="client",selectedKeys:k.value}));function S(){I.value=er(q.columns,q.columnsOptions,c,n,N)}return mt.onMounted(()=>{q.autoLoad&&w()}),{tableId:s,tableInstance:C,tableSource:a,tableOptions:y,tableColumns:I,tableEvents:N,tableForm:t,tableLoading:r,modalInstance:d,formSource:mt.readonly(mt.computed(()=>{var E;return(E=_==null?void 0:_.value)==null?void 0:E.formSource})),formInstance:_,reload:w,preview:p,edit:f,export:u,onSorterChange:L,onTableChange:R,renders:{renderTableForm:D,renderTableActions:U,renderTablePagination:B},tableSelection:{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m},resetSelection:g,reloadSelection:b,reloadColumns:S}},render(){this.reloadColumns();const q=()=>mt.createVNode("div",{class:"table-body"},[mt.createVNode(ge.Table,mt.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:lt=>this.tableInstance=lt,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onChange:this.onTableChange,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":lt=>this.tableSelection.selectedRowKeys.value=lt},this.tableOptions),null)]);return mt.createVNode("div",{class:"table-render"},[mt.createVNode(Pe.ModalProvider,{ref:lt=>this.modalInstance=lt},{default:()=>[mt.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),this.$slots.header&&this.$slots.header(),q(),this.renders.renderTablePagination()])]})])}});function an(q){return q}function on(q){return q}const ln={install(q,lt){q.component("TableRender",sr)}};exports.TableRenderResolver=lr.TableRenderResolver;exports.TableRender=sr;exports.default=ln;exports.defineColumns=an;exports.defineTableLoad=on;exports.useEvents=nr;exports.useTable=fr;
package/dist/es/index.mjs CHANGED
@@ -34450,7 +34450,7 @@ const An = /* @__PURE__ */ Xe({
34450
34450
  }, {
34451
34451
  default: () => [Ft("div", {
34452
34452
  class: "table-render-content"
34453
- }, [this.renders.renderTableForm(), this.renders.renderTableActions(), q(), this.renders.renderTablePagination()])]
34453
+ }, [this.renders.renderTableForm(), this.renders.renderTableActions(), this.$slots.header && this.$slots.header(), q(), this.renders.renderTablePagination()])]
34454
34454
  })]);
34455
34455
  }
34456
34456
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/table-render",
3
3
  "type": "module",
4
- "version": "0.0.113",
4
+ "version": "0.0.115",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@arco-design/web-vue": "^2.52.1",
57
- "@gopowerteam/form-render": "^0.0.64",
57
+ "@gopowerteam/form-render": "^0.0.65",
58
58
  "@gopowerteam/modal-render": "^0.0.41",
59
59
  "vue": "^3.0.0"
60
60
  },