@gopowerteam/table-render 0.0.97 → 0.0.99
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 +1 -1
- package/dist/cjs/table-render/index.d.ts +1893 -0
- package/dist/es/index.mjs +9 -6
- package/dist/es/table-render/index.d.ts +1893 -0
- package/package.json +1 -1
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 d(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=d,_.isNCNameChar=function(o){return d(o)||o===45||o===46||o>=48&&o<=57||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}]},{},[15])(15)})})(ir);var pr=ir.exports;const mr=Symbol.for("RenderColumnType");function Se(X,lt,s){return lt.$type=X,lt.$disableColumnMode=s==null?void 0:s.disableColumnMode,lt.$disableViewMode=s==null?void 0:s.disableViewMode,lt}function Ee(X,lt){return(lt.index||lt.key).split(".").reduce((s,C)=>s==null?void 0:s[C],X)}function qe(X){return!!X&&(typeof X=="object"||typeof X=="function")&&typeof X.then=="function"}function br(X){return Se("button",(s,C,_)=>{const d=Pe.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=>{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,[o.filter(t=>a(t.visiable,!0)).map(t=>mt.createVNode(ye.Button,{onClick:()=>r(t),type:t.type||"text",shape:t.shape,size:"mini",disabled:a(t.disabled,!1)},{icon:t.icon,default:()=>(typeof t.content=="function"?t.content(s):t.content)||""}))])},{disableViewMode:!0})}const gr={thousands:!0,inputUnit:"元",outputUnit:"元"},Je={分:10**0,元:10**2,万:10**4};function Qe(X){X={...gr,...X||{}};const lt=d=>{if(d==null)return;if((X==null?void 0:X.inputUnit)===(X==null?void 0:X.outputUnit))return d;const o=Je[X.inputUnit]/Je[X.outputUnit],a=d*o;return(X==null?void 0:X.precision)===void 0?a:a.toFixed(X==null?void 0:X.precision)},s=d=>{if(d==null)return;const o=d.toString().split(".");return o[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),o.join(".")},C=d=>{const o=lt(Number(d));return X!=null&&X.thousands?s(o):o};return Se("dict",(d,o)=>{const a=Ee(d,o);return mt.createVNode("div",null,[typeof(X==null?void 0:X.prefix)=="string"?mt.createVNode("span",null,[X.prefix]):typeof(X==null?void 0:X.prefix)=="function"?mt.createVNode("span",null,[X.prefix()]):void 0,mt.createVNode("span",{class:"currency_value"},[C(a)]),typeof(X==null?void 0:X.suffix)=="string"?mt.createVNode("span",null,[X.suffix]):typeof(X==null?void 0:X.suffix)=="function"?mt.createVNode("span",null,[X.suffix()]):void 0])})}const yr={success:"arcoblue",warning:"orange",error:"red"};function vr(X){return X instanceof Map?X:X.dict}function wr(X){const lt=X instanceof Map?!1:X.tag;return typeof lt=="string"?yr[lt]:lt}function _r(X){const lt=vr(X),s=wr(X);return Se("dict",(_,d)=>{const o=Ee(_,d);return s?mt.createVNode(ye.Tag,{color:s===!0?void 0:s},{default:()=>[lt.get(o)||o]}):mt.createVNode("span",null,[lt.get(o)||o])})}function xr(X){const lt=Pe.useModal();async function s(_,d){_.confirm&&!await new Promise((a,r)=>{lt.open("confirm",{title:"确认",content:_.confirmText||"是否确认执行该操作?",onOk:()=>a(!0),onCancel:()=>a(!1)})})||_.onClick(d)}return Se("dropdown",(_,d)=>{const o=X.options.filter(a=>typeof a.visiable=="function"?a.visiable(_):a.visiable!==!1);return mt.createVNode(ye.Dropdown,{trigger:(X==null?void 0:X.trigger)||"click"},{default:()=>mt.createVNode(ye.Button,{disabled:o.length===0,type:"text"},{default:()=>[(X==null?void 0:X.content)||"操作"]}),content:()=>o.map(a=>mt.createVNode(ye.Dropdown.Option,{onClick:()=>s(a,_)},{default:()=>[typeof a.content=="function"?a.content(_):a.content]}))})})}const kr={small:"20px",middle:"30px",large:"40px"};function Sr(X){function lt(_,d){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=d,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 d=document.getElementById(`IMAGE_${_}_PREVIEW`);d==null||d.remove()}return Se("image",(_,d,o)=>{const a=Ee(_,d),r=Math.random().toString(32).slice(2).toUpperCase(),t={width:o!=null&&o.previewing?(X==null?void 0:X.width)||"auto":kr[(X==null?void 0:X.size)||"middle"],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=`${d.index||d.key}_parsed`;if(X!=null&&X.parse){const l=X==null?void 0:X.parse(a,_);qe(l)?l.then(n=>_[e]=n??""):_[e]=l??""}if(X!=null&&X.parse&&!_[e]===void 0)return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||a;return l?mt.createVNode("img",{id:r,onMouseenter:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&<(r,l),onMouseleave:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null):mt.createVNode(mt.Fragment,null,null)}})}const Cr=" ";function Tr(X){return X==null?void 0:X.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Mr(X,lt){return X==null?void 0:X.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,lt??Cr).replace(/M/g,"*")}function Er(X){return Se("phone",(s,C)=>{const _=Ee(s,C),d=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:${_}`},[d]):mt.createVNode("span",null,[d])})}function Ar(X){return Se("render",s=>X(s))}function Rr(X){return Se("tag",(s,C)=>{const _=Ee(s,C),d=(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 d=="function"?d(a,r):d[r%d.length],backgroundColor:typeof o=="function"?o(a,r):o[r%o.length]}},[a]))])})}function tr(X){if(typeof X=="string")return X;if(typeof X=="number")return`${X}px`}function Or(X,lt,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,lt)}function jr(X,lt){if(typeof X!="function"){if(typeof(X==null?void 0:X.color)=="function")return X==null?void 0:X.color(lt);if(typeof(X==null?void 0:X.color)=="string")return X==null?void 0:X.color}}function Ir(X,lt){if(typeof X!="function")return typeof(X==null?void 0:X.size)=="function"?tr(X==null?void 0:X.size(lt)):tr(X==null?void 0:X.size)}function Nr(X,lt){let s="";const C=jr(X,lt),_=Ir(X,lt);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Pr(X){return Se("text",(s,C)=>{const _=Or(X||{},C,s),d=Nr(X||{},s);return mt.createVNode("span",{style:d},[_])})}function Br(){return{dropdown:xr,text:Pr,dict:_r,tag:Rr,render:Ar,phone:Er,image:Sr,currency:Qe,date:Qe,button:br}}function Ke(X,lt){if(!(X!=null&&X.render))return;const s=X.render({...Br()});return{render:({record:C})=>s(C,X,lt),[mr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function er(X,lt,s,C,_){return X.map(d=>({...lt||{},...d})).map(d=>Dr(d,s,C,_)).filter(Boolean)}function Dr(X,lt,s,C){const{render:_,disableColumnMode:d}=Ke(X,{previewing:!1,emits:C})||{};if(!(d||X.visiable===!1)&&!(typeof X.visiable=="function"&&X.visiable()===!1)&&!s.value.find(o=>o.key===X.key&&o.collapsed===!0))return{dataIndex:X.index||X.key,title:X.title,width:X.width==="auto"?void 0:X.width,align:X.align??"left",fixed:X.fixed,ellipsis:X.ellipsis??!0,sortable:X.sortable?{sorter:lt==="server",sortDirections:["ascend","descend"],defaultSortOrder:X.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...X.extraProps,render:_}}function Fr(){return new pr.Workbook}function Lr(X,lt="Sheet1"){return X.addWorksheet(lt,{headerFooter:{firstHeader:"",firstFooter:""}})}function zr(X,lt){X.columns=lt}function Ur(X,lt){X.addRows(lt)}async function $r({columns:X,rows:lt,filename:s}){const C=Fr(),_=Lr(C);zr(_,X),Ur(_,lt);const d=await C.xlsx.writeBuffer(),o=new Blob([d]);Vr(o,s||`${lr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Vr(X,lt){const s=document.createElement("a");s.download=lt||"download",s.href=URL.createObjectURL(X),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Hr(X,lt){const s={};return X.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ke(_),content:typeof _.exportable=="object"?_.exportable.content:void 0})).forEach(_=>{var a;const d=(a=_.render)==null?void 0:a.render,o=()=>{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 Ee(lt,_.options)}};s[_.options.key]=o()}),s}function qr(X){switch(!0){case typeof X=="number":return X/6;case(typeof X=="string"&&X.endsWith("px")):return parseInt(X.replace("px",""))/6;default:return 30}}function Wr(X,lt,s){const C=X.filter(d=>d.exportable!==!1).map(d=>{var o,a;return{key:d.key,header:((o=d.exportable)==null?void 0:o.header)||d.title,width:((a=d.exportable)==null?void 0:a.width)||qr(d.width)}}),_=lt.map(d=>Hr(X,d));$r({columns:C,rows:_,filename:s})}function Xr(){return{exportExcel:Wr}}class Ye{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 Ye&&(lt=lt.sort),Object.entries(lt).map(([s,C])=>`${s},${C}`))}}function Kr(X){return typeof X=="function"||Object.prototype.toString.call(X)==="[object Object]"&&!mt.isVNode(X)}const Yr=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 lt=mt.getCurrentInstance(),s=mt.ref(0),C=X.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 o;return!((o=X.exclude)!=null&&o.includes(d.key))}).filter(({renderer:d})=>!(d!=null&&d.disableViewMode));function _(){var d;if(lt){const o=(d=lt.proxy)==null?void 0:d.$el;s.value=Math.floor(o.offsetWidth/X.minWidth)}}return mt.onMounted(()=>{_()}),()=>{let d;return mt.createVNode("div",{class:"preview-container"},[mt.createVNode(ye.Descriptions,{column:s.value,bordered:!0,align:"left",layout:X.layout},Kr(d=C.map(o=>mt.createVNode(ye.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)]}})))?d:{default:()=>[d]})])}}});function Zr(X,lt,{tableForm:s,tableEvents:C}){const _=X.refreshable||X.exportable||lt.slots.actions,d=!!(s!=null&&s.length)&&_;return _||d?()=>mt.createVNode(mt.Fragment,null,[d&&mt.createVNode(ye.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(ye.Space,null,{default:()=>[X.refreshable&&mt.createVNode(ye.Button,{type:"primary",onClick:()=>C("reload")},{default:()=>[mt.createTextVNode("刷新")]}),X.exportable&&mt.createVNode(ye.Button,{type:"primary",onClick:()=>C("export")},{default:()=>[mt.createTextVNode("导出")]}),X.collapsable&&mt.createVNode(ye.Button,{type:"primary",onClick:()=>C("collapse")},{default:()=>[mt.createTextVNode("显示")]})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(ye.Space,null,{default:()=>[lt.slots.actions&<.slots.actions()]})])])]):()=>{}}function Gr(X,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})},X.formOptions),null)]):()=>{}}function Jr(X,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(()=>{X.checkboxRows!==void 0&&(C.value=[...X.checkboxRows.map(t=>t[X.rowKey])]),X.checkboxKeys!==void 0&&(C.value=[...X.checkboxKeys]),X.radioKey&&(C.value=[X.radioKey]),X.radioRow&&(C.value=[X.radioRow[X.rowKey]])})}function o(){const t=typeof X.selection=="string"?{type:X.selection}:X.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 a(t,e,l){const{type:n}=o()||{};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[X.rowKey]===i)||((c=X.checkboxRows)==null?void 0:c.find(h=>h[X.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[X.rowKey]===t)||((e=X.checkboxRows)==null?void 0:e.find(l=>l[X.rowKey]===t))}))})}return d(),{selectedRowKeys:C,rowSelection:o(),onSelect:a,onSelectAll:r,resetSelection:_,reloadSelection:d}}function Qr(X,lt,{pageService:s,tableEvents:C}){function _(o){s&&(s.pageIndex=o,C("reload"))}function d(o){s&&(s.pageSize=o,C("reload"))}return s?()=>mt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[mt.createVNode(ye.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=>d(o),style:{justifyContent:"flex-end"}},null)]):()=>{}}const tn=mt.defineComponent({props:{collapsedColumns:{type:Array,required:!0}},setup(X){const lt=Pe.useModal(),s=mt.ref(X.collapsedColumns.map(_=>({label:_.title,value:_.key,disabled:!1}))),C=mt.ref(X.collapsedColumns.filter(_=>_.collapsed).map(_=>_.key));return Pe.onSubmit(()=>{const _=X.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(ye.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"]])]})])}}),en=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(X){const lt=Pe.useModal();function s(C){X.onSubmit&&X.onSubmit(C),lt.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)])}}),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(X,lt){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),d=mt.ref(),[o,a]=hr(X.columns),r=mt.ref(!1),t=X.form??fr(X.columns),e=i(),l=h(),n=mt.ref(X.columns.map(E=>({key:E.key,title:E.title,collapsed:!!E.collapsed})));function i(){switch(!0){case(typeof X.pageable=="string"&&X.pageable==="server"):return new Xe;case(typeof X.pageable=="boolean"&&X.pageable===!0):return new Xe;case(typeof X.pageable=="object"&&!!X.pageable.reset):return X.pageable;case(typeof X.pageable=="object"&&(!!X.pageable.index||!!X.pageable.size)):return new Xe(X.pageable.index,X.pageable.size)}}const c=(()=>{switch(!0){case typeof X.pageable=="string":return X.pageable;case(X.pageable===void 0||X.pageable===!1):return"client";default:return"server"}})();function h(){const E=X.columns.find(j=>!!j.sortable);if(E||X.sortable)return new Ye({...X.sortable||{},...E?{[E.key]:E.sortable}:{}})}const u=E=>{const{exportExcel:j}=Xr();j((E==null?void 0:E.columns)||X.columns,(E==null?void 0:E.source)||o.value,(E==null?void 0:E.filename)||(typeof X.exportable=="object"?X.exportable.filename:void 0))},p=E=>{let j;switch(!0){case!!(E!=null&&E.key):j=o.value.find(z=>z[X.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):j=E==null?void 0:E.record;break}if(!j)throw new Error("未找到需要预览的数据");return d.value.open(Yr,{record:j,columns:X.columns},{title:(E==null?void 0:E.title)||"详情",mode:(E==null?void 0:E.mode)||"dialog"})},f=E=>{let j;switch(!0){case!!(E!=null&&E.key):j=o.value.find(z=>z[X.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):j=E==null?void 0:E.record;break}if(!j)throw new Error("未找到需要编辑的数据");return d.value.open(en,{value:j,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"})},w=E=>{var U;if(!X.dataLoad)return;E!=null&&E.reset&&(e&&e.reset(),l&&l.reset());const j={...((U=_.value)==null?void 0:U.formSource)||{}};Object.keys(j).forEach(q=>{[null,void 0,""].includes(j[q])&&delete j[q]});const z=X.dataLoad({form:j,page:e,sort:l,update:a});qe(z)&&(r.value=!0,Promise.resolve(z).finally(()=>{r.value=!1}))};function x(){d.value.open(tn,{collapsedColumns:n.value},{title:"显示列",size:"small",footer:!0}).then(E=>{n.value=E})}const R=(E,{type:j})=>{switch(j){case"drag":{a(E),lt.emit("change",E);break}}},N=nr({reload:w,preview:p,export:u,edit:f,collapse:x});function L(E,j){l&&(j?l.update(E,j==="descend"?"desc":"asc"):l.remove(E),N("reload"))}const I=mt.ref(er(X.columns,X.columnsOptions,c,n,N)),P={tableEvents:N,tableForm:t,tableSource:o,formInstance:_,pageService:e,formOptions:X.formOptions},D=Gr(X,lt,P),$=Zr(X,lt,P),B=Qr(X,lt,P),{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m,reloadSelection:b,resetSelection:g}=Jr(X,lt,P),y=mt.computed(()=>({rowKey:X.rowKey,size:X.size,bordered:!1,scroll:{x:X.columns.reduce((E,j)=>E+=typeof j.width!="number"?Math.max(j.title.length*16,80):j.width,0),y:X.height??"100%"},rowSelection:M,draggable:X.draggable?{type:"handle",width:40}:void 0,pagination:X.pageable===void 0||X.pageable==="client",selectedKeys:k.value}));function S(){I.value=er(X.columns,X.columnsOptions,c,n,N)}return mt.onMounted(()=>{X.autoLoad&&w()}),{tableId:s,tableInstance:C,tableSource:o,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:$,renderTablePagination:B},tableSelection:{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m},resetSelection:g,reloadSelection:b,reloadColumns:S}},render(){this.reloadColumns();const X=()=>mt.createVNode("div",{class:"table-body"},[mt.createVNode(ye.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(),X(),this.renders.renderTablePagination()])]})])}});function rn(X){return X}function nn(X){return X}const sn={install(X,lt){X.component("TableRender",sr)}};exports.TableRenderResolver=ur.TableRenderResolver;exports.TableRender=sr;exports.default=sn;exports.defineColumns=rn;exports.defineTableLoad=nn;exports.useEvents=nr;exports.useTable=dr;
|
|
57
|
+
*/function d(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=d,_.isNCNameChar=function(o){return d(o)||o===45||o===46||o>=48&&o<=57||o===183||o>=768&&o<=879||o>=8255&&o<=8256}},{}]},{},[15])(15)})})(ir);var pr=ir.exports;const mr=Symbol.for("RenderColumnType");function Se(X,lt,s){return lt.$type=X,lt.$disableColumnMode=s==null?void 0:s.disableColumnMode,lt.$disableViewMode=s==null?void 0:s.disableViewMode,lt}function Ee(X,lt){return(lt.index||lt.key).split(".").reduce((s,C)=>s==null?void 0:s[C],X)}function qe(X){return!!X&&(typeof X=="object"||typeof X=="function")&&typeof X.then=="function"}function br(X){return Se("button",(s,C,_)=>{const d=Pe.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=>{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,[o.filter(t=>a(t.visiable,!0)).map(t=>mt.createVNode(ye.Button,{onClick:()=>r(t),type:t.type||"text",shape:t.shape,size:"mini",disabled:a(t.disabled,!1)},{icon:t.icon,default:()=>(typeof t.content=="function"?t.content(s):t.content)||""}))])},{disableViewMode:!0})}const gr={thousands:!0,inputUnit:"元",outputUnit:"元"},Je={分:10**0,元:10**2,万:10**4};function Qe(X){X={...gr,...X||{}};const lt=d=>{if(d==null)return;if((X==null?void 0:X.inputUnit)===(X==null?void 0:X.outputUnit))return d;const o=Je[X.inputUnit]/Je[X.outputUnit],a=d*o;return(X==null?void 0:X.precision)===void 0?a:a.toFixed(X==null?void 0:X.precision)},s=d=>{if(d==null)return;const o=d.toString().split(".");return o[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),o.join(".")},C=d=>{const o=lt(Number(d));return X!=null&&X.thousands?s(o):o};return Se("dict",(d,o)=>{const a=Ee(d,o);return mt.createVNode("div",null,[typeof(X==null?void 0:X.prefix)=="string"?mt.createVNode("span",null,[X.prefix]):typeof(X==null?void 0:X.prefix)=="function"?mt.createVNode("span",null,[X.prefix()]):void 0,mt.createVNode("span",{class:"currency_value"},[C(a)]),typeof(X==null?void 0:X.suffix)=="string"?mt.createVNode("span",null,[X.suffix]):typeof(X==null?void 0:X.suffix)=="function"?mt.createVNode("span",null,[X.suffix()]):void 0])})}const yr={success:"arcoblue",warning:"orange",error:"red"};function vr(X){return X instanceof Map?X:X.dict}function wr(X){const lt=X instanceof Map?!1:X.tag;return typeof lt=="string"?yr[lt]:lt}function _r(X){const lt=vr(X),s=wr(X);return Se("dict",(_,d)=>{const o=Ee(_,d);return s?mt.createVNode(ye.Tag,{color:s===!0?void 0:s},{default:()=>[lt.get(o)||o]}):mt.createVNode("span",null,[lt.get(o)||o])})}function xr(X){const lt=Pe.useModal();async function s(_,d){_.confirm&&!await new Promise((a,r)=>{lt.open("confirm",{title:"确认",content:_.confirmText||"是否确认执行该操作?",onOk:()=>a(!0),onCancel:()=>a(!1)})})||_.onClick(d)}return Se("dropdown",(_,d)=>{const o=X.options.filter(a=>typeof a.visiable=="function"?a.visiable(_):a.visiable!==!1);return mt.createVNode(ye.Dropdown,{trigger:(X==null?void 0:X.trigger)||"click"},{default:()=>mt.createVNode(ye.Button,{disabled:o.length===0,type:"text"},{default:()=>[(X==null?void 0:X.content)||"操作"]}),content:()=>o.map(a=>mt.createVNode(ye.Dropdown.Option,{onClick:()=>s(a,_)},{default:()=>[typeof a.content=="function"?a.content(_):a.content]}))})})}const kr={small:"20px",middle:"30px",large:"40px"};function Sr(X){function lt(_,d){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=d,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 d=document.getElementById(`IMAGE_${_}_PREVIEW`);d==null||d.remove()}return Se("image",(_,d,o)=>{const a=Ee(_,d),r=Math.random().toString(32).slice(2).toUpperCase(),t={width:o!=null&&o.previewing?(X==null?void 0:X.width)||"auto":kr[(X==null?void 0:X.size)||"middle"],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=`${d.index||d.key}_parsed`;if(X!=null&&X.parse){const l=X==null?void 0:X.parse(a,_);qe(l)?l.then(n=>_[e]=n??""):_[e]=l??""}if(X!=null&&X.parse&&!_[e]===void 0)return mt.createVNode("div",null,[mt.createTextVNode("Loading...")]);{const l=_[e]||a;return l?mt.createVNode("img",{id:r,onMouseenter:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&<(r,l),onMouseleave:()=>(X==null?void 0:X.preview)&&!(o!=null&&o.previewing)&&s(r),src:l,style:t},null):mt.createVNode(mt.Fragment,null,null)}})}const Cr=" ";function Tr(X){return X==null?void 0:X.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Mr(X,lt){return X==null?void 0:X.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,lt??Cr).replace(/M/g,"*")}function Er(X){return Se("phone",(s,C)=>{const _=Ee(s,C),d=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:${_}`},[d]):mt.createVNode("span",null,[d])})}function Ar(X){return Se("render",s=>X(s))}function Rr(X){return Se("tag",(s,C)=>{const _=Ee(s,C),d=(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 d=="function"?d(a,r):d[r%d.length],backgroundColor:typeof o=="function"?o(a,r):o[r%o.length]}},[a]))])})}function tr(X){if(typeof X=="string")return X;if(typeof X=="number")return`${X}px`}function Or(X,lt,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,lt)}function jr(X,lt){if(typeof X!="function"){if(typeof(X==null?void 0:X.color)=="function")return X==null?void 0:X.color(lt);if(typeof(X==null?void 0:X.color)=="string")return X==null?void 0:X.color}}function Ir(X,lt){if(typeof X!="function")return typeof(X==null?void 0:X.size)=="function"?tr(X==null?void 0:X.size(lt)):tr(X==null?void 0:X.size)}function Nr(X,lt){let s="";const C=jr(X,lt),_=Ir(X,lt);return C&&(s+=`color:${C};`),_&&(s+=`font-size:${_};`),s}function Pr(X){return Se("text",(s,C)=>{const _=Or(X||{},C,s),d=Nr(X||{},s);return mt.createVNode("span",{style:d},[_])})}function Br(){return{dropdown:xr,text:Pr,dict:_r,tag:Rr,render:Ar,phone:Er,image:Sr,currency:Qe,date:Qe,button:br}}function Ke(X,lt){if(!(X!=null&&X.render))return;const s=X.render({...Br()});return{render:({record:C})=>s(C,X,lt),[mr]:s.$type,disableColumnMode:s.$disableColumnMode,disableViewMode:s.$disableViewMode,isRender:s.$type==="render",type:s.$type}}function er(X,lt,s,C,_){return X.map(d=>({...lt||{},...d})).map(d=>Dr(d,s,C,_)).filter(Boolean)}function Dr(X,lt,s,C){const{render:_,disableColumnMode:d}=Ke(X,{previewing:!1,emits:C})||{};if(!(d||X.visiable===!1)&&!(typeof X.visiable=="function"&&X.visiable()===!1)&&!s.value.find(o=>o.key===X.key&&o.collapsed===!0))return{dataIndex:X.index||X.key,title:X.title,width:X.width==="auto"?void 0:X.width,align:X.align??"left",fixed:X.fixed,ellipsis:X.ellipsis??!0,sortable:X.sortable?{sorter:lt==="server",sortDirections:["ascend","descend"],defaultSortOrder:X.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...X.extraProps,render:_}}function Fr(){return new pr.Workbook}function Lr(X,lt="Sheet1"){return X.addWorksheet(lt,{headerFooter:{firstHeader:"",firstFooter:""}})}function zr(X,lt){X.columns=lt}function Ur(X,lt){X.addRows(lt)}async function $r({columns:X,rows:lt,filename:s}){const C=Fr(),_=Lr(C);zr(_,X),Ur(_,lt);const d=await C.xlsx.writeBuffer(),o=new Blob([d]);Vr(o,s||`${lr().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function Vr(X,lt){const s=document.createElement("a");s.download=lt||"download",s.href=URL.createObjectURL(X),s.click(),setTimeout(()=>{URL.revokeObjectURL(s.href)},1e3)}function Hr(X,lt){const s={};return X.filter(_=>_.exportable!==!1).map(_=>({options:_,render:Ke(_),content:typeof _.exportable=="object"?_.exportable.content:void 0})).forEach(_=>{var a;const d=(a=_.render)==null?void 0:a.render,o=()=>{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 Ee(lt,_.options)}};s[_.options.key]=o()}),s}function qr(X){switch(!0){case typeof X=="number":return X/6;case(typeof X=="string"&&X.endsWith("px")):return parseInt(X.replace("px",""))/6;default:return 30}}function Wr(X,lt,s){const C=X.filter(d=>d.exportable!==!1).map(d=>{var o,a;return{key:d.key,header:((o=d.exportable)==null?void 0:o.header)||d.title,width:((a=d.exportable)==null?void 0:a.width)||qr(d.width)}}),_=lt.map(d=>Hr(X,d));$r({columns:C,rows:_,filename:s})}function Xr(){return{exportExcel:Wr}}class Ye{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 Ye&&(lt=lt.sort),Object.entries(lt).map(([s,C])=>`${s},${C}`))}}function Kr(X){return typeof X=="function"||Object.prototype.toString.call(X)==="[object Object]"&&!mt.isVNode(X)}const Yr=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(X){const lt=mt.getCurrentInstance(),s=mt.ref(0),C=X.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 o;return!((o=X.exclude)!=null&&o.includes(d.key))}).filter(({renderer:d})=>!(d!=null&&d.disableViewMode));function _(){var d;if(lt){const o=(d=lt.proxy)==null?void 0:d.$el;s.value=Math.floor(o.offsetWidth/X.minWidth)}}return mt.onMounted(()=>{_()}),()=>{let d;return mt.createVNode("div",{class:"preview-container"},[mt.createVNode(ye.Descriptions,{column:s.value,bordered:!0,align:"left",layout:X.layout},Kr(d=C.map(o=>mt.createVNode(ye.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)]}})))?d:{default:()=>[d]})])}}});function Zr(X,lt,{tableForm:s,tableEvents:C}){const _=X.refreshable||X.exportable||lt.slots.actions,d=!!(s!=null&&s.length)&&_;return _||d?()=>mt.createVNode(mt.Fragment,null,[d&&mt.createVNode(ye.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(ye.Space,null,{default:()=>[X.refreshable&&mt.createVNode(ye.Button,{type:"primary",onClick:()=>C("reload")},{default:()=>[mt.createTextVNode("刷新")]}),X.exportable&&mt.createVNode(ye.Button,{type:"primary",onClick:()=>C("export")},{default:()=>[mt.createTextVNode("导出")]}),X.collapsable&&mt.createVNode(ye.Button,{type:"primary",onClick:()=>C("collapse")},{default:()=>[mt.createTextVNode("显示")]})]})]),mt.createVNode("div",{class:"customs"},[mt.createVNode(ye.Space,null,{default:()=>[lt.slots.actions&<.slots.actions()]})])])]):()=>{}}function Gr(X,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})},X.formOptions),null)]):()=>{}}function Jr(X,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(()=>{X.checkboxRows!==void 0&&(C.value=[...X.checkboxRows.map(t=>t[X.rowKey])]),X.checkboxKeys!==void 0&&(C.value=[...X.checkboxKeys]),X.radioKey&&(C.value=[X.radioKey]),X.radioRow&&(C.value=[X.radioRow[X.rowKey]])})}function o(){const t=typeof X.selection=="string"?{type:X.selection}:X.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 a(t,e,l){const{type:n}=o()||{};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[X.rowKey]===i)||((c=X.checkboxRows)==null?void 0:c.find(h=>h[X.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[X.rowKey]===t)||((e=X.checkboxRows)==null?void 0:e.find(l=>l[X.rowKey]===t))}))})}return d(),{selectedRowKeys:C,rowSelection:o(),onSelect:a,onSelectAll:r,resetSelection:_,reloadSelection:d}}function Qr(X,lt,{pageService:s,tableEvents:C}){function _(o){s&&(s.pageIndex=o,C("reload"))}function d(o){s&&(s.pageSize=o,C("reload"))}return s?()=>mt.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[mt.createVNode(ye.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=>d(o),style:{justifyContent:"flex-end"}},null)]):()=>{}}const tn=mt.defineComponent({props:{collapsedColumns:{type:Array,required:!0}},setup(X){const lt=Pe.useModal(),s=mt.ref(X.collapsedColumns.map(_=>({label:_.title,value:_.key,disabled:!1}))),C=mt.ref(X.collapsedColumns.filter(_=>_.collapsed).map(_=>_.key));return Pe.onSubmit(()=>{const _=X.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(ye.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"]])]})])}}),en=mt.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(X){const lt=Pe.useModal();function s(C){X.onSubmit&&X.onSubmit(C),lt.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)])}}),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(X,lt){const s=Math.random().toString(32).slice(2).toUpperCase(),C=mt.ref(),_=mt.ref(),d=mt.ref(),[o,a]=hr(X.columns),r=mt.ref(!1),t=X.form??fr(X.columns),e=i(),l=h(),n=mt.ref(X.columns.map(E=>({key:E.key,title:E.title,collapsed:!!E.collapsed})));function i(){switch(!0){case(typeof X.pageable=="string"&&X.pageable==="server"):return new Xe;case(typeof X.pageable=="boolean"&&X.pageable===!0):return new Xe;case(typeof X.pageable=="object"&&!!X.pageable.reset):return X.pageable;case(typeof X.pageable=="object"&&(!!X.pageable.index||!!X.pageable.size)):return new Xe(X.pageable.index,X.pageable.size)}}const c=(()=>{switch(!0){case typeof X.pageable=="string":return X.pageable;case(X.pageable===void 0||X.pageable===!1):return"client";default:return"server"}})();function h(){const E=X.columns.find(j=>!!j.sortable);if(E||X.sortable)return new Ye({...X.sortable||{},...E?{[E.key]:E.sortable}:{}})}function u(E){const{exportExcel:j}=Xr();j((E==null?void 0:E.columns)||X.columns,(E==null?void 0:E.source)||o.value,(E==null?void 0:E.filename)||(typeof X.exportable=="object"?X.exportable.filename:void 0))}function p(E){let j;switch(!0){case!!(E!=null&&E.key):j=o.value.find(z=>z[X.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):j=E==null?void 0:E.record;break}if(!j)throw new Error("未找到需要预览的数据");return d.value.open(Yr,{record:j,columns:X.columns},{title:(E==null?void 0:E.title)||"详情",mode:(E==null?void 0:E.mode)||"dialog"})}function f(E){let j;switch(!0){case!!(E!=null&&E.key):j=o.value.find(z=>z[X.rowKey]===(E==null?void 0:E.key));break;case!!(E!=null&&E.record):j=E==null?void 0:E.record;break}if(!j)throw new Error("未找到需要编辑的数据");return d.value.open(en,{value:j,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 U;if(!X.dataLoad)return;E!=null&&E.reset&&(e&&e.reset(),l&&l.reset());const j={...((U=_.value)==null?void 0:U.formSource)||{}};Object.keys(j).forEach(q=>{[null,void 0,""].includes(j[q])&&delete j[q]});const z=X.dataLoad({form:j,page:e,sort:l,update:a});qe(z)&&(r.value=!0,Promise.resolve(z).finally(()=>{r.value=!1}))}function x(){d.value.open(tn,{collapsedColumns:n.value},{title:"显示列",size:"small",footer:!0}).then(E=>{n.value=E})}const R=(E,{type:j})=>{switch(j){case"drag":{a(E),lt.emit("change",E);break}}},N=nr({reload:w,preview:p,export:u,edit:f,collapse:x});function L(E,j){l&&(j?l.update(E,j==="descend"?"desc":"asc"):l.remove(E),N("reload"))}const I=mt.ref(er(X.columns,X.columnsOptions,c,n,N)),P={tableEvents:N,tableForm:t,tableSource:o,formInstance:_,pageService:e,formOptions:X.formOptions},D=Gr(X,lt,P),$=Zr(X,lt,P),B=Qr(X,lt,P),{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m,reloadSelection:b,resetSelection:g}=Jr(X,lt,P),y=mt.computed(()=>({rowKey:X.rowKey,size:X.size,bordered:!1,scroll:{x:X.columns.reduce((E,j)=>E+=typeof j.width!="number"?Math.max(j.title.length*16,80):j.width,0),y:X.height??"100%"},rowSelection:M,draggable:X.draggable?{type:"handle",width:40}:void 0,pagination:X.pageable===void 0||X.pageable==="client",selectedKeys:k.value}));function S(){I.value=er(X.columns,X.columnsOptions,c,n,N)}return mt.onMounted(()=>{X.autoLoad&&w()}),{tableId:s,tableInstance:C,tableSource:o,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:$,renderTablePagination:B},tableSelection:{selectedRowKeys:k,rowSelection:M,onSelect:v,onSelectAll:m},resetSelection:g,reloadSelection:b,reloadColumns:S}},render(){this.reloadColumns();const X=()=>mt.createVNode("div",{class:"table-body"},[mt.createVNode(ye.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(),X(),this.renders.renderTablePagination()])]})])}});function rn(X){return X}function nn(X){return X}const sn={install(X,lt){X.component("TableRender",sr)}};exports.TableRenderResolver=ur.TableRenderResolver;exports.TableRender=sr;exports.default=sn;exports.defineColumns=rn;exports.defineTableLoad=nn;exports.useEvents=nr;exports.useTable=dr;
|