@gopowerteam/table-render 0.0.144 → 0.0.146

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var fe=Object.defineProperty;var se=(e,t,r)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var S=(e,t,r)=>(se(e,typeof t!="symbol"?t+"":t,r),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("vue"),h=require("@arco-design/web-vue"),k=require("@gopowerteam/modal-render"),oe=require("exceljs"),_=require("dayjs"),G=require("@gopowerteam/form-render"),me=require("./resolver.cjs");function be(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const d=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,d.get?d:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ye=be(oe);function he(e,t,r){const[d,...n]=t.index?t.index.split(".").reverse():[t.key],a=n.reverse().reduce((l,c)=>l==null?void 0:l[c],e);a[d]=r}function ge(e){const t=u.ref([]),r=n=>{const a=e.filter(l=>l.formatter);return a.length>0?n.map(l=>(a.forEach(c=>{c.formatter&&he(l,c,c.formatter(l))}),l)):n};return[t,n=>{t.value=r(n)}]}function we(e){return e.filter(t=>t.form).map(t=>({key:t.key,title:t.title,...typeof t.form=="boolean"?{}:t.form}))}function ve(e){const t=u.getCurrentInstance(),r=u.ref();function d(){var a,l;const n=(l=(a=t==null?void 0:t.proxy)==null?void 0:a.$refs)==null?void 0:l[e];n&&(r.value=n)}return u.onMounted(d),u.onUpdated(d),r}function H(e){return(t,r)=>e[t](r)}class q{constructor(t=1,r=10){S(this,"data",u.reactive({index:1,size:10,total:0}));S(this,"pageSizeOpts",[10,20,30,40,50]);S(this,"pageLayouts",["PrevJump","PrevPage","JumpNumber","NextPage","NextJump","Sizes","FullJump","Total"]);this.pageIndex=t,this.pageSize=r}get pageIndex(){return this.data.index}set pageIndex(t){this.data.index=t}get pageSize(){return this.data.size}set pageSize(t){this.data.size=t}get total(){return this.data.total}set total(t){this.data.total=t}reset(){this.pageIndex=1}before(t){t.paramsQuery={...t.paramsQuery,page:this.pageIndex-1,size:this.pageSize}}after(t){var r;this.total=(r=t.data)==null?void 0:r.totalElements}}const xe=Symbol.for("RenderColumnType");function g(e,t,r){return t.$type=e,t.$disableColumnMode=r==null?void 0:r.disableColumnMode,t.$disableViewMode=r==null?void 0:r.disableViewMode,t}function v(e,t){return t.index?t.index.split(".").reduce((r,d)=>r==null?void 0:r[d],e):[t.key].reduce((r,d)=>r==null?void 0:r[d],e)}function O(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function Se(e){return g("button",(r,d,n)=>{const a=k.useModal(),l=Array.isArray(e)?e:"buttons"in e?e.buttons:[e],c=(f,s)=>typeof f=="function"?f(r):f===void 0?s:f;async function m(f){if(await(f.confirm===!0?new Promise(o=>{a.confirm({title:"提示信息",content:f.confirmText??"您确定要执行该操作?",onOk:()=>o(!0),onCancel:()=>o(!1)})}):Promise.resolve(!0))&&(f!=null&&f.onClick)){const o=f.onClick(r);O(o)&&f.autoReload!==!1&&o.then(()=>{n!=null&&n.emits&&(n==null||n.emits("reload"))}),!O(o)&&f.autoReload===!0&&n!=null&&n.emits&&(n==null||n.emits("reload"))}}return u.createVNode(u.Fragment,null,[l.filter(f=>c(f.visiable,!0)).map(f=>u.createVNode(h.Button,{onClick:()=>m(f),type:f.type||"text",shape:f.shape,size:"mini",disabled:c(f.disabled,!1)},{icon:f.icon,default:()=>(typeof f.content=="function"?f.content(r):f.content)||""}))])},{disableViewMode:!0})}const Ce={thousands:!0,inputUnit:"元",outputUnit:"元"},W={分:10**0,元:10**2,万:10**6};function ke(e){e={...Ce,...e||{}};const t=a=>{if(a==null)return;if((e==null?void 0:e.inputUnit)===(e==null?void 0:e.outputUnit))return a;const l=W[e.inputUnit]/W[e.outputUnit],c=parseFloat((a*l).toFixed(10));return(e==null?void 0:e.precision)===void 0?c:c.toFixed(e==null?void 0:e.precision)},r=a=>{if(a==null)return;const l=a.toString().split(".");return l[0]=l[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),l.join(".")},d=a=>{if((e==null?void 0:e.zeroString)!==void 0&&Number(a)===0)return e==null?void 0:e.zeroString;if((e==null?void 0:e.nullString)!==void 0&&isNaN(Number(a)))return e==null?void 0:e.nullString;const l=t(Number(a));return e!=null&&e.thousands?r(l):l};return g("dict",(a,l)=>{const c=v(a,l);return u.createVNode("div",null,[typeof(e==null?void 0:e.prefix)=="string"?u.createVNode("span",null,[e.prefix]):typeof(e==null?void 0:e.prefix)=="function"?u.createVNode("span",null,[e.prefix()]):void 0,u.createVNode("span",{class:"currency_value"},[d(c)]),typeof(e==null?void 0:e.suffix)=="string"?u.createVNode("span",null,[e.suffix]):typeof(e==null?void 0:e.suffix)=="function"?u.createVNode("span",null,[e.suffix()]):void 0])})}var Te=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ve={exports:{}};(function(e,t){(function(r,d){e.exports=d(_)})(Te,function(r){function d(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var n=d(r),a={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(l,c){return c==="W"?l+"周":l+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(l,c){var m=100*l+c;return m<600?"凌晨":m<900?"早上":m<1100?"上午":m<1300?"中午":m<1800?"下午":"晚上"}};return n.default.locale(a,null,!0),a})})(Ve);_.locale("zh-cn");const Ne={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",week:"ddd"};function Me(e){return g("date",(r,d)=>{const n=v(r,d),a=typeof(e==null?void 0:e.format)=="function"?e==null?void 0:e.format():Ne[(e==null?void 0:e.format)||"datetime"],l=_(n);return u.createVNode("span",null,[l.isValid()&&l.format(a)])})}const Oe={success:"arcoblue",warning:"orange",error:"red"};function _e(e){return e instanceof Map?e:e.dict}function Re(e){const t=e instanceof Map?!1:e.tag;return typeof t=="string"?Oe[t]:t}function qe(e){const t=_e(e),r=Re(e);return g("dict",(n,a)=>{const l=v(n,a);return r?u.createVNode(h.Tag,{color:r===!0?void 0:r},{default:()=>[t.get(l)||l]}):u.createVNode("span",null,[t.get(l)||l])})}function $e(e){const t=k.useModal();async function r(n,a){n.confirm&&!await new Promise((c,m)=>{t.open("confirm",{title:"确认",content:n.confirmText||"是否确认执行该操作?",onOk:()=>c(!0),onCancel:()=>c(!1)})})||n.onClick(a)}return g("dropdown",(n,a)=>{const l=e.options.filter(c=>typeof c.visiable=="function"?c.visiable(n):c.visiable!==!1);return u.createVNode(h.Dropdown,{trigger:(e==null?void 0:e.trigger)||"click"},{default:()=>u.createVNode(h.Button,{disabled:l.length===0,type:"text"},{default:()=>[(e==null?void 0:e.content)||"操作"]}),content:()=>l.map(c=>u.createVNode(h.Dropdown.Option,{onClick:()=>r(c,n)},{default:()=>[typeof c.content=="function"?c.content(n):c.content]}))})})}const Ee={size:30};function je(e){e={...Ee,...e||{}};function t(n,a){var c;const l=(c=document.getElementById(n))==null?void 0:c.getBoundingClientRect();if(l){const m=new Image(100,100);m.id=`IMAGE_${n}_PREVIEW`,m.src=a,m.setAttribute("style",["position:fixed;",`top:${l.top}px;`,`left:${l.left+l.width}px;`,"min-width:400px;","height:auto;","z-index:100;"].join("")),document.body.appendChild(m)}}function r(n){const a=document.getElementById(`IMAGE_${n}_PREVIEW`);a==null||a.remove()}return g("image",(n,a,l)=>{const c=v(n,a),m=Math.random().toString(32).slice(2).toUpperCase(),f={maxWidth:"100%",maxHeight:"100%",borderRadius:e==null?void 0:e.radius,objectFit:"contain",transform:`rotate(${(e==null?void 0:e.rotate)||0}deg)`,cursor:e!=null&&e.preview?"pointer":"unset"},s=`${a.index||a.key}_parsed`;if(e!=null&&e.parse){const o=e==null?void 0:e.parse(c,n);O(o)?o.then(y=>n[s]=y??""):n[s]=o??""}if(e!=null&&e.parse&&!n[s]===void 0)return u.createVNode("div",null,[u.createTextVNode("Loading...")]);{const o=n[s]||c;return o?u.createVNode("div",{id:m,onMouseenter:()=>(e==null?void 0:e.preview)&&!(l!=null&&l.previewing)&&t(m,o),onMouseleave:()=>(e==null?void 0:e.preview)&&!(l!=null&&l.previewing)&&r(m),style:{display:"flex",justifyContent:"center",alignItems:"center",height:`${e==null?void 0:e.size}px`}},[u.createVNode("img",{alt:"image",style:f,src:o},null)]):u.createVNode(u.Fragment,null,null)}})}const Ye=" ";function ze(e){return e==null?void 0:e.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Le(e,t){return e==null?void 0:e.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,t??Ye).replace(/M/g,"*")}function Pe(e){return g("phone",(r,d)=>{const n=v(r,d),a=Le(e!=null&&e.safe?ze(n):n,e==null?void 0:e.separator);return e!=null&&e.callable?u.createVNode("a",{style:"text-decoration:none;",href:`tel:${n}`},[a]):u.createVNode("span",null,[a])})}function De(e){return g("render",r=>e(r))}function Be(e){return g("tag",(r,d)=>{const n=(e==null?void 0:e.maxCount)||5,a=e!=null&&e.formatter?e.formatter(r):v(r,d),l=(e==null?void 0:e.textColors)||["#F87335"],c=(e==null?void 0:e.backgroundColors)||["#FFF4E8"],m=a.length>n,f=e==null?void 0:e.minWidth;return u.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[a.slice(0,n).map((s,o)=>{const y=typeof l=="function"?l(s,o):l[o%l.length],w=typeof c=="function"?c(s,o):c[o%c.length];return u.createVNode("span",{style:{minWidth:f?`${f}px`:"unset",textAlign:"center",margin:"2px",padding:"2px 5px",border:`solid 2px ${e!=null&&e.border?y:"transparent"}`,borderRadius:`${(e==null?void 0:e.radius)||0}px`,color:y,backgroundColor:w}},[s])}),m&&"..."])})}function F(e){if(typeof e=="string")return e;if(typeof e=="number")return`${e}px`}function Ae(e,t,r){var d,n;return typeof e=="function"?(d=e(r))==null?void 0:d.toString():typeof(e==null?void 0:e.content)=="function"?(n=e==null?void 0:e.content(r))==null?void 0:n.toString():typeof(e==null?void 0:e.content)=="string"?e==null?void 0:e.content:v(r,t)}function Ie(e,t){if(typeof e!="function"){if(typeof(e==null?void 0:e.color)=="function")return e==null?void 0:e.color(t);if(typeof(e==null?void 0:e.color)=="string")return e==null?void 0:e.color}}function Ke(e,t){if(typeof e!="function")return typeof(e==null?void 0:e.size)=="function"?F(e==null?void 0:e.size(t)):F(e==null?void 0:e.size)}function We(e,t){let r="";const d=Ie(e,t),n=Ke(e,t);return d&&(r+=`color:${d};`),n&&(r+=`font-size:${n};`),r}function Fe(e){return g("text",(r,d)=>{const n=Ae(e||{},d,r),a=We(e||{},r);return u.createVNode("span",{style:a},[n])})}function Ue(){return{dropdown:$e,text:Fe,dict:qe,tag:Be,render:De,phone:Pe,image:je,currency:ke,date:Me,button:Se}}function E(e,t){if(!(e!=null&&e.render))return;const r=e.render({...Ue()});return{render:({record:d})=>r(d,e,t),[xe]:r.$type,disableColumnMode:r.$disableColumnMode,disableViewMode:r.$disableViewMode,isRender:r.$type==="render",type:r.$type}}function U({columns:e,columnsOptions:t,columnsGroups:r,pageMode:d,collapsedColumns:n,events:a}){const l=e.map(c=>({...t||{},...c})).map(c=>Je(c,d,n,a)).filter(Boolean);return He(l,r)}function Ge(e,t){const r=[],d=a=>{if("children"in a&&(a.children=a.children.map(d)),"key"in a){const l=t.find(c=>{var m;return((m=Object.getOwnPropertyDescriptor(c,"key"))==null?void 0:m.value)===a.key});if(l)return r.push(l),l}return a},n=d(e);if(r!=null&&r.length&&n){const a=Math.min(...r.map(l=>t.indexOf(l)));r.forEach(l=>{const c=t.indexOf(l);t.splice(c,1)}),t.splice(a,0,n)}}function He(e,t=[]){return t.forEach(r=>{Ge(r,e)}),e}function Je(e,t,r,d){const{render:n,disableColumnMode:a}=E(e,{previewing:!1,emits:d})||{};if(!(a||e.visiable===!1)&&!(typeof e.visiable=="function"&&e.visiable()===!1)&&!r.value.find(l=>l.key===e.key&&l.collapsed===!0))return{dataIndex:e.index||e.key,title:e.title,width:e.width==="auto"?void 0:e.width,align:e.align??"center",fixed:e.fixed,ellipsis:e.ellipsis??!0,sortable:e.sortable?{sorter:t==="server",sortDirections:["ascend","descend"],defaultSortOrder:e.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...e.extraProps,key:e.key,render:n}}function Qe(){return new ye.Workbook}function Xe(e,t="Sheet1"){return e.addWorksheet(t,{headerFooter:{firstHeader:"",firstFooter:""}})}function Ze(e,t){e.columns=t}function pe(e,t){e.addRows(t)}async function et({columns:e,rows:t,filename:r}){const d=Qe(),n=Xe(d);Ze(n,e),pe(n,t);const a=await d.xlsx.writeBuffer(),l=new Blob([a]);tt(l,r||`${_().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function tt(e,t){const r=document.createElement("a");r.download=t||"download",r.href=URL.createObjectURL(e),r.click(),setTimeout(()=>{URL.revokeObjectURL(r.href)},1e3)}function rt(e,t){const r={};return e.filter(n=>n.exportable!==!1).map(n=>({options:n,render:E(n),content:typeof n.exportable=="object"?n.exportable.content:void 0})).forEach(n=>{var c;const a=(c=n.render)==null?void 0:c.render,l=()=>{var m;switch(!0){case!!n.content:return n.content&&n.content(t);case!!a:{const f=document.createElement("div"),s=u.h(()=>a&&a({record:t}));return u.render(s,f),(m=s.el)==null?void 0:m.innerText}default:return v(t,n.options)}};r[n.options.key]=l()}),r}function nt(e){switch(!0){case typeof e=="number":return e/6;case(typeof e=="string"&&e.endsWith("px")):return parseInt(e.replace("px",""))/6;default:return 30}}function at(e,t,r){const d=e.filter(a=>a.exportable!==!1).map(a=>{var l,c;return{key:a.key,header:((l=a.exportable)==null?void 0:l.header)||a.title,width:((c=a.exportable)==null?void 0:c.width)||nt(a.width)}}),n=t.map(a=>rt(e,a));et({columns:d,rows:n,filename:r})}function lt(){return{exportExcel:at}}class j{constructor(t){S(this,"sort",{});S(this,"defaultSort",{});S(this,"before",t=>{t.paramsQuery={...t.paramsQuery||{},sort:this.stringify(this.sort)}});t&&(this.sort=t,this.defaultSort=t)}update(t,r){t&&r&&(this.sort[t]=r)}remove(t){const r=Object.entries(this.sort).filter(([d])=>d!==t);this.sort={},r&&r.forEach(([d,n])=>{this.sort[d]=n})}reset(){this.sort=this.defaultSort||{}}stringify(t){return typeof t!="object"?[]:(t instanceof j&&(t=t.sort),Object.entries(t).map(([r,d])=>`${r},${d}`))}}const ut=300;function dt(e){const t=e,r=t==null?void 0:t.querySelector(".arco-scrollbar-container.arco-table-body");if(!r)return;let d,n=!1,a;r.addEventListener("mousedown",()=>{console.log("mousedown"),d=setTimeout(()=>{d&&(r.style.cursor="grab",r.style.userSelect="none",n=!0)},ut)}),r.addEventListener("mouseup",()=>{clearTimeout(d),d&&(d=void 0,n=!1,r.style.cursor="",r.style.userSelect="",a=void 0)}),r.addEventListener("mousemove",l=>{if(n)if(a===void 0)a=l.clientX;else{const c=a-l.clientX;a=l.clientX,r.scrollLeft+=c}})}function ct(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!u.isVNode(e)}const it=u.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(e){const t=u.getCurrentInstance(),r=u.ref(0),d=e.columns.filter(a=>typeof a.visiable=="boolean"?a.visiable:typeof a.visiable=="function"?a.visiable():!0).map(a=>({options:a,renderer:E(a,{previewing:!0})})).filter(({options:a})=>{var l;return!((l=e.exclude)!=null&&l.includes(a.key))}).filter(({renderer:a})=>!(a!=null&&a.disableViewMode));function n(){var a;if(t){const l=(a=t.proxy)==null?void 0:a.$el;r.value=Math.floor(l.offsetWidth/e.minWidth)}}return u.onMounted(()=>{n()}),()=>{let a;return u.createVNode("div",{class:"preview-container"},[u.createVNode(h.Descriptions,{column:r.value,bordered:!0,align:"left",layout:e.layout},ct(a=d.map(l=>u.createVNode(h.DescriptionsItem,{label:l.options.title},{default:()=>{var c,m;return[(c=l.renderer)!=null&&c.render?(m=l.renderer)==null?void 0:m.render({record:e.record}):v(e.record,l.options)]}})))?a:{default:()=>[a]})])}}});function ft(e,t,{tableForm:r,tableEvents:d}){const n=e.refreshable||e.exportable||t.slots.actions,a=!!(r!=null&&r.length)&&n;return n||a?()=>u.createVNode(u.Fragment,null,[a&&u.createVNode(h.Divider,{margin:0},null),n&&u.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:e.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[u.createVNode("div",{class:"built-in"},[u.createVNode(h.Space,null,{default:()=>[e.refreshable&&u.createVNode(h.Button,{type:"primary",onClick:()=>d("reload")},{default:()=>[u.createTextVNode("刷新")]}),e.exportable&&u.createVNode(h.Button,{type:"primary",onClick:()=>d("export")},{default:()=>[u.createTextVNode("导出")]}),e.collapsable&&u.createVNode(h.Button,{type:"primary",onClick:()=>d("collapse")},{default:()=>[u.createTextVNode("显示")]})]})]),u.createVNode("div",{class:"customs"},[u.createVNode(h.Space,null,{default:()=>[t.slots.actions&&t.slots.actions()]})])])]):()=>{}}function st(e,t,{tableForm:r,tableEvents:d,formInstance:n}){return r!=null&&r.length?()=>u.createVNode("div",{class:"table-form"},[u.createVNode(G.FormRender,u.mergeProps({form:r,ref:a=>n&&(n.value=a),searchable:!0,onSubmit:()=>d("reload",{reset:!0})},e.formOptions),null)]):()=>{}}function ot(e,t,{tableSource:r}){const d=u.ref([]);function n(){d.value=[],t.emit("update:radio-key",null),t.emit("update:radio-row",null),t.emit("update:checkbox-keys",[]),t.emit("update:checkbox-rows",[])}function a(){u.nextTick(()=>{e.checkboxRows!==void 0&&(d.value=[...e.checkboxRows.map(f=>f[e.rowKey])]),e.checkboxKeys!==void 0&&(d.value=[...e.checkboxKeys]),e.radioKey&&(d.value=[e.radioKey]),e.radioRow&&(d.value=[e.radioRow[e.rowKey]])})}function l(){const f=typeof e.selection=="string"?{type:e.selection}:e.selection;switch(f==null?void 0:f.type){case"radio":return{title:"选择",...f,selectedRowKeys:d.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:d.value,...f}}}function c(f,s,o){const{type:y}=l()||{};switch(y){case"radio":t.emit("update:radio-key",s),t.emit("update:radio-row",o);break;case"checkbox":t.emit("update:checkbox-keys",f),t.emit("update:checkbox-rows",f.map(w=>{var N;return r.value.find(x=>x[e.rowKey]===w)||((N=e.checkboxRows)==null?void 0:N.find(x=>x[e.rowKey]===w))}));break}}function m(){u.nextTick(()=>{t.emit("update:checkbox-keys",d.value),t.emit("update:checkbox-rows",d.value.map(f=>{var s;return r.value.find(o=>o[e.rowKey]===f)||((s=e.checkboxRows)==null?void 0:s.find(o=>o[e.rowKey]===f))}))})}return a(),{selectedRowKeys:d,rowSelection:l(),onSelect:c,onSelectAll:m,resetSelection:n,reloadSelection:a}}function mt(e){return u.getCurrentScope()?(u.onScopeDispose(e),!0):!1}function $(e){return typeof e=="function"?e():u.unref(e)}const bt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function yt(e,t){var r;if(typeof e=="number")return e+t;const d=((r=e.match(/^-?[0-9]+\.?[0-9]*/))==null?void 0:r[0])||"",n=e.slice(d.length),a=Number.parseFloat(d)+t;return Number.isNaN(a)?e:a+n}const J=bt?window:void 0;function ht(){const e=u.ref(!1),t=u.getCurrentInstance();return t&&u.onMounted(()=>{e.value=!0},t),e}function gt(e){const t=ht();return u.computed(()=>(t.value,!!e()))}function V(e,t={}){const{window:r=J}=t,d=gt(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let n;const a=u.ref(!1),l=f=>{a.value=f.matches},c=()=>{n&&("removeEventListener"in n?n.removeEventListener("change",l):n.removeListener(l))},m=u.watchEffect(()=>{d.value&&(c(),n=r.matchMedia($(e)),"addEventListener"in n?n.addEventListener("change",l):n.addListener(l),a.value=n.matches)});return mt(()=>{m(),c(),n=void 0}),a}function wt(e,t={}){function r(s,o){let y=$(e[$(s)]);return o!=null&&(y=yt(y,o)),typeof y=="number"&&(y=`${y}px`),y}const{window:d=J,strategy:n="min-width"}=t;function a(s){return d?d.matchMedia(s).matches:!1}const l=s=>V(()=>`(min-width: ${r(s)})`,t),c=s=>V(()=>`(max-width: ${r(s)})`,t),m=Object.keys(e).reduce((s,o)=>(Object.defineProperty(s,o,{get:()=>n==="min-width"?l(o):c(o),enumerable:!0,configurable:!0}),s),{});function f(){const s=Object.keys(e).map(o=>[o,l(o)]);return u.computed(()=>s.filter(([,o])=>o.value).map(([o])=>o))}return Object.assign(m,{greaterOrEqual:l,smallerOrEqual:c,greater(s){return V(()=>`(min-width: ${r(s,.1)})`,t)},smaller(s){return V(()=>`(max-width: ${r(s,-.1)})`,t)},between(s,o){return V(()=>`(min-width: ${r(s)}) and (max-width: ${r(o,-.1)})`,t)},isGreater(s){return a(`(min-width: ${r(s,.1)})`)},isGreaterOrEqual(s){return a(`(min-width: ${r(s)})`)},isSmaller(s){return a(`(max-width: ${r(s,-.1)})`)},isSmallerOrEqual(s){return a(`(max-width: ${r(s)})`)},isInBetween(s,o){return a(`(min-width: ${r(s)}) and (max-width: ${r(o,-.1)})`)},current:f,active(){const s=f();return u.computed(()=>s.value.length===0?"":s.value.at(-1))}})}function vt(e,t,{pageService:r,tableEvents:d}){function n(c){r&&(r.pageIndex=c,d("reload"))}function a(c){r&&(r.pageSize=c,d("reload"))}const l=wt({mobile:0,tablet:640,desktop:1024});return r?()=>u.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[u.createVNode(h.Pagination,{current:r.pageIndex,"onUpdate:current":c=>r.pageIndex=c,"page-size":r.pageSize,"onUpdate:page-size":c=>r.pageSize=c,total:r.total,"page-size-options":r.pageSizeOpts,"hide-on-single-page":!0,"show-total":!0,"show-page-size":!0,simple:l.smaller("desktop").value,onChange:c=>n(c),onPageSizeChange:c=>a(c),style:{justifyContent:"flex-end"}},null)]):()=>{}}const xt=u.defineComponent({props:{collapsedColumns:{type:Array,required:!0}},setup(e){const t=k.useModal(),r=u.ref(e.collapsedColumns.map(n=>({label:n.title,value:n.key,disabled:!1}))),d=u.ref(e.collapsedColumns.filter(n=>n.collapsed).map(n=>n.key));return k.onSubmit(()=>{const n=e.collapsedColumns.map(a=>({key:a.key,title:a.title,collapsed:d.value.includes(a.key)}));t.close(n)}),()=>u.createVNode("div",{class:"table-collapsed-render"},[u.createVNode(h.Transfer,{data:r.value,"default-value":d.value,onChange:n=>d.value=[...n],title:["显示列","隐藏列"],style:{justifyContent:"center"}},{default:()=>[u.withDirectives(u.createVNode("template",null,null),[[u.resolveDirective("slot"),"source"]])]})])}}),St=u.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(e){const t=k.useModal();function r(d){e.onSubmit&&e.onSubmit(d),t.close(d)}return console.log(e.value),()=>u.createVNode("div",{class:"edit-form-container"},[u.createVNode(G.FormRender,{name:"form",value:e.value,form:e.form,onSubmit:r},null)])}}),Q=u.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},hoverable:{type:Boolean,required:!1,default:!1},bordered:{type:Boolean,required:!1,default:!1},stripe:{type:Boolean,required:!1,default:!0},columnsGroups:{type:Array,required:!1,default:()=>[]},rowClass:{type:Function,required:!1},expandable:{type:Object,required:!1},grabbable:{type:Boolean,default:!0,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(e,t){const r=Math.random().toString(32).slice(2).toUpperCase(),d=u.ref(),n=u.ref(),a=u.ref(),l=u.ref(),[c,m]=ge(e.columns),f=u.ref(!1),s=e.form??we(e.columns),o=N(),y=X(),w=u.ref(e.columns.map(i=>({key:i.key,title:i.title,collapsed:!!i.collapsed})));function N(){switch(!0){case(typeof e.pageable=="string"&&e.pageable==="server"):return new q;case(typeof e.pageable=="boolean"&&e.pageable===!0):return new q;case(typeof e.pageable=="object"&&!!e.pageable.reset):return e.pageable;case(typeof e.pageable=="object"&&(!!e.pageable.index||!!e.pageable.size)):return new q(e.pageable.index,e.pageable.size)}}const x=(()=>{switch(!0){case typeof e.pageable=="string":return e.pageable;case(e.pageable===void 0||e.pageable===!1):return"client";default:return"server"}})();function X(){const i=e.columns.find(b=>!!b.sortable);if(i||e.sortable)return new j({...e.sortable||{},...i?{[i.key]:i.sortable}:{}})}function Y(i){const{exportExcel:b}=lt();b((i==null?void 0:i.columns)||e.columns,(i==null?void 0:i.source)||c.value,(i==null?void 0:i.filename)||(typeof e.exportable=="object"?e.exportable.filename:void 0))}function z(i){let b;switch(!0){case!!(i!=null&&i.key):b=c.value.find(C=>C[e.rowKey]===(i==null?void 0:i.key));break;case!!(i!=null&&i.record):b=i==null?void 0:i.record;break}if(!b)throw new Error("未找到需要预览的数据");return a.value.open(it,{record:b,columns:e.columns},{title:(i==null?void 0:i.title)||"详情",mode:(i==null?void 0:i.mode)||"dialog"})}function L(i){let b;switch(!0){case!!(i!=null&&i.key):b=c.value.find(C=>C[e.rowKey]===(i==null?void 0:i.key));break;case!!(i!=null&&i.record):b=i==null?void 0:i.record;break}if(!b)throw new Error("未找到需要编辑的数据");return a.value.open(St,{value:b,form:i==null?void 0:i.form,onSubmit:i.onSubmit},{title:(i==null?void 0:i.title)||"编辑",mode:(i==null?void 0:i.mode)||"dialog",footer:!0,form:"form"})}function R(i){var A,I;if(!e.dataLoad)return;i!=null&&i.reset&&(o&&o.reset(),y&&y.reset(),(A=d.value)==null||A.resetSorters());const b={...((I=n.value)==null?void 0:I.formSource)||{}};Object.keys(b).forEach(K=>{[null,void 0,""].includes(b[K])&&delete b[K]});const C=e.dataLoad({form:b,page:o,sort:y,update:m});O(C)&&(f.value=!0,Promise.resolve(C).finally(()=>{f.value=!1}))}function Z(){a.value.open(xt,{collapsedColumns:w.value},{title:"显示列",size:"small",footer:!0}).then(i=>{w.value=i})}const p=(i,{type:b})=>{switch(b){case"drag":{m(i),t.emit("change",i);break}}},T=H({reload:R,preview:z,export:Y,edit:L,collapse:Z});function ee(i,b){!y||x==="client"||(b?y.update(i,b==="descend"?"desc":"asc"):y.remove(i),T("reload"))}const P=u.ref(U({columns:e.columns,columnsOptions:e.columnsOptions,columnsGroups:e.columnsGroups,pageMode:x,collapsedColumns:w,events:T})),M={tableEvents:T,tableForm:s,tableSource:c,formInstance:n,pageService:o,formOptions:e.formOptions},te=st(e,t,M),re=ft(e,t,M),ne=vt(e,t,M),{selectedRowKeys:D,rowSelection:B,onSelect:ae,onSelectAll:le,reloadSelection:ue,resetSelection:de}=ot(e,t,M),ce=u.computed(()=>({rowKey:e.rowKey,size:e.size,bordered:e.bordered,hoverable:e.hoverable,stripe:e.stripe,scroll:{x:e.columns.reduce((i,b)=>i+=typeof b.width!="number"?Math.max(b.title.length*16,80):b.width,0),y:e.height??"100%"},rowSelection:B,draggable:e.draggable?{type:"handle",width:40}:void 0,pagination:e.pageable===void 0||e.pageable==="client",selectedKeys:D.value,expandable:e.expandable}));function ie(){P.value=U({columns:e.columns,columnsOptions:e.columnsOptions,columnsGroups:e.columnsGroups,pageMode:x,collapsedColumns:w,events:T})}return u.onMounted(()=>{l.value&&(l.value.id=`table-${r}`),e.autoLoad&&R(),e.grabbable&&l.value&&dt(l.value)}),{tableId:r,tableInstance:d,tableSource:c,tableOptions:ce,tableColumns:P,tableEvents:T,tableForm:s,tableLoading:f,modalInstance:a,tableRenderElement:l,formSource:u.readonly(u.computed(()=>{var i;return(i=n==null?void 0:n.value)==null?void 0:i.formSource})),formInstance:n,reload:R,preview:z,edit:L,export:Y,onSorterChange:ee,onTableChange:p,renders:{renderTableForm:te,renderTableActions:re,renderTablePagination:ne},tableSelection:{selectedRowKeys:D,rowSelection:B,onSelect:ae,onSelectAll:le},resetSelection:de,reloadSelection:ue,reloadColumns:ie}},render(){this.reloadColumns();const e=()=>u.createVNode("div",{class:"table-body"},[u.createVNode(h.Table,u.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:t=>this.tableInstance=t,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onChange:this.onTableChange,rowClass:this.rowClass,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":t=>this.tableSelection.selectedRowKeys.value=t},this.tableOptions),null)]);return u.createVNode("div",{class:"table-render",ref:t=>this.tableRenderElement=t},[u.createVNode(k.ModalProvider,{ref:t=>this.modalInstance=t},{default:()=>[u.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),this.$slots.header&&this.$slots.header(),e(),this.renders.renderTablePagination()])]})])}});function Ct(e){return e}function kt(e){return e}const Tt={install(e,t){e.component("TableRender",Q)}};exports.TableRenderResolver=me.TableRenderResolver;exports.TableRender=Q;exports.default=Tt;exports.defineColumns=Ct;exports.defineTableLoad=kt;exports.useEvents=H;exports.useTable=ve;
1
+ "use strict";var fe=Object.defineProperty;var se=(e,t,r)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var S=(e,t,r)=>(se(e,typeof t!="symbol"?t+"":t,r),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("vue"),h=require("@arco-design/web-vue"),k=require("@gopowerteam/modal-render"),oe=require("exceljs"),_=require("dayjs"),G=require("@gopowerteam/form-render"),me=require("./resolver.cjs");function be(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const d=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,d.get?d:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ye=be(oe);function he(e,t,r){const[d,...n]=t.index?t.index.split(".").reverse():[t.key],a=n.reverse().reduce((l,c)=>l==null?void 0:l[c],e);a[d]=r}function ge(e){const t=u.ref([]),r=n=>{const a=e.filter(l=>l.formatter);return a.length>0?n.map(l=>(a.forEach(c=>{c.formatter&&he(l,c,c.formatter(l))}),l)):n};return[t,n=>{t.value=r(n)}]}function we(e){return e.filter(t=>t.form).map(t=>({key:t.key,title:t.title,...typeof t.form=="boolean"?{}:t.form}))}function ve(e){const t=u.getCurrentInstance(),r=u.ref();function d(){var a,l;const n=(l=(a=t==null?void 0:t.proxy)==null?void 0:a.$refs)==null?void 0:l[e];n&&(r.value=n)}return u.onMounted(d),u.onUpdated(d),r}function H(e){return(t,r)=>e[t](r)}class q{constructor(t=1,r=10){S(this,"data",u.reactive({index:1,size:10,total:0}));S(this,"pageSizeOpts",[10,20,30,40,50]);S(this,"pageLayouts",["PrevJump","PrevPage","JumpNumber","NextPage","NextJump","Sizes","FullJump","Total"]);this.pageIndex=t,this.pageSize=r}get pageIndex(){return this.data.index}set pageIndex(t){this.data.index=t}get pageSize(){return this.data.size}set pageSize(t){this.data.size=t}get total(){return this.data.total}set total(t){this.data.total=t}reset(){this.pageIndex=1}before(t){t.paramsQuery={...t.paramsQuery,page:this.pageIndex-1,size:this.pageSize}}after(t){var r;this.total=(r=t.data)==null?void 0:r.totalElements}}const xe=Symbol.for("RenderColumnType");function g(e,t,r){return t.$type=e,t.$disableColumnMode=r==null?void 0:r.disableColumnMode,t.$disableViewMode=r==null?void 0:r.disableViewMode,t}function v(e,t){return t.index?t.index.split(".").reduce((r,d)=>r==null?void 0:r[d],e):[t.key].reduce((r,d)=>r==null?void 0:r[d],e)}function O(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function Se(e){return g("button",(r,d,n)=>{const a=k.useModal(),l=Array.isArray(e)?e:"buttons"in e?e.buttons:[e],c=(f,s)=>typeof f=="function"?f(r):f===void 0?s:f;async function m(f){if(await(f.confirm===!0?new Promise(o=>{a.confirm({title:"提示信息",content:f.confirmText??"您确定要执行该操作?",onOk:()=>o(!0),onCancel:()=>o(!1)})}):Promise.resolve(!0))&&(f!=null&&f.onClick)){const o=f.onClick(r);O(o)&&f.autoReload!==!1&&o.then(()=>{n!=null&&n.emits&&(n==null||n.emits("reload"))}),!O(o)&&f.autoReload===!0&&n!=null&&n.emits&&(n==null||n.emits("reload"))}}return u.createVNode(u.Fragment,null,[l.filter(f=>c(f.visiable,!0)).map(f=>u.createVNode(h.Button,{onClick:()=>m(f),type:f.type||"text",shape:f.shape,size:"mini",disabled:c(f.disabled,!1)},{icon:f.icon,default:()=>(typeof f.content=="function"?f.content(r):f.content)||""}))])},{disableViewMode:!0})}const Ce={thousands:!0,inputUnit:"元",outputUnit:"元"},F={分:10**0,元:10**2,万:10**6};function ke(e){e={...Ce,...e||{}};const t=a=>{if(a==null)return;if((e==null?void 0:e.inputUnit)===(e==null?void 0:e.outputUnit))return a;const l=F[e.inputUnit]/F[e.outputUnit],c=parseFloat((a*l).toFixed(10));return(e==null?void 0:e.precision)===void 0?c:c.toFixed(e==null?void 0:e.precision)},r=a=>{if(a==null)return;const l=a.toString().split(".");return l[0]=l[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),l.join(".")},d=a=>{if((e==null?void 0:e.zeroString)!==void 0&&Number(a)===0)return e==null?void 0:e.zeroString;if((e==null?void 0:e.nullString)!==void 0&&isNaN(Number(a)))return e==null?void 0:e.nullString;const l=t(Number(a));return e!=null&&e.thousands?r(l):l};return g("dict",(a,l)=>{const c=v(a,l);return u.createVNode("div",null,[typeof(e==null?void 0:e.prefix)=="string"?u.createVNode("span",null,[e.prefix]):typeof(e==null?void 0:e.prefix)=="function"?u.createVNode("span",null,[e.prefix()]):void 0,u.createVNode("span",{class:"currency_value"},[d(c)]),typeof(e==null?void 0:e.suffix)=="string"?u.createVNode("span",null,[e.suffix]):typeof(e==null?void 0:e.suffix)=="function"?u.createVNode("span",null,[e.suffix()]):void 0])})}var Te=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ve={exports:{}};(function(e,t){(function(r,d){e.exports=d(_)})(Te,function(r){function d(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var n=d(r),a={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(l,c){return c==="W"?l+"周":l+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(l,c){var m=100*l+c;return m<600?"凌晨":m<900?"早上":m<1100?"上午":m<1300?"中午":m<1800?"下午":"晚上"}};return n.default.locale(a,null,!0),a})})(Ve);_.locale("zh-cn");const Ne={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",week:"ddd"};function Me(e){return g("date",(r,d)=>{const n=v(r,d),a=typeof(e==null?void 0:e.format)=="function"?e==null?void 0:e.format():Ne[(e==null?void 0:e.format)||"datetime"],l=_(n);return u.createVNode("span",null,[l.isValid()&&l.format(a)])})}const Oe={success:"arcoblue",warning:"orange",error:"red"};function _e(e){return e instanceof Map?e:e.dict}function Re(e){const t=e instanceof Map?!1:e.tag;return typeof t=="string"?Oe[t]:t}function qe(e){const t=_e(e),r=Re(e);return g("dict",(n,a)=>{const l=v(n,a);return r?u.createVNode(h.Tag,{color:r===!0?void 0:r},{default:()=>[t.get(l)||l]}):u.createVNode("span",null,[t.get(l)||l])})}function $e(e){const t=k.useModal();async function r(n,a){n.confirm&&!await new Promise((c,m)=>{t.open("confirm",{title:"确认",content:n.confirmText||"是否确认执行该操作?",onOk:()=>c(!0),onCancel:()=>c(!1)})})||n.onClick(a)}return g("dropdown",(n,a)=>{const l=e.options.filter(c=>typeof c.visiable=="function"?c.visiable(n):c.visiable!==!1);return u.createVNode(h.Dropdown,{trigger:(e==null?void 0:e.trigger)||"click"},{default:()=>u.createVNode(h.Button,{disabled:l.length===0,type:"text"},{default:()=>[(e==null?void 0:e.content)||"操作"]}),content:()=>l.map(c=>u.createVNode(h.Dropdown.Option,{onClick:()=>r(c,n)},{default:()=>[typeof c.content=="function"?c.content(n):c.content]}))})})}const Ee={size:30};function je(e){e={...Ee,...e||{}};function t(n,a){var c;const l=(c=document.getElementById(n))==null?void 0:c.getBoundingClientRect();if(l){const m=new Image(100,100);m.id=`IMAGE_${n}_PREVIEW`,m.src=a,m.setAttribute("style",["position:fixed;",`top:${l.top}px;`,`left:${l.left+l.width}px;`,"min-width:400px;","height:auto;","z-index:100;"].join("")),document.body.appendChild(m)}}function r(n){const a=document.getElementById(`IMAGE_${n}_PREVIEW`);a==null||a.remove()}return g("image",(n,a,l)=>{const c=v(n,a),m=Math.random().toString(32).slice(2).toUpperCase(),f={maxWidth:"100%",maxHeight:"100%",borderRadius:e==null?void 0:e.radius,objectFit:"contain",transform:`rotate(${(e==null?void 0:e.rotate)||0}deg)`,cursor:e!=null&&e.preview?"pointer":"unset"},s=`${a.index||a.key}_parsed`;if(e!=null&&e.parse){const o=e==null?void 0:e.parse(c,n);O(o)?o.then(y=>n[s]=y??""):n[s]=o??""}if(e!=null&&e.parse&&!n[s]===void 0)return u.createVNode("div",null,[u.createTextVNode("Loading...")]);{const o=n[s]||c;return o?u.createVNode("div",{id:m,onMouseenter:()=>(e==null?void 0:e.preview)&&!(l!=null&&l.previewing)&&t(m,o),onMouseleave:()=>(e==null?void 0:e.preview)&&!(l!=null&&l.previewing)&&r(m),style:{display:"flex",justifyContent:"center",alignItems:"center",height:`${e==null?void 0:e.size}px`}},[u.createVNode("img",{alt:"image",style:f,src:o},null)]):u.createVNode(u.Fragment,null,null)}})}const Ye=" ";function ze(e){return e==null?void 0:e.replace(/(\d{3})\d*(\d{4})/g,"$1****$2")}function Le(e,t){return e==null?void 0:e.replace(/\*/g,"M").replace(/\B(?=(?:\S{4})+$)/g,t??Ye).replace(/M/g,"*")}function Pe(e){return g("phone",(r,d)=>{const n=v(r,d),a=Le(e!=null&&e.safe?ze(n):n,e==null?void 0:e.separator);return e!=null&&e.callable?u.createVNode("a",{style:"text-decoration:none;",href:`tel:${n}`},[a]):u.createVNode("span",null,[a])})}function De(e){return g("render",r=>e(r))}function Be(e){return g("tag",(r,d)=>{const n=(e==null?void 0:e.maxCount)||5,a=e!=null&&e.formatter?e.formatter(r):v(r,d),l=(e==null?void 0:e.textColors)||["#F87335"],c=(e==null?void 0:e.backgroundColors)||["#FFF4E8"],m=a.length>n,f=e==null?void 0:e.minWidth;return u.createVNode("div",{style:{display:"flex",flexWrap:"wrap"}},[a.slice(0,n).map((s,o)=>{const y=typeof l=="function"?l(s,o):l[o%l.length],w=typeof c=="function"?c(s,o):c[o%c.length];return u.createVNode("span",{style:{minWidth:f?`${f}px`:"unset",textAlign:"center",margin:"2px",padding:"2px 5px",border:`solid 2px ${e!=null&&e.border?y:"transparent"}`,borderRadius:`${(e==null?void 0:e.radius)||0}px`,color:y,backgroundColor:w}},[s])}),m&&"..."])})}function W(e){if(typeof e=="string")return e;if(typeof e=="number")return`${e}px`}function Ae(e,t,r){var d,n;return typeof e=="function"?(d=e(r))==null?void 0:d.toString():typeof(e==null?void 0:e.content)=="function"?(n=e==null?void 0:e.content(r))==null?void 0:n.toString():typeof(e==null?void 0:e.content)=="string"?e==null?void 0:e.content:v(r,t)}function Ie(e,t){if(typeof e!="function"){if(typeof(e==null?void 0:e.color)=="function")return e==null?void 0:e.color(t);if(typeof(e==null?void 0:e.color)=="string")return e==null?void 0:e.color}}function Ke(e,t){if(typeof e!="function")return typeof(e==null?void 0:e.size)=="function"?W(e==null?void 0:e.size(t)):W(e==null?void 0:e.size)}function Fe(e,t){let r="";const d=Ie(e,t),n=Ke(e,t);return d&&(r+=`color:${d};`),n&&(r+=`font-size:${n};`),r}function We(e){return g("text",(r,d)=>{const n=Ae(e||{},d,r),a=Fe(e||{},r);return u.createVNode("span",{style:a},[n])})}function Ue(){return{dropdown:$e,text:We,dict:qe,tag:Be,render:De,phone:Pe,image:je,currency:ke,date:Me,button:Se}}function E(e,t){if(!(e!=null&&e.render))return;const r=e.render({...Ue()});return{render:({record:d})=>r(d,e,t),[xe]:r.$type,disableColumnMode:r.$disableColumnMode,disableViewMode:r.$disableViewMode,isRender:r.$type==="render",type:r.$type}}function U({columns:e,columnsOptions:t,columnsGroups:r,pageMode:d,collapsedColumns:n,events:a}){const l=e.map(c=>({...t||{},...c})).map(c=>Je(c,d,n,a)).filter(Boolean);return He(l,r)}function Ge(e,t){const r=[],d=a=>{if("children"in a&&(a.children=a.children.map(d)),"key"in a){const l=t.find(c=>{var m;return((m=Object.getOwnPropertyDescriptor(c,"key"))==null?void 0:m.value)===a.key});if(l)return r.push(l),l}return a},n=d(e);if(r!=null&&r.length&&n){const a=Math.min(...r.map(l=>t.indexOf(l)));r.forEach(l=>{const c=t.indexOf(l);t.splice(c,1)}),t.splice(a,0,n)}}function He(e,t=[]){return t.forEach(r=>{Ge(r,e)}),e}function Je(e,t,r,d){const{render:n,disableColumnMode:a}=E(e,{previewing:!1,emits:d})||{};if(!(a||e.visiable===!1)&&!(typeof e.visiable=="function"&&e.visiable()===!1)&&!r.value.find(l=>l.key===e.key&&l.collapsed===!0))return{dataIndex:e.index||e.key,title:e.title,width:e.width==="auto"?void 0:e.width,align:e.align??"center",fixed:e.fixed,ellipsis:e.ellipsis??!0,sortable:e.sortable?{sorter:t==="server",sortDirections:["ascend","descend"],defaultSortOrder:e.sortable==="asc"?"ascend":"descend"}:void 0,tooltip:!0,...e.extraProps,key:e.key,render:n}}function Qe(){return new ye.Workbook}function Xe(e,t="Sheet1"){return e.addWorksheet(t,{headerFooter:{firstHeader:"",firstFooter:""}})}function Ze(e,t){e.columns=t}function pe(e,t){e.addRows(t)}async function et({columns:e,rows:t,filename:r}){const d=Qe(),n=Xe(d);Ze(n,e),pe(n,t);const a=await d.xlsx.writeBuffer(),l=new Blob([a]);tt(l,r||`${_().format("YYYY-MM-DD HH:mm:ss")}.xlsx`)}function tt(e,t){const r=document.createElement("a");r.download=t||"download",r.href=URL.createObjectURL(e),r.click(),setTimeout(()=>{URL.revokeObjectURL(r.href)},1e3)}function rt(e,t){const r={};return e.filter(n=>n.exportable!==!1).map(n=>({options:n,render:E(n),content:typeof n.exportable=="object"?n.exportable.content:void 0})).forEach(n=>{var c;const a=(c=n.render)==null?void 0:c.render,l=()=>{var m;switch(!0){case!!n.content:return n.content&&n.content(t);case!!a:{const f=document.createElement("div"),s=u.h(()=>a&&a({record:t}));return u.render(s,f),(m=s.el)==null?void 0:m.innerText}default:return v(t,n.options)}};r[n.options.key]=l()}),r}function nt(e){switch(!0){case typeof e=="number":return e/6;case(typeof e=="string"&&e.endsWith("px")):return parseInt(e.replace("px",""))/6;default:return 30}}function at(e,t,r){const d=e.filter(a=>a.exportable!==!1).map(a=>{var l,c;return{key:a.key,header:((l=a.exportable)==null?void 0:l.header)||a.title,width:((c=a.exportable)==null?void 0:c.width)||nt(a.width)}}),n=t.map(a=>rt(e,a));et({columns:d,rows:n,filename:r})}function lt(){return{exportExcel:at}}class j{constructor(t){S(this,"sort",{});S(this,"defaultSort",{});S(this,"before",t=>{t.paramsQuery={...t.paramsQuery||{},sort:this.stringify(this.sort)}});t&&(this.sort=t,this.defaultSort=t)}update(t,r){t&&r&&(this.sort[t]=r)}remove(t){const r=Object.entries(this.sort).filter(([d])=>d!==t);this.sort={},r&&r.forEach(([d,n])=>{this.sort[d]=n})}reset(){this.sort=this.defaultSort||{}}stringify(t){return typeof t!="object"?[]:(t instanceof j&&(t=t.sort),Object.entries(t).map(([r,d])=>`${r},${d}`))}}const ut=300;function dt(e){const t=e,r=t==null?void 0:t.querySelector(".arco-scrollbar-container.arco-table-body");if(!r)return;let d,n=!1,a;r.addEventListener("mousedown",()=>{console.log("mousedown"),d=setTimeout(()=>{d&&(r.style.cursor="grab",r.style.userSelect="none",n=!0)},ut)}),r.addEventListener("mouseup",()=>{clearTimeout(d),d&&(d=void 0,n=!1,r.style.cursor="",r.style.userSelect="",a=void 0)}),r.addEventListener("mousemove",l=>{if(n)if(a===void 0)a=l.clientX;else{const c=a-l.clientX;a=l.clientX,r.scrollLeft+=c}})}function ct(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!u.isVNode(e)}const it=u.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(e){const t=u.getCurrentInstance(),r=u.ref(0),d=e.columns.filter(a=>typeof a.visiable=="boolean"?a.visiable:typeof a.visiable=="function"?a.visiable():!0).map(a=>({options:a,renderer:E(a,{previewing:!0})})).filter(({options:a})=>{var l;return!((l=e.exclude)!=null&&l.includes(a.key))}).filter(({renderer:a})=>!(a!=null&&a.disableViewMode));function n(){var a;if(t){const l=(a=t.proxy)==null?void 0:a.$el;r.value=Math.floor(l.offsetWidth/e.minWidth)}}return u.onMounted(()=>{n()}),()=>{let a;return u.createVNode("div",{class:"preview-container"},[u.createVNode(h.Descriptions,{column:r.value,bordered:!0,align:"left",layout:e.layout},ct(a=d.map(l=>u.createVNode(h.DescriptionsItem,{label:l.options.title},{default:()=>{var c,m;return[(c=l.renderer)!=null&&c.render?(m=l.renderer)==null?void 0:m.render({record:e.record}):v(e.record,l.options)]}})))?a:{default:()=>[a]})])}}});function ft(e,t,{tableForm:r,tableEvents:d}){const n=e.refreshable||e.exportable||t.slots.actions,a=!!(r!=null&&r.length)&&n;return n||a?()=>u.createVNode(u.Fragment,null,[a&&u.createVNode(h.Divider,{margin:0},null),n&&u.createVNode("div",{class:"table-actions",style:{display:"flex",justifyContent:"space-between",margin:"20px 0",flexDirection:e.actionsPosition==="right"?"row":"row-reverse",alignItems:"center"}},[u.createVNode("div",{class:"built-in"},[u.createVNode(h.Space,null,{default:()=>[e.refreshable&&u.createVNode(h.Button,{type:"primary",onClick:()=>d("reload")},{default:()=>[u.createTextVNode("刷新")]}),e.exportable&&u.createVNode(h.Button,{type:"primary",onClick:()=>d("export")},{default:()=>[u.createTextVNode("导出")]}),e.collapsable&&u.createVNode(h.Button,{type:"primary",onClick:()=>d("collapse")},{default:()=>[u.createTextVNode("显示")]})]})]),u.createVNode("div",{class:"customs"},[u.createVNode(h.Space,null,{default:()=>[t.slots.actions&&t.slots.actions()]})])])]):()=>{}}function st(e,t,{tableForm:r,tableEvents:d,formInstance:n}){return r!=null&&r.length?()=>u.createVNode("div",{class:"table-form"},[u.createVNode(G.FormRender,u.mergeProps({form:r,ref:a=>n&&(n.value=a),searchable:!0,onSubmit:()=>d("reload",{reset:!0})},e.formOptions),null)]):()=>{}}function ot(e,t,{tableSource:r}){const d=u.ref([]);function n(){d.value=[],t.emit("update:radio-key",null),t.emit("update:radio-row",null),t.emit("update:checkbox-keys",[]),t.emit("update:checkbox-rows",[])}function a(){u.nextTick(()=>{e.checkboxRows!==void 0&&(d.value=[...e.checkboxRows.map(f=>f[e.rowKey])]),e.checkboxKeys!==void 0&&(d.value=[...e.checkboxKeys]),e.radioKey&&(d.value=[e.radioKey]),e.radioRow&&(d.value=[e.radioRow[e.rowKey]])})}function l(){const f=typeof e.selection=="string"?{type:e.selection}:e.selection;switch(f==null?void 0:f.type){case"radio":return{title:"选择",...f,selectedRowKeys:d.value};case"checkbox":return{showCheckedAll:!0,selectedRowKeys:d.value,...f}}}function c(f,s,o){const{type:y}=l()||{};switch(y){case"radio":t.emit("update:radio-key",s),t.emit("update:radio-row",o);break;case"checkbox":t.emit("update:checkbox-keys",f),t.emit("update:checkbox-rows",f.map(w=>{var N;return r.value.find(x=>x[e.rowKey]===w)||((N=e.checkboxRows)==null?void 0:N.find(x=>x[e.rowKey]===w))}));break}}function m(){u.nextTick(()=>{t.emit("update:checkbox-keys",d.value),t.emit("update:checkbox-rows",d.value.map(f=>{var s;return r.value.find(o=>o[e.rowKey]===f)||((s=e.checkboxRows)==null?void 0:s.find(o=>o[e.rowKey]===f))}))})}return a(),{selectedRowKeys:d,rowSelection:l(),onSelect:c,onSelectAll:m,resetSelection:n,reloadSelection:a}}function mt(e){return u.getCurrentScope()?(u.onScopeDispose(e),!0):!1}function $(e){return typeof e=="function"?e():u.unref(e)}const bt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function yt(e,t){var r;if(typeof e=="number")return e+t;const d=((r=e.match(/^-?[0-9]+\.?[0-9]*/))==null?void 0:r[0])||"",n=e.slice(d.length),a=Number.parseFloat(d)+t;return Number.isNaN(a)?e:a+n}const J=bt?window:void 0;function ht(){const e=u.ref(!1),t=u.getCurrentInstance();return t&&u.onMounted(()=>{e.value=!0},t),e}function gt(e){const t=ht();return u.computed(()=>(t.value,!!e()))}function V(e,t={}){const{window:r=J}=t,d=gt(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let n;const a=u.ref(!1),l=f=>{a.value=f.matches},c=()=>{n&&("removeEventListener"in n?n.removeEventListener("change",l):n.removeListener(l))},m=u.watchEffect(()=>{d.value&&(c(),n=r.matchMedia($(e)),"addEventListener"in n?n.addEventListener("change",l):n.addListener(l),a.value=n.matches)});return mt(()=>{m(),c(),n=void 0}),a}function wt(e,t={}){function r(s,o){let y=$(e[$(s)]);return o!=null&&(y=yt(y,o)),typeof y=="number"&&(y=`${y}px`),y}const{window:d=J,strategy:n="min-width"}=t;function a(s){return d?d.matchMedia(s).matches:!1}const l=s=>V(()=>`(min-width: ${r(s)})`,t),c=s=>V(()=>`(max-width: ${r(s)})`,t),m=Object.keys(e).reduce((s,o)=>(Object.defineProperty(s,o,{get:()=>n==="min-width"?l(o):c(o),enumerable:!0,configurable:!0}),s),{});function f(){const s=Object.keys(e).map(o=>[o,l(o)]);return u.computed(()=>s.filter(([,o])=>o.value).map(([o])=>o))}return Object.assign(m,{greaterOrEqual:l,smallerOrEqual:c,greater(s){return V(()=>`(min-width: ${r(s,.1)})`,t)},smaller(s){return V(()=>`(max-width: ${r(s,-.1)})`,t)},between(s,o){return V(()=>`(min-width: ${r(s)}) and (max-width: ${r(o,-.1)})`,t)},isGreater(s){return a(`(min-width: ${r(s,.1)})`)},isGreaterOrEqual(s){return a(`(min-width: ${r(s)})`)},isSmaller(s){return a(`(max-width: ${r(s,-.1)})`)},isSmallerOrEqual(s){return a(`(max-width: ${r(s)})`)},isInBetween(s,o){return a(`(min-width: ${r(s)}) and (max-width: ${r(o,-.1)})`)},current:f,active(){const s=f();return u.computed(()=>s.value.length===0?"":s.value.at(-1))}})}function vt(e,t,{pageService:r,tableEvents:d}){function n(c){r&&(r.pageIndex=c,d("reload"))}function a(c){r&&(r.pageSize=c,d("reload"))}const l=wt({mobile:0,tablet:640,desktop:1024});return r?()=>u.createVNode("div",{class:"table-pagination",style:{padding:"10px 0"}},[u.createVNode(h.Pagination,{current:r.pageIndex,"onUpdate:current":c=>r.pageIndex=c,"page-size":r.pageSize,"onUpdate:page-size":c=>r.pageSize=c,total:r.total,"page-size-options":r.pageSizeOpts,"hide-on-single-page":!0,"show-total":!0,"show-page-size":!0,simple:l.smaller("desktop").value,onChange:c=>n(c),onPageSizeChange:c=>a(c),style:{justifyContent:"flex-end"}},null)]):()=>{}}const xt=u.defineComponent({props:{collapsedColumns:{type:Array,required:!0}},setup(e){const t=k.useModal(),r=u.ref(e.collapsedColumns.map(n=>({label:n.title,value:n.key,disabled:!1}))),d=u.ref(e.collapsedColumns.filter(n=>n.collapsed).map(n=>n.key));return k.onSubmit(()=>{const n=e.collapsedColumns.map(a=>({key:a.key,title:a.title,collapsed:d.value.includes(a.key)}));t.close(n)}),()=>u.createVNode("div",{class:"table-collapsed-render"},[u.createVNode(h.Transfer,{data:r.value,"default-value":d.value,onChange:n=>d.value=[...n],title:["显示列","隐藏列"],style:{justifyContent:"center"}},{default:()=>[u.withDirectives(u.createVNode("template",null,null),[[u.resolveDirective("slot"),"source"]])]})])}}),St=u.defineComponent({props:{value:{type:Object,required:!0},form:{type:Array,required:!0},onSubmit:{type:Function,required:!1}},setup(e){const t=k.useModal();function r(d){e.onSubmit&&e.onSubmit(d),t.close(d)}return console.log(e.value),()=>u.createVNode("div",{class:"edit-form-container"},[u.createVNode(G.FormRender,{name:"form",value:e.value,form:e.form,onSubmit:r},null)])}}),Q=u.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},hoverable:{type:Boolean,required:!1,default:!1},bordered:{type:Boolean,required:!1,default:!1},stripe:{type:Boolean,required:!1,default:!0},columnsGroups:{type:Array,required:!1,default:()=>[]},rowClass:{type:Function,required:!1},expandable:{type:Object,required:!1},grabbable:{type:Boolean,default:!0,required:!1},autoFill:{type:Boolean,default:!1,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(e,t){const r=Math.random().toString(32).slice(2).toUpperCase(),d=u.ref(),n=u.ref(),a=u.ref(),l=u.ref(),[c,m]=ge(e.columns),f=u.ref(!1),s=e.form??we(e.columns),o=N(),y=X(),w=u.ref(e.columns.map(i=>({key:i.key,title:i.title,collapsed:!!i.collapsed})));function N(){switch(!0){case(typeof e.pageable=="string"&&e.pageable==="server"):return new q;case(typeof e.pageable=="boolean"&&e.pageable===!0):return new q;case(typeof e.pageable=="object"&&!!e.pageable.reset):return e.pageable;case(typeof e.pageable=="object"&&(!!e.pageable.index||!!e.pageable.size)):return new q(e.pageable.index,e.pageable.size)}}const x=(()=>{switch(!0){case typeof e.pageable=="string":return e.pageable;case(e.pageable===void 0||e.pageable===!1):return"client";default:return"server"}})();function X(){const i=e.columns.find(b=>!!b.sortable);if(i||e.sortable)return new j({...e.sortable||{},...i?{[i.key]:i.sortable}:{}})}function Y(i){const{exportExcel:b}=lt();b((i==null?void 0:i.columns)||e.columns,(i==null?void 0:i.source)||c.value,(i==null?void 0:i.filename)||(typeof e.exportable=="object"?e.exportable.filename:void 0))}function z(i){let b;switch(!0){case!!(i!=null&&i.key):b=c.value.find(C=>C[e.rowKey]===(i==null?void 0:i.key));break;case!!(i!=null&&i.record):b=i==null?void 0:i.record;break}if(!b)throw new Error("未找到需要预览的数据");return a.value.open(it,{record:b,columns:e.columns},{title:(i==null?void 0:i.title)||"详情",mode:(i==null?void 0:i.mode)||"dialog"})}function L(i){let b;switch(!0){case!!(i!=null&&i.key):b=c.value.find(C=>C[e.rowKey]===(i==null?void 0:i.key));break;case!!(i!=null&&i.record):b=i==null?void 0:i.record;break}if(!b)throw new Error("未找到需要编辑的数据");return a.value.open(St,{value:b,form:i==null?void 0:i.form,onSubmit:i.onSubmit},{title:(i==null?void 0:i.title)||"编辑",mode:(i==null?void 0:i.mode)||"dialog",footer:!0,form:"form"})}function R(i){var A,I;if(!e.dataLoad)return;i!=null&&i.reset&&(o&&o.reset(),y&&y.reset(),(A=d.value)==null||A.resetSorters());const b={...((I=n.value)==null?void 0:I.formSource)||{}};Object.keys(b).forEach(K=>{[null,void 0,""].includes(b[K])&&delete b[K]});const C=e.dataLoad({form:b,page:o,sort:y,update:m});O(C)&&(f.value=!0,Promise.resolve(C).finally(()=>{f.value=!1}))}function Z(){a.value.open(xt,{collapsedColumns:w.value},{title:"显示列",size:"small",footer:!0}).then(i=>{w.value=i})}const p=(i,{type:b})=>{switch(b){case"drag":{m(i),t.emit("change",i);break}}},T=H({reload:R,preview:z,export:Y,edit:L,collapse:Z});function ee(i,b){!y||x==="client"||(b?y.update(i,b==="descend"?"desc":"asc"):y.remove(i),T("reload"))}const P=u.ref(U({columns:e.columns,columnsOptions:e.columnsOptions,columnsGroups:e.columnsGroups,pageMode:x,collapsedColumns:w,events:T})),M={tableEvents:T,tableForm:s,tableSource:c,formInstance:n,pageService:o,formOptions:e.formOptions},te=st(e,t,M),re=ft(e,t,M),ne=vt(e,t,M),{selectedRowKeys:D,rowSelection:B,onSelect:ae,onSelectAll:le,reloadSelection:ue,resetSelection:de}=ot(e,t,M),ce=u.computed(()=>({rowKey:e.rowKey,size:e.size,bordered:e.bordered,hoverable:e.hoverable,stripe:e.stripe,scroll:{x:e.columns.reduce((i,b)=>i+=typeof b.width!="number"?Math.max(b.title.length*16,80):b.width,0),y:e.height??"100%"},rowSelection:B,draggable:e.draggable?{type:"handle",width:40}:void 0,pagination:e.pageable===void 0||e.pageable==="client",selectedKeys:D.value,expandable:e.expandable}));function ie(){P.value=U({columns:e.columns,columnsOptions:e.columnsOptions,columnsGroups:e.columnsGroups,pageMode:x,collapsedColumns:w,events:T})}return u.onMounted(()=>{l.value&&(l.value.id=`table-${r}`),e.autoLoad&&R(),e.grabbable&&l.value&&dt(l.value)}),{tableId:r,tableInstance:d,tableSource:c,tableOptions:ce,tableColumns:P,tableEvents:T,tableForm:s,tableLoading:f,modalInstance:a,tableRenderElement:l,formSource:u.readonly(u.computed(()=>{var i;return(i=n==null?void 0:n.value)==null?void 0:i.formSource})),formInstance:n,reload:R,preview:z,edit:L,export:Y,onSorterChange:ee,onTableChange:p,renders:{renderTableForm:te,renderTableActions:re,renderTablePagination:ne},tableSelection:{selectedRowKeys:D,rowSelection:B,onSelect:ae,onSelectAll:le},resetSelection:de,reloadSelection:ue,reloadColumns:ie}},render(){this.reloadColumns();const e=()=>u.createVNode("div",{class:"table-body"},[u.createVNode("div",{class:"table-body-wrapper"},[u.createVNode(h.Table,u.mergeProps({loading:this.tableLoading,data:this.tableSource,columns:this.tableColumns,ref:t=>this.tableInstance=t,onSelect:this.tableSelection.onSelect,onSelectAll:this.tableSelection.onSelectAll,onChange:this.onTableChange,rowClass:this.rowClass,onSorterChange:this.onSorterChange,selectedKeys:this.tableSelection.selectedRowKeys.value,"onUpdate:selectedKeys":t=>this.tableSelection.selectedRowKeys.value=t},this.tableOptions),null)])]);return u.createVNode("div",{class:{"table-render":!0,"auto-fill":this.autoFill},ref:t=>this.tableRenderElement=t},[u.createVNode(k.ModalProvider,{ref:t=>this.modalInstance=t},{default:()=>[u.createVNode("div",{class:"table-render-content"},[this.renders.renderTableForm(),this.renders.renderTableActions(),this.$slots.header&&this.$slots.header(),e(),this.renders.renderTablePagination()])]})])}});function Ct(e){return e}function kt(e){return e}const Tt={install(e,t){e.component("TableRender",Q)}};exports.TableRenderResolver=me.TableRenderResolver;exports.TableRender=Q;exports.default=Tt;exports.defineColumns=Ct;exports.defineTableLoad=kt;exports.useEvents=H;exports.useTable=ve;
@@ -141,6 +141,11 @@ export declare const TableRender: import('vue').DefineComponent<{
141
141
  default: boolean;
142
142
  required: false;
143
143
  };
144
+ autoFill: {
145
+ type: BooleanConstructor;
146
+ default: boolean;
147
+ required: false;
148
+ };
144
149
  }, {
145
150
  tableId: string;
146
151
  tableInstance: Ref<import('vue').CreateComponentPublicInstance<Readonly<{
@@ -1689,6 +1694,11 @@ export declare const TableRender: import('vue').DefineComponent<{
1689
1694
  default: boolean;
1690
1695
  required: false;
1691
1696
  };
1697
+ autoFill: {
1698
+ type: BooleanConstructor;
1699
+ default: boolean;
1700
+ required: false;
1701
+ };
1692
1702
  }>>, {
1693
1703
  autoLoad: boolean;
1694
1704
  size: "mini" | "small" | "medium" | "large";
@@ -1708,6 +1718,7 @@ export declare const TableRender: import('vue').DefineComponent<{
1708
1718
  stripe: boolean;
1709
1719
  columnsGroups: ColumnsGroup[];
1710
1720
  grabbable: boolean;
1721
+ autoFill: boolean;
1711
1722
  }, {}>;
1712
1723
  export type TableRenderInstance = InstanceType<typeof TableRender>;
1713
1724
  export type TableRenderProps = TableRenderInstance['$props'];
package/dist/es/index.mjs CHANGED
@@ -1,22 +1,22 @@
1
1
  var ve = Object.defineProperty;
2
2
  var xe = (e, t, r) => t in e ? ve(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var S = (e, t, r) => (xe(e, typeof t != "symbol" ? t + "" : t, r), r);
4
- import { ref as h, getCurrentInstance as A, onMounted as E, onUpdated as Se, reactive as ke, createVNode as s, Fragment as I, createTextVNode as $, h as Ce, render as Te, defineComponent as z, isVNode as Me, mergeProps as ne, nextTick as X, getCurrentScope as Oe, onScopeDispose as _e, unref as Re, computed as O, watchEffect as $e, withDirectives as Ye, resolveDirective as Ee, readonly as ze } from "vue";
5
- import { Button as M, Tag as qe, Dropdown as Z, Descriptions as je, DescriptionsItem as Le, Divider as Pe, Space as p, Pagination as De, Transfer as Ae, Table as Ie } from "@arco-design/web-vue";
6
- import { useModal as q, onSubmit as Be, ModalProvider as Ke } from "@gopowerteam/modal-render";
4
+ import { ref as h, getCurrentInstance as A, onMounted as E, onUpdated as Se, reactive as ke, createVNode as s, Fragment as B, createTextVNode as $, h as Ce, render as Te, defineComponent as q, isVNode as Me, mergeProps as ne, nextTick as X, getCurrentScope as Oe, onScopeDispose as _e, unref as Re, computed as O, watchEffect as $e, withDirectives as Ye, resolveDirective as Ee, readonly as qe } from "vue";
5
+ import { Button as M, Tag as ze, Dropdown as Z, Descriptions as je, DescriptionsItem as Le, Divider as Pe, Space as p, Pagination as De, Transfer as Ae, Table as Be } from "@arco-design/web-vue";
6
+ import { useModal as z, onSubmit as Ie, ModalProvider as Ke } from "@gopowerteam/modal-render";
7
7
  import * as We from "exceljs";
8
8
  import j from "dayjs";
9
9
  import { FormRender as ae } from "@gopowerteam/form-render";
10
10
  import { TableRenderResolver as cr } from "./resolver.mjs";
11
- function Ve(e, t, r) {
11
+ function Fe(e, t, r) {
12
12
  const [u, ...n] = t.index ? t.index.split(".").reverse() : [t.key], a = n.reverse().reduce((l, d) => l == null ? void 0 : l[d], e);
13
13
  a[u] = r;
14
14
  }
15
- function Fe(e) {
15
+ function Ve(e) {
16
16
  const t = h([]), r = (n) => {
17
17
  const a = e.filter((l) => l.formatter);
18
18
  return a.length > 0 ? n.map((l) => (a.forEach((d) => {
19
- d.formatter && Ve(l, d, d.formatter(l));
19
+ d.formatter && Fe(l, d, d.formatter(l));
20
20
  }), l)) : n;
21
21
  };
22
22
  return [t, (n) => {
@@ -114,7 +114,7 @@ function Y(e) {
114
114
  }
115
115
  function He(e) {
116
116
  return g("button", (r, u, n) => {
117
- const a = q(), l = Array.isArray(e) ? e : "buttons" in e ? e.buttons : [e], d = (i, f) => typeof i == "function" ? i(r) : i === void 0 ? f : i;
117
+ const a = z(), l = Array.isArray(e) ? e : "buttons" in e ? e.buttons : [e], d = (i, f) => typeof i == "function" ? i(r) : i === void 0 ? f : i;
118
118
  async function m(i) {
119
119
  if (await (i.confirm === !0 ? new Promise((o) => {
120
120
  a.confirm({
@@ -130,7 +130,7 @@ function He(e) {
130
130
  }), !Y(o) && i.autoReload === !0 && n != null && n.emits && (n == null || n.emits("reload"));
131
131
  }
132
132
  }
133
- return s(I, null, [l.filter((i) => d(i.visiable, !0)).map((i) => s(M, {
133
+ return s(B, null, [l.filter((i) => d(i.visiable, !0)).map((i) => s(M, {
134
134
  onClick: () => m(i),
135
135
  type: i.type || "text",
136
136
  shape: i.shape,
@@ -271,7 +271,7 @@ function at(e) {
271
271
  const t = rt(e), r = nt(e);
272
272
  return g("dict", (n, a) => {
273
273
  const l = v(n, a);
274
- return r ? s(qe, {
274
+ return r ? s(ze, {
275
275
  color: r === !0 ? void 0 : r
276
276
  }, {
277
277
  default: () => [t.get(l) || l]
@@ -279,7 +279,7 @@ function at(e) {
279
279
  });
280
280
  }
281
281
  function lt(e) {
282
- const t = q();
282
+ const t = z();
283
283
  async function r(n, a) {
284
284
  n.confirm && !await new Promise((d, m) => {
285
285
  t.open("confirm", {
@@ -360,7 +360,7 @@ function dt(e) {
360
360
  alt: "image",
361
361
  style: i,
362
362
  src: o
363
- }, null)]) : s(I, null, null);
363
+ }, null)]) : s(B, null, null);
364
364
  }
365
365
  });
366
366
  }
@@ -457,7 +457,7 @@ function vt() {
457
457
  button: He
458
458
  };
459
459
  }
460
- function B(e, t) {
460
+ function I(e, t) {
461
461
  if (!(e != null && e.render))
462
462
  return;
463
463
  const r = e.render({
@@ -518,7 +518,7 @@ function kt(e, t, r, u) {
518
518
  const {
519
519
  render: n,
520
520
  disableColumnMode: a
521
- } = B(e, {
521
+ } = I(e, {
522
522
  previewing: !1,
523
523
  emits: u
524
524
  }) || {};
@@ -578,7 +578,7 @@ function $t(e, t) {
578
578
  const r = {};
579
579
  return e.filter((n) => n.exportable !== !1).map((n) => ({
580
580
  options: n,
581
- render: B(n),
581
+ render: I(n),
582
582
  content: typeof n.exportable == "object" ? n.exportable.content : void 0
583
583
  })).forEach((n) => {
584
584
  var d;
@@ -625,7 +625,7 @@ function Et(e, t, r) {
625
625
  filename: r
626
626
  });
627
627
  }
628
- function zt() {
628
+ function qt() {
629
629
  return {
630
630
  exportExcel: Et
631
631
  };
@@ -673,7 +673,7 @@ class K {
673
673
  return typeof t != "object" ? [] : (t instanceof K && (t = t.sort), Object.entries(t).map(([r, u]) => `${r},${u}`));
674
674
  }
675
675
  }
676
- const qt = 300;
676
+ const zt = 300;
677
677
  function jt(e) {
678
678
  const t = e, r = t == null ? void 0 : t.querySelector(".arco-scrollbar-container.arco-table-body");
679
679
  if (!r)
@@ -682,7 +682,7 @@ function jt(e) {
682
682
  r.addEventListener("mousedown", () => {
683
683
  console.log("mousedown"), u = setTimeout(() => {
684
684
  u && (r.style.cursor = "grab", r.style.userSelect = "none", n = !0);
685
- }, qt);
685
+ }, zt);
686
686
  }), r.addEventListener("mouseup", () => {
687
687
  clearTimeout(u), u && (u = void 0, n = !1, r.style.cursor = "", r.style.userSelect = "", a = void 0);
688
688
  }), r.addEventListener("mousemove", (l) => {
@@ -698,7 +698,7 @@ function jt(e) {
698
698
  function Lt(e) {
699
699
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !Me(e);
700
700
  }
701
- const Pt = /* @__PURE__ */ z({
701
+ const Pt = /* @__PURE__ */ q({
702
702
  props: {
703
703
  record: {
704
704
  type: Object,
@@ -734,7 +734,7 @@ const Pt = /* @__PURE__ */ z({
734
734
  setup(e) {
735
735
  const t = A(), r = h(0), u = e.columns.filter((a) => typeof a.visiable == "boolean" ? a.visiable : typeof a.visiable == "function" ? a.visiable() : !0).map((a) => ({
736
736
  options: a,
737
- renderer: B(a, {
737
+ renderer: I(a, {
738
738
  previewing: !0
739
739
  })
740
740
  })).filter(({
@@ -783,7 +783,7 @@ function Dt(e, t, {
783
783
  tableEvents: u
784
784
  }) {
785
785
  const n = e.refreshable || e.exportable || t.slots.actions, a = !!(r != null && r.length) && n;
786
- return n || a ? () => s(I, null, [a && s(Pe, {
786
+ return n || a ? () => s(B, null, [a && s(Pe, {
787
787
  margin: 0
788
788
  }, null), n && s("div", {
789
789
  class: "table-actions",
@@ -837,7 +837,7 @@ function At(e, t, {
837
837
  }, e.formOptions), null)]) : () => {
838
838
  };
839
839
  }
840
- function It(e, t, {
840
+ function Bt(e, t, {
841
841
  tableSource: r
842
842
  }) {
843
843
  const u = h([]);
@@ -901,7 +901,7 @@ function It(e, t, {
901
901
  reloadSelection: a
902
902
  };
903
903
  }
904
- function Bt(e) {
904
+ function It(e) {
905
905
  return Oe() ? (_e(e), !0) : !1;
906
906
  }
907
907
  function D(e) {
@@ -917,18 +917,18 @@ function Wt(e, t) {
917
917
  return Number.isNaN(a) ? e : a + n;
918
918
  }
919
919
  const le = Kt ? window : void 0;
920
- function Vt() {
920
+ function Ft() {
921
921
  const e = h(!1), t = A();
922
922
  return t && E(() => {
923
923
  e.value = !0;
924
924
  }, t), e;
925
925
  }
926
- function Ft(e) {
927
- const t = Vt();
926
+ function Vt(e) {
927
+ const t = Ft();
928
928
  return O(() => (t.value, !!e()));
929
929
  }
930
930
  function T(e, t = {}) {
931
- const { window: r = le } = t, u = Ft(() => r && "matchMedia" in r && typeof r.matchMedia == "function");
931
+ const { window: r = le } = t, u = Vt(() => r && "matchMedia" in r && typeof r.matchMedia == "function");
932
932
  let n;
933
933
  const a = h(!1), l = (i) => {
934
934
  a.value = i.matches;
@@ -937,7 +937,7 @@ function T(e, t = {}) {
937
937
  }, m = $e(() => {
938
938
  u.value && (d(), n = r.matchMedia(D(e)), "addEventListener" in n ? n.addEventListener("change", l) : n.addListener(l), a.value = n.matches);
939
939
  });
940
- return Bt(() => {
940
+ return It(() => {
941
941
  m(), d(), n = void 0;
942
942
  }), a;
943
943
  }
@@ -1032,7 +1032,7 @@ function Ut(e, t, {
1032
1032
  }, null)]) : () => {
1033
1033
  };
1034
1034
  }
1035
- const Gt = /* @__PURE__ */ z({
1035
+ const Gt = /* @__PURE__ */ q({
1036
1036
  props: {
1037
1037
  collapsedColumns: {
1038
1038
  type: Array,
@@ -1040,12 +1040,12 @@ const Gt = /* @__PURE__ */ z({
1040
1040
  }
1041
1041
  },
1042
1042
  setup(e) {
1043
- const t = q(), r = h(e.collapsedColumns.map((n) => ({
1043
+ const t = z(), r = h(e.collapsedColumns.map((n) => ({
1044
1044
  label: n.title,
1045
1045
  value: n.key,
1046
1046
  disabled: !1
1047
1047
  }))), u = h(e.collapsedColumns.filter((n) => n.collapsed).map((n) => n.key));
1048
- return Be(() => {
1048
+ return Ie(() => {
1049
1049
  const n = e.collapsedColumns.map((a) => ({
1050
1050
  key: a.key,
1051
1051
  title: a.title,
@@ -1066,7 +1066,7 @@ const Gt = /* @__PURE__ */ z({
1066
1066
  default: () => [Ye(s("template", null, null), [[Ee("slot"), "source"]])]
1067
1067
  })]);
1068
1068
  }
1069
- }), Ht = /* @__PURE__ */ z({
1069
+ }), Ht = /* @__PURE__ */ q({
1070
1070
  props: {
1071
1071
  value: {
1072
1072
  type: Object,
@@ -1082,7 +1082,7 @@ const Gt = /* @__PURE__ */ z({
1082
1082
  }
1083
1083
  },
1084
1084
  setup(e) {
1085
- const t = q();
1085
+ const t = z();
1086
1086
  function r(u) {
1087
1087
  e.onSubmit && e.onSubmit(u), t.close(u);
1088
1088
  }
@@ -1095,7 +1095,7 @@ const Gt = /* @__PURE__ */ z({
1095
1095
  onSubmit: r
1096
1096
  }, null)]);
1097
1097
  }
1098
- }), Jt = /* @__PURE__ */ z({
1098
+ }), Jt = /* @__PURE__ */ q({
1099
1099
  props: {
1100
1100
  // 数据主键
1101
1101
  rowKey: {
@@ -1220,11 +1220,16 @@ const Gt = /* @__PURE__ */ z({
1220
1220
  type: Boolean,
1221
1221
  default: !0,
1222
1222
  required: !1
1223
+ },
1224
+ autoFill: {
1225
+ type: Boolean,
1226
+ default: !1,
1227
+ required: !1
1223
1228
  }
1224
1229
  },
1225
1230
  expose: ["preview", "export", "edit", "reload", "tableSource", "formSource", "update:radio-key", "update:radio-row", "update:checkbox-keys", "update:checkbox-rows", "formInstance", "resetSelection", "reloadSelection", "reloadColumns", "change"],
1226
1231
  setup(e, t) {
1227
- const r = Math.random().toString(32).slice(2).toUpperCase(), u = h(), n = h(), a = h(), l = h(), [d, m] = Fe(e.columns), i = h(!1), f = e.form ?? Ne(e.columns), o = _(), y = ue(), w = h(e.columns.map((c) => ({
1232
+ const r = Math.random().toString(32).slice(2).toUpperCase(), u = h(), n = h(), a = h(), l = h(), [d, m] = Ve(e.columns), i = h(!1), f = e.form ?? Ne(e.columns), o = _(), y = ue(), w = h(e.columns.map((c) => ({
1228
1233
  key: c.key,
1229
1234
  title: c.title,
1230
1235
  collapsed: !!c.collapsed
@@ -1264,10 +1269,10 @@ const Gt = /* @__PURE__ */ z({
1264
1269
  function W(c) {
1265
1270
  const {
1266
1271
  exportExcel: b
1267
- } = zt();
1272
+ } = qt();
1268
1273
  b((c == null ? void 0 : c.columns) || e.columns, (c == null ? void 0 : c.source) || d.value, (c == null ? void 0 : c.filename) || (typeof e.exportable == "object" ? e.exportable.filename : void 0));
1269
1274
  }
1270
- function V(c) {
1275
+ function F(c) {
1271
1276
  let b;
1272
1277
  switch (!0) {
1273
1278
  case !!(c != null && c.key):
@@ -1287,7 +1292,7 @@ const Gt = /* @__PURE__ */ z({
1287
1292
  mode: (c == null ? void 0 : c.mode) || "dialog"
1288
1293
  });
1289
1294
  }
1290
- function F(c) {
1295
+ function V(c) {
1291
1296
  let b;
1292
1297
  switch (!0) {
1293
1298
  case !!(c != null && c.key):
@@ -1353,9 +1358,9 @@ const Gt = /* @__PURE__ */ z({
1353
1358
  }
1354
1359
  }, C = Ue({
1355
1360
  reload: L,
1356
- preview: V,
1361
+ preview: F,
1357
1362
  export: W,
1358
- edit: F,
1363
+ edit: V,
1359
1364
  collapse: de
1360
1365
  });
1361
1366
  function ie(c, b) {
@@ -1382,7 +1387,7 @@ const Gt = /* @__PURE__ */ z({
1382
1387
  onSelectAll: be,
1383
1388
  reloadSelection: ye,
1384
1389
  resetSelection: he
1385
- } = It(e, t, R), ge = O(() => ({
1390
+ } = Bt(e, t, R), ge = O(() => ({
1386
1391
  rowKey: e.rowKey,
1387
1392
  size: e.size,
1388
1393
  bordered: e.bordered,
@@ -1424,14 +1429,14 @@ const Gt = /* @__PURE__ */ z({
1424
1429
  tableLoading: i,
1425
1430
  modalInstance: a,
1426
1431
  tableRenderElement: l,
1427
- formSource: ze(O(() => {
1432
+ formSource: qe(O(() => {
1428
1433
  var c;
1429
1434
  return (c = n == null ? void 0 : n.value) == null ? void 0 : c.formSource;
1430
1435
  })),
1431
1436
  formInstance: n,
1432
1437
  reload: L,
1433
- preview: V,
1434
- edit: F,
1438
+ preview: F,
1439
+ edit: V,
1435
1440
  export: W,
1436
1441
  onSorterChange: ie,
1437
1442
  onTableChange: ce,
@@ -1455,7 +1460,9 @@ const Gt = /* @__PURE__ */ z({
1455
1460
  this.reloadColumns();
1456
1461
  const e = () => s("div", {
1457
1462
  class: "table-body"
1458
- }, [s(Ie, ne({
1463
+ }, [s("div", {
1464
+ class: "table-body-wrapper"
1465
+ }, [s(Be, ne({
1459
1466
  loading: this.tableLoading,
1460
1467
  data: this.tableSource,
1461
1468
  columns: this.tableColumns,
@@ -1467,9 +1474,12 @@ const Gt = /* @__PURE__ */ z({
1467
1474
  onSorterChange: this.onSorterChange,
1468
1475
  selectedKeys: this.tableSelection.selectedRowKeys.value,
1469
1476
  "onUpdate:selectedKeys": (t) => this.tableSelection.selectedRowKeys.value = t
1470
- }, this.tableOptions), null)]);
1477
+ }, this.tableOptions), null)])]);
1471
1478
  return s("div", {
1472
- class: "table-render",
1479
+ class: {
1480
+ "table-render": !0,
1481
+ "auto-fill": this.autoFill
1482
+ },
1473
1483
  ref: (t) => this.tableRenderElement = t
1474
1484
  }, [s(Ke, {
1475
1485
  ref: (t) => this.modalInstance = t
@@ -141,6 +141,11 @@ export declare const TableRender: import('vue').DefineComponent<{
141
141
  default: boolean;
142
142
  required: false;
143
143
  };
144
+ autoFill: {
145
+ type: BooleanConstructor;
146
+ default: boolean;
147
+ required: false;
148
+ };
144
149
  }, {
145
150
  tableId: string;
146
151
  tableInstance: Ref<import('vue').CreateComponentPublicInstance<Readonly<{
@@ -1689,6 +1694,11 @@ export declare const TableRender: import('vue').DefineComponent<{
1689
1694
  default: boolean;
1690
1695
  required: false;
1691
1696
  };
1697
+ autoFill: {
1698
+ type: BooleanConstructor;
1699
+ default: boolean;
1700
+ required: false;
1701
+ };
1692
1702
  }>>, {
1693
1703
  autoLoad: boolean;
1694
1704
  size: "mini" | "small" | "medium" | "large";
@@ -1708,6 +1718,7 @@ export declare const TableRender: import('vue').DefineComponent<{
1708
1718
  stripe: boolean;
1709
1719
  columnsGroups: ColumnsGroup[];
1710
1720
  grabbable: boolean;
1721
+ autoFill: boolean;
1711
1722
  }, {}>;
1712
1723
  export type TableRenderInstance = InstanceType<typeof TableRender>;
1713
1724
  export type TableRenderProps = TableRenderInstance['$props'];