@gopowerteam/table-render 0.0.22 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.cjs
CHANGED
|
@@ -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(X,ot,s){return ot.$type=X,ot.$disableColumnMode=s==null?void 0:s.disableColumnMode,ot.$disableViewMode=s==null?void 0:s.disableViewMode,ot}function Ee(X,ot){return(ot.index||ot.key).split(".").reduce((s,C)=>s==null?void 0:s[C],X)}function Xe(X){return!!X&&(typeof X=="object"||typeof X=="function")&&typeof X.then=="function"}function vr(X){return Me("button",(s,C,_)=>{const p=Ke.useModal(),o=Array.isArray(X)?X:"buttons"in X?X.buttons:[X],a=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){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);Xe(l)&&t.autoReload!==!1&&l.then(()=>{_!=null&&_.emits&&(_==null||_.emits("reload"))}),!Xe(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(X){const ot=_=>_.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"),s=_=>(parseFloat(_.toString())/((X==null?void 0:X.scale)||1)).toFixed((X==null?void 0:X.precision)||2);return Me("dict",(_,p)=>{const o=Ee(_,p);return mt.createVNode("div",null,[(X==null?void 0:X.prefix)!==void 0&&mt.createVNode("span",null,[X==null?void 0:X.prefix]),mt.createVNode("span",{class:"currency_value"},[(X==null?void 0:X.thousands)===!1?s(o):ot(s(o))]),(X==null?void 0:X.suffix)!==void 0&&mt.createVNode("span",null,[X==null?void 0:X.suffix])])})}const wr={success:"arcoblue",warning:"orange",error:"red"};function _r(X){return X instanceof Map?X:X.dict}function xr(X){const ot=X instanceof Map?!1:X.tag;return typeof ot=="string"?wr[ot]:ot}function kr(X){const ot=_r(X),s=xr(X);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])})}function Sr(X){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?(X==null?void 0:X.width)||"auto":"40px",height:o!=null&&o.previewing&&(X==null?void 0:X.height)||"auto",borderRadius:X==null?void 0:X.radius,maxWidth:!(X!=null&&X.height)&&!(X!=null&&X.width)?"150px":"auto",display:"block",margin:"auto",objectFit:"contain",transform:`rotate(${(X==null?void 0:X.rotate)||0}deg)`,cursor:X!=null&&X.preview?"pointer":"unset"},e=`${p.index||p.key}_parsed`;if(X!=null&&X.parse&&(X==null||X.parse(a).then(l=>_[e]=l)),X!=null&&X.parse&&!_[e])return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||a;return mt.createVNode("img",{id:r,onMouseenter:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&ot(r,l),onMouseleave:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null)}})}const Cr=" ";function Tr(X){return X==null?void 0:X.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Mr(X,ot){return X==null?void 0:X.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,ot??Cr).replace(/M/g,"*")}function Er(X){return Me("phone",(s,C)=>{const _=Ee(s,C),p=Mr(X!=null&&X.safe?Tr(_):_,X==null?void 0:X.separator);return X!=null&&X.callable?mt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[p]):mt.createVNode("span",null,[p])})}function Ar(X){return Me("render",s=>X(s))}function Rr(X){return Me("tag",(s,C)=>{const _=Ee(s,C),p=(X==null?void 0:X.textColors)||["#F87335"],o=(X==null?void 0:X.backgroundColors)||["#FFF4E8"];return mt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[_.map((a,r)=>mt.createVNode("span",{style:{margin:"2px",padding:"2px 5px",border:`solid 2px ${(X==null?void 0:X.border)||"transparent"}`,borderRadius:`${(X==null?void 0:X.radius)||0}px`,color:typeof p=="function"?p(a,r):p[r%p.length],backgroundColor:typeof o=="function"?o(a,r):o[r%o.length]}},[a]))])})}function er(X){if(typeof X=="string")return X;if(typeof X=="number")return`${X}px`}function Or(X,ot,s){var C,_;return typeof X=="function"?(C=X(s))==null?void 0:C.toString():typeof(X==null?void 0:X.content)=="function"?(_=X==null?void 0:X.content(s))==null?void 0:_.toString():typeof(X==null?void 0:X.content)=="string"?X==null?void 0:X.content:Ee(s,ot)}function jr(X,ot){if(typeof X!="function"){if(typeof(X==null?void 0:X.color)=="function")return X==null?void 0:X.color(ot);if(typeof(X==null?void 0:X.color)=="string")return X==null?void 0:X.color}}function Ir(X,ot){if(typeof X!="function")return typeof(X==null?void 0:X.size)=="function"?er(X==null?void 0:X.size(ot)):er(X==null?void 0:X.size)}function Nr(X,ot){let s="";const C=jr(X,ot),_=Ir(X,ot);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Pr(X){return Me("text",(s,C)=>{const _=Or(X||{},C,s),p=Nr(X||{},s);return mt.createVNode("span",{style:p},[_])})}function Br(){return{text:Pr,dict:kr,tag:Rr,render:Ar,phone:Er,image:Sr,currency:tr,date:tr,button:vr}}function Ye(X,ot){if(!(X!=null&&X.render))return;const s=X.render({...Br()});return{render:({record:C})=>s(C,X,ot),[yr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function Dr(X,ot,s){return X.map(C=>({...ot||{},...C})).map(C=>Fr(C,s)).filter(Boolean)}function Fr(X,ot){const{render:s,disableColumnMode:C}=Ye(X,{previewing:!1,emits:ot})||{};if(!(C||X.visiable===!1||typeof X.visiable=="function"&&X.visiable()===!1))return{dataIndex:X.index||X.key,title:X.title,width:X.width==="auto"?void 0:X.width,align:X.align??"center",fixed:X.fixed,ellipsis:X.ellipsis??!0,sortable:X.sortable?{sorter:!0,sortDirections:["ascend","descend"],defaultSortOrder:X.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...X.extraProps,render:s}}function Lr(){return new gr.Workbook}function zr(X,ot="Sheet1"){return X.addWorksheet(ot,{headerFooter:{firstHeader:"",firstFooter:""}})}function Ur(X,ot){X.columns=ot}function $r(X,ot){X.addRows(ot)}async function Vr({columns:X,rows:ot,filename:s}){const C=Lr(),_=zr(C);Ur(_,X),$r(_,ot);const p=await C.xlsx.writeBuffer(),o=new Blob([p]);Hr(o,s||`${hr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Hr(X,ot){const s=document.createElement("a");s.download=ot||"download",s.href=URL.createObjectURL(X),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function qr(X,ot){const s={};return X.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 Wr(X){switch(!0){case typeof X=="number":return X/6;case(typeof X=="string"&&X.endsWith("px")):return parseInt(X.replace("px",""))/6;default:return 30}}function Xr(X,ot,s){const C=X.filter(p=>p.exportable!==!1).map(p=>{var o,a;return{key:p.key,header:((o=p.exportable)==null?void 0:o.header)||p.title,width:((a=p.exportable)==null?void 0:a.width)||Wr(p.width)}}),_=ot.map(p=>qr(X,p));Vr({columns:C,rows:_,filename:s})}function Kr(){return{exportExcel:Xr}}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 Yr(X){return typeof X=="function"||Object.prototype.toString.call(X)==="[object Object]"&&!mt.isVNode(X)}const Zr=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(X){const ot=mt.getCurrentInstance(),s=mt.ref(0),C=X.columns.filter(p=>typeof p.visiable=="boolean"?p.visiable:typeof p.visiable=="function"?p.visiable():!0).map(p=>({options:p,renderer:Ye(p,{previewing:!0})})).filter(({options:p})=>{var o;return!((o=X.exclude)!=null&&o.includes(p.key))}).filter(({renderer:p})=>!(p!=null&&p.disableViewMode));function _(){var p;if(ot){const o=(p=ot.proxy)==null?void 0:p.$el;s.value=Math.floor(o.offsetWidth/X.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:X.layout},Yr(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:X.record}):Ee(X.record,o.options)]}})))?p:{default:()=>[p]})])}}});const Gr=Symbol("ArcoConfigProvider"),Jr="arco",Qr="$arco",sr=X=>{var ot,s,C;const _=mt.getCurrentInstance(),p=mt.inject(Gr,void 0),o=(C=(s=p==null?void 0:p.prefixCls)!=null?s:(ot=_==null?void 0:_.appContext.config.globalProperties[Qr])==null?void 0:ot.classPrefix)!=null?C:Jr;return X?`${o}-${X}`:o},tn=Object.prototype.toString;function or(X){return tn.call(X)==="[object Number]"&&X===X}var ar=(X,ot)=>{for(const[s,C]of ot)X[s]=C;return X};const en=mt.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:X.spin}]),_=mt.computed(()=>{const o={};return X.size&&(o.fontSize=or(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),rn=["stroke-width","stroke-linecap","stroke-linejoin"],nn=mt.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1),sn=[nn];function on(X,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(X.cls),style:mt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>X.onClick&&X.onClick(...o))},sn,14,rn)}var qe=ar(en,[["render",on]]);const an=Object.assign(qe,{install:(X,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";X.component(C+qe.name,qe)}}),ln=mt.defineComponent({name:"IconRefresh",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-refresh`,{[`${s}-spin`]:X.spin}]),_=mt.computed(()=>{const o={};return X.size&&(o.fontSize=or(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),un=["stroke-width","stroke-linecap","stroke-linejoin"],cn=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),hn=[cn];function fn(X,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(X.cls),style:mt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>X.onClick&&X.onClick(...o))},hn,14,un)}var We=ar(ln,[["render",fn]]);const dn=Object.assign(We,{install:(X,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";X.component(C+We.name,We)}});function pn(X,ot,{tableForm:s,tableEvents:C}){const _=X.refreshable||X.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:X.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[mt.createVNode("div",{class:"built-in"},[mt.createVNode(_e.Space,null,{default:()=>[X.refreshable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(dn,{onClick:()=>C("reload")},null)}),X.exportable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(an,{onClick:()=>C("export")},null)})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(_e.Space,null,{default:()=>[ot.slots.actions&&ot.slots.actions()]})])])]):()=>{}}function mn(X,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})},X.formOptions),null)]):()=>{}}function bn(X,ot,{tableSource:s}){const C=mt.ref([]);function _(){const a=typeof X.selection=="string"?{type:X.selection}:X.selection;switch(a==null?void 0:a.type){case"radio":return{title:"选择",...a,selectedRowKeys:C.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:C.value,...a}}}function p(a,r,t){const{type:e}=_()||{};switch(e){case"radio":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[X.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 gn(X,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 yn=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(X){const ot=Ke.useModal();function s(C){X.onSubmit&&X.onSubmit(C),ot.close(C)}return console.log(X.value),()=>mt.createVNode("div",{class:"edit-form-container"},[mt.createVNode(rr.FormRender,{name:"form",value:X.value,form:X.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(X,ot){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),p=mt.ref(),[o,a]=pr(X.columns),r=mt.ref(!1),t=X.form??mr(X.columns),e=n(),l=i();function n(){switch(!0){case(typeof X.pageable=="boolean"&&X.pageable===!0):return new Qe;case(typeof X.pageable=="object"&&!!X.pageable.reset):return X.pageable;case(typeof X.pageable=="object"&&(!!X.pageable.index||!!X.pageable.size)):return new Qe(X.pageable.index,X.pageable.size)}}function i(){const v=X.columns.find(m=>!!m.sortable);if(v||X.sortable)return new Ze({...X.sortable||{},...v?{[v.key]:v.sortable}:{}})}const c=v=>{const{exportExcel:m}=Kr();m((v==null?void 0:v.columns)||X.columns,(v==null?void 0:v.source)||o.value,(v==null?void 0:v.filename)||(typeof X.exportable=="object"?X.exportable.filename:void 0))},h=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要预览的数据");return p.value.open(Zr,{record:m,columns:X.columns},{title:(v==null?void 0:v.title)||"详情",mode:(v==null?void 0:v.mode)||"dialog"})},u=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要编辑的数据");return p.value.open(yn,{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(!X.dataLoad)return;v!=null&&v.reset&&(e&&e.reset(),l&&l.reset());const m={...((g=_.value)==null?void 0:g.formSource)||{}};Object.keys(m).forEach(y=>{[null,void 0,""].includes(m[y])&&delete m[y]});const b=X.dataLoad({form:m,page:e,sort:l,update:a});Xe(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=Dr(X.columns,X.columnsOptions,w),I={tableEvents:w,tableForm:t,tableSource:o,formInstance:_,pageService:e,formOptions:X.formOptions},L=mn(X,ot,I),j=pn(X,ot,I),P=gn(X,ot,I),{selectedRowKeys:D,rowSelection:$,onSelect:B,onSelectAll:k}=bn(X,ot,I),M=mt.computed(()=>({rowKey:X.rowKey,size:X.size,scroll:{x:X.columns.reduce((v,m)=>v+=typeof m.width!="number"?Math.max(m.title.length*16,80):m.width,0),y:X.height??"100%"},rowSelection:$,draggable:X.draggable?{type:"handle",width:40}:void 0}));return mt.onMounted(()=>{X.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 X=()=>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(),X(),this.renders.renderTablePagination()])]})])}});function vn(X){return X}function wn(X){return X}const _n={install(X,ot){X.component("TableRender",lr)}};exports.TableRenderResolver=fr.TableRenderResolver;exports.TableRender=lr;exports.default=_n;exports.defineColumns=vn;exports.defineTableLoad=wn;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(X,ot,s){return ot.$type=X,ot.$disableColumnMode=s==null?void 0:s.disableColumnMode,ot.$disableViewMode=s==null?void 0:s.disableViewMode,ot}function Ee(X,ot){return(ot.index||ot.key).split(".").reduce((s,C)=>s==null?void 0:s[C],X)}function Xe(X){return!!X&&(typeof X=="object"||typeof X=="function")&&typeof X.then=="function"}function vr(X){return Me("button",(s,C,_)=>{const p=Ke.useModal(),o=Array.isArray(X)?X:"buttons"in X?X.buttons:[X],a=(t,e)=>typeof t=="function"?t(s):t===void 0?e:t;async function r(t){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);Xe(l)&&t.autoReload!==!1&&l.then(()=>{_!=null&&_.emits&&(_==null||_.emits("reload"))}),!Xe(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(X){const ot=_=>_.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,"),s=_=>(parseFloat(_.toString())/((X==null?void 0:X.scale)||1)).toFixed((X==null?void 0:X.precision)||2);return Me("dict",(_,p)=>{const o=Ee(_,p);return mt.createVNode("div",null,[(X==null?void 0:X.prefix)!==void 0&&mt.createVNode("span",null,[X==null?void 0:X.prefix]),mt.createVNode("span",{class:"currency_value"},[(X==null?void 0:X.thousands)===!1?s(o):ot(s(o))]),(X==null?void 0:X.suffix)!==void 0&&mt.createVNode("span",null,[X==null?void 0:X.suffix])])})}const wr={success:"arcoblue",warning:"orange",error:"red"};function _r(X){return X instanceof Map?X:X.dict}function xr(X){const ot=X instanceof Map?!1:X.tag;return typeof ot=="string"?wr[ot]:ot}function kr(X){const ot=_r(X),s=xr(X);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])})}function Sr(X){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?(X==null?void 0:X.width)||"auto":"40px",height:o!=null&&o.previewing&&(X==null?void 0:X.height)||"auto",borderRadius:X==null?void 0:X.radius,maxWidth:!(X!=null&&X.height)&&!(X!=null&&X.width)?"150px":"auto",display:"block",margin:"auto",objectFit:"contain",transform:`rotate(${(X==null?void 0:X.rotate)||0}deg)`,cursor:X!=null&&X.preview?"pointer":"unset"},e=`${p.index||p.key}_parsed`;if(X!=null&&X.parse&&(X==null||X.parse(a,_).then(l=>_[e]=l)),X!=null&&X.parse&&!_[e])return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||a;return mt.createVNode("img",{id:r,onMouseenter:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&ot(r,l),onMouseleave:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null)}})}const Cr=" ";function Tr(X){return X==null?void 0:X.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Mr(X,ot){return X==null?void 0:X.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,ot??Cr).replace(/M/g,"*")}function Er(X){return Me("phone",(s,C)=>{const _=Ee(s,C),p=Mr(X!=null&&X.safe?Tr(_):_,X==null?void 0:X.separator);return X!=null&&X.callable?mt.createVNode("a",{style:"text-decoration:none;",href:`tel:${_}`},[p]):mt.createVNode("span",null,[p])})}function Ar(X){return Me("render",s=>X(s))}function Rr(X){return Me("tag",(s,C)=>{const _=Ee(s,C),p=(X==null?void 0:X.textColors)||["#F87335"],o=(X==null?void 0:X.backgroundColors)||["#FFF4E8"];return mt.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[_.map((a,r)=>mt.createVNode("span",{style:{margin:"2px",padding:"2px 5px",border:`solid 2px ${(X==null?void 0:X.border)||"transparent"}`,borderRadius:`${(X==null?void 0:X.radius)||0}px`,color:typeof p=="function"?p(a,r):p[r%p.length],backgroundColor:typeof o=="function"?o(a,r):o[r%o.length]}},[a]))])})}function er(X){if(typeof X=="string")return X;if(typeof X=="number")return`${X}px`}function Or(X,ot,s){var C,_;return typeof X=="function"?(C=X(s))==null?void 0:C.toString():typeof(X==null?void 0:X.content)=="function"?(_=X==null?void 0:X.content(s))==null?void 0:_.toString():typeof(X==null?void 0:X.content)=="string"?X==null?void 0:X.content:Ee(s,ot)}function jr(X,ot){if(typeof X!="function"){if(typeof(X==null?void 0:X.color)=="function")return X==null?void 0:X.color(ot);if(typeof(X==null?void 0:X.color)=="string")return X==null?void 0:X.color}}function Ir(X,ot){if(typeof X!="function")return typeof(X==null?void 0:X.size)=="function"?er(X==null?void 0:X.size(ot)):er(X==null?void 0:X.size)}function Nr(X,ot){let s="";const C=jr(X,ot),_=Ir(X,ot);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Pr(X){return Me("text",(s,C)=>{const _=Or(X||{},C,s),p=Nr(X||{},s);return mt.createVNode("span",{style:p},[_])})}function Br(){return{text:Pr,dict:kr,tag:Rr,render:Ar,phone:Er,image:Sr,currency:tr,date:tr,button:vr}}function Ye(X,ot){if(!(X!=null&&X.render))return;const s=X.render({...Br()});return{render:({record:C})=>s(C,X,ot),[yr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function Dr(X,ot,s){return X.map(C=>({...ot||{},...C})).map(C=>Fr(C,s)).filter(Boolean)}function Fr(X,ot){const{render:s,disableColumnMode:C}=Ye(X,{previewing:!1,emits:ot})||{};if(!(C||X.visiable===!1||typeof X.visiable=="function"&&X.visiable()===!1))return{dataIndex:X.index||X.key,title:X.title,width:X.width==="auto"?void 0:X.width,align:X.align??"center",fixed:X.fixed,ellipsis:X.ellipsis??!0,sortable:X.sortable?{sorter:!0,sortDirections:["ascend","descend"],defaultSortOrder:X.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...X.extraProps,render:s}}function Lr(){return new gr.Workbook}function zr(X,ot="Sheet1"){return X.addWorksheet(ot,{headerFooter:{firstHeader:"",firstFooter:""}})}function Ur(X,ot){X.columns=ot}function $r(X,ot){X.addRows(ot)}async function Vr({columns:X,rows:ot,filename:s}){const C=Lr(),_=zr(C);Ur(_,X),$r(_,ot);const p=await C.xlsx.writeBuffer(),o=new Blob([p]);Hr(o,s||`${hr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Hr(X,ot){const s=document.createElement("a");s.download=ot||"download",s.href=URL.createObjectURL(X),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function qr(X,ot){const s={};return X.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 Wr(X){switch(!0){case typeof X=="number":return X/6;case(typeof X=="string"&&X.endsWith("px")):return parseInt(X.replace("px",""))/6;default:return 30}}function Xr(X,ot,s){const C=X.filter(p=>p.exportable!==!1).map(p=>{var o,a;return{key:p.key,header:((o=p.exportable)==null?void 0:o.header)||p.title,width:((a=p.exportable)==null?void 0:a.width)||Wr(p.width)}}),_=ot.map(p=>qr(X,p));Vr({columns:C,rows:_,filename:s})}function Kr(){return{exportExcel:Xr}}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 Yr(X){return typeof X=="function"||Object.prototype.toString.call(X)==="[object Object]"&&!mt.isVNode(X)}const Zr=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(X){const ot=mt.getCurrentInstance(),s=mt.ref(0),C=X.columns.filter(p=>typeof p.visiable=="boolean"?p.visiable:typeof p.visiable=="function"?p.visiable():!0).map(p=>({options:p,renderer:Ye(p,{previewing:!0})})).filter(({options:p})=>{var o;return!((o=X.exclude)!=null&&o.includes(p.key))}).filter(({renderer:p})=>!(p!=null&&p.disableViewMode));function _(){var p;if(ot){const o=(p=ot.proxy)==null?void 0:p.$el;s.value=Math.floor(o.offsetWidth/X.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:X.layout},Yr(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:X.record}):Ee(X.record,o.options)]}})))?p:{default:()=>[p]})])}}});const Gr=Symbol("ArcoConfigProvider"),Jr="arco",Qr="$arco",sr=X=>{var ot,s,C;const _=mt.getCurrentInstance(),p=mt.inject(Gr,void 0),o=(C=(s=p==null?void 0:p.prefixCls)!=null?s:(ot=_==null?void 0:_.appContext.config.globalProperties[Qr])==null?void 0:ot.classPrefix)!=null?C:Jr;return X?`${o}-${X}`:o},tn=Object.prototype.toString;function or(X){return tn.call(X)==="[object Number]"&&X===X}var ar=(X,ot)=>{for(const[s,C]of ot)X[s]=C;return X};const en=mt.defineComponent({name:"IconDownload",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-download`,{[`${s}-spin`]:X.spin}]),_=mt.computed(()=>{const o={};return X.size&&(o.fontSize=or(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),rn=["stroke-width","stroke-linecap","stroke-linejoin"],nn=mt.createElementVNode("path",{d:"m33.072 22.071-9.07 9.071-9.072-9.07M24 5v26m16 4v6H8v-6"},null,-1),sn=[nn];function on(X,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(X.cls),style:mt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>X.onClick&&X.onClick(...o))},sn,14,rn)}var qe=ar(en,[["render",on]]);const an=Object.assign(qe,{install:(X,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";X.component(C+qe.name,qe)}}),ln=mt.defineComponent({name:"IconRefresh",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:X=>["butt","round","square"].includes(X)},strokeLinejoin:{type:String,default:"miter",validator:X=>["arcs","bevel","miter","miter-clip","round"].includes(X)},rotate:Number,spin:Boolean},emits:{click:X=>!0},setup(X,{emit:ot}){const s=sr("icon"),C=mt.computed(()=>[s,`${s}-refresh`,{[`${s}-spin`]:X.spin}]),_=mt.computed(()=>{const o={};return X.size&&(o.fontSize=or(X.size)?`${X.size}px`:X.size),X.rotate&&(o.transform=`rotate(${X.rotate}deg)`),o});return{cls:C,innerStyle:_,onClick:o=>{ot("click",o)}}}}),un=["stroke-width","stroke-linecap","stroke-linejoin"],cn=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),hn=[cn];function fn(X,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(X.cls),style:mt.normalizeStyle(X.innerStyle),"stroke-width":X.strokeWidth,"stroke-linecap":X.strokeLinecap,"stroke-linejoin":X.strokeLinejoin,onClick:ot[0]||(ot[0]=(...o)=>X.onClick&&X.onClick(...o))},hn,14,un)}var We=ar(ln,[["render",fn]]);const dn=Object.assign(We,{install:(X,ot)=>{var s;const C=(s=ot==null?void 0:ot.iconPrefix)!=null?s:"";X.component(C+We.name,We)}});function pn(X,ot,{tableForm:s,tableEvents:C}){const _=X.refreshable||X.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:X.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[mt.createVNode("div",{class:"built-in"},[mt.createVNode(_e.Space,null,{default:()=>[X.refreshable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(dn,{onClick:()=>C("reload")},null)}),X.exportable&&mt.createVNode(_e.Button,{type:"outline",shape:"circle"},{icon:()=>mt.createVNode(an,{onClick:()=>C("export")},null)})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(_e.Space,null,{default:()=>[ot.slots.actions&&ot.slots.actions()]})])])]):()=>{}}function mn(X,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})},X.formOptions),null)]):()=>{}}function bn(X,ot,{tableSource:s}){const C=mt.ref([]);function _(){const a=typeof X.selection=="string"?{type:X.selection}:X.selection;switch(a==null?void 0:a.type){case"radio":return{title:"选择",...a,selectedRowKeys:C.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:C.value,...a}}}function p(a,r,t){const{type:e}=_()||{};switch(e){case"radio":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[X.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 gn(X,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 yn=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(X){const ot=Ke.useModal();function s(C){X.onSubmit&&X.onSubmit(C),ot.close(C)}return console.log(X.value),()=>mt.createVNode("div",{class:"edit-form-container"},[mt.createVNode(rr.FormRender,{name:"form",value:X.value,form:X.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(X,ot){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),p=mt.ref(),[o,a]=pr(X.columns),r=mt.ref(!1),t=X.form??mr(X.columns),e=n(),l=i();function n(){switch(!0){case(typeof X.pageable=="boolean"&&X.pageable===!0):return new Qe;case(typeof X.pageable=="object"&&!!X.pageable.reset):return X.pageable;case(typeof X.pageable=="object"&&(!!X.pageable.index||!!X.pageable.size)):return new Qe(X.pageable.index,X.pageable.size)}}function i(){const v=X.columns.find(m=>!!m.sortable);if(v||X.sortable)return new Ze({...X.sortable||{},...v?{[v.key]:v.sortable}:{}})}const c=v=>{const{exportExcel:m}=Kr();m((v==null?void 0:v.columns)||X.columns,(v==null?void 0:v.source)||o.value,(v==null?void 0:v.filename)||(typeof X.exportable=="object"?X.exportable.filename:void 0))},h=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要预览的数据");return p.value.open(Zr,{record:m,columns:X.columns},{title:(v==null?void 0:v.title)||"详情",mode:(v==null?void 0:v.mode)||"dialog"})},u=v=>{let m;switch(!0){case!!(v!=null&&v.key):m=o.value.find(b=>b[X.rowKey]===(v==null?void 0:v.key));break;case!!(v!=null&&v.record):m=v==null?void 0:v.record;break}if(!m)throw new Error("未找到需要编辑的数据");return p.value.open(yn,{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(!X.dataLoad)return;v!=null&&v.reset&&(e&&e.reset(),l&&l.reset());const m={...((g=_.value)==null?void 0:g.formSource)||{}};Object.keys(m).forEach(y=>{[null,void 0,""].includes(m[y])&&delete m[y]});const b=X.dataLoad({form:m,page:e,sort:l,update:a});Xe(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=Dr(X.columns,X.columnsOptions,w),I={tableEvents:w,tableForm:t,tableSource:o,formInstance:_,pageService:e,formOptions:X.formOptions},L=mn(X,ot,I),j=pn(X,ot,I),P=gn(X,ot,I),{selectedRowKeys:D,rowSelection:$,onSelect:B,onSelectAll:k}=bn(X,ot,I),M=mt.computed(()=>({rowKey:X.rowKey,size:X.size,scroll:{x:X.columns.reduce((v,m)=>v+=typeof m.width!="number"?Math.max(m.title.length*16,80):m.width,0),y:X.height??"100%"},rowSelection:$,draggable:X.draggable?{type:"handle",width:40}:void 0}));return mt.onMounted(()=>{X.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 X=()=>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(),X(),this.renders.renderTablePagination()])]})])}});function vn(X){return X}function wn(X){return X}const _n={install(X,ot){X.component("TableRender",lr)}};exports.TableRenderResolver=fr.TableRenderResolver;exports.TableRender=lr;exports.default=_n;exports.defineColumns=vn;exports.defineTableLoad=wn;exports.useEvents=nr;exports.useTable=br;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { DataRecord } from '../../interfaces';
|
|
2
|
-
export interface ImageColumnOptions {
|
|
2
|
+
export interface ImageColumnOptions<T> {
|
|
3
3
|
width?: string;
|
|
4
4
|
height?: string;
|
|
5
5
|
radius?: string;
|
|
6
6
|
preview?: boolean;
|
|
7
7
|
rotate?: number;
|
|
8
|
-
parse?: (key: string) => Promise<string>;
|
|
8
|
+
parse?: (key: string, record: T) => Promise<string>;
|
|
9
9
|
}
|
|
10
|
-
export declare function renderImageColumn<T = DataRecord>(options?: ImageColumnOptions): import("../..").TableColumnRenderResult<T>;
|
|
10
|
+
export declare function renderImageColumn<T = DataRecord>(options?: ImageColumnOptions<T>): import("../..").TableColumnRenderResult<T>;
|
|
@@ -4,7 +4,7 @@ export declare function TableColumnRenders<T>(): {
|
|
|
4
4
|
tag: (options?: import("./tag").TagColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
5
5
|
render: (renderer: import("./render").RenderColumnOptions<T>) => import("..").TableColumnRenderResult<T>;
|
|
6
6
|
phone: (options?: import("./phone").PhoneColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
7
|
-
image: (options?: import("./image").ImageColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
7
|
+
image: (options?: import("./image").ImageColumnOptions<T> | undefined) => import("..").TableColumnRenderResult<T>;
|
|
8
8
|
currency: (options?: import("./currency").CurrencyColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
9
9
|
date: (options?: import("./currency").CurrencyColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
10
10
|
button: (options: import("./button").RenderButtonColumnOptions<T>) => import("..").TableColumnRenderResult<T>;
|
package/dist/es/index.mjs
CHANGED
|
@@ -33395,7 +33395,7 @@ function Zr(X) {
|
|
|
33395
33395
|
transform: `rotate(${(X == null ? void 0 : X.rotate) || 0}deg)`,
|
|
33396
33396
|
cursor: X != null && X.preview ? "pointer" : "unset"
|
|
33397
33397
|
}, e = `${p.index || p.key}_parsed`;
|
|
33398
|
-
if (X != null && X.parse && (X == null || X.parse(a).then((l) => _[e] = l)), X != null && X.parse && !_[e])
|
|
33398
|
+
if (X != null && X.parse && (X == null || X.parse(a, _).then((l) => _[e] = l)), X != null && X.parse && !_[e])
|
|
33399
33399
|
return Xt("div", null, [Sr("Loading...")]);
|
|
33400
33400
|
{
|
|
33401
33401
|
const l = _[e] || a;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { DataRecord } from '../../interfaces';
|
|
2
|
-
export interface ImageColumnOptions {
|
|
2
|
+
export interface ImageColumnOptions<T> {
|
|
3
3
|
width?: string;
|
|
4
4
|
height?: string;
|
|
5
5
|
radius?: string;
|
|
6
6
|
preview?: boolean;
|
|
7
7
|
rotate?: number;
|
|
8
|
-
parse?: (key: string) => Promise<string>;
|
|
8
|
+
parse?: (key: string, record: T) => Promise<string>;
|
|
9
9
|
}
|
|
10
|
-
export declare function renderImageColumn<T = DataRecord>(options?: ImageColumnOptions): import("../..").TableColumnRenderResult<T>;
|
|
10
|
+
export declare function renderImageColumn<T = DataRecord>(options?: ImageColumnOptions<T>): import("../..").TableColumnRenderResult<T>;
|
|
@@ -4,7 +4,7 @@ export declare function TableColumnRenders<T>(): {
|
|
|
4
4
|
tag: (options?: import("./tag").TagColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
5
5
|
render: (renderer: import("./render").RenderColumnOptions<T>) => import("..").TableColumnRenderResult<T>;
|
|
6
6
|
phone: (options?: import("./phone").PhoneColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
7
|
-
image: (options?: import("./image").ImageColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
7
|
+
image: (options?: import("./image").ImageColumnOptions<T> | undefined) => import("..").TableColumnRenderResult<T>;
|
|
8
8
|
currency: (options?: import("./currency").CurrencyColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
9
9
|
date: (options?: import("./currency").CurrencyColumnOptions | undefined) => import("..").TableColumnRenderResult<T>;
|
|
10
10
|
button: (options: import("./button").RenderButtonColumnOptions<T>) => import("..").TableColumnRenderResult<T>;
|