@gct-paas/v-ben 0.1.6-dev.23 → 0.1.6-dev.24
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/loader.esm.min.js +2 -2
- package/es/_virtual/_rolldown/runtime.mjs +13 -0
- package/es/components/v-ben-table/src/BasicTable.vue.d.ts +25 -13
- package/es/components/v-ben-table/src/BasicTable.vue.mjs +7 -2
- package/es/components/v-ben-table/src/BasicTable.vue_vue_type_script_lang.mjs +8 -2
- package/es/components/v-ben-table/src/const.d.ts +2 -0
- package/es/components/v-ben-table/src/hooks/useColumns.d.ts +1 -0
- package/es/components/v-ben-table/src/hooks/useColumns.mjs +45 -8
- package/es/components/v-ben-table/src/props.d.ts +6 -1
- package/es/components/v-ben-table/src/props.mjs +6 -0
- package/es/components/v-ben-table/src/types/table.d.ts +4 -0
- package/es/index.d.ts +1 -0
- package/es/index.mjs +2 -1
- package/es/locale/auto-register.d.ts +2 -0
- package/es/locale/auto-register.mjs +13 -0
- package/es/locale/sys/component.d.ts +6 -0
- package/es/locale/sys/component.mjs +6 -0
- package/es/locale/sys.mjs +9 -0
- package/es/setup-app.d.ts +2 -0
- package/es/setup-app.mjs +7 -0
- package/package.json +5 -5
package/dist/loader.esm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @gct-paas/v-ben v0.1.6-dev.
|
|
2
|
-
import{cssLoader as e,permission as t,t as n,useNamespace as o}from"@gct-paas/core";import{Fragment as l,computed as a,createBlock as r,createCommentVNode as i,createElementBlock as s,createElementVNode as u,createSlots as c,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,h as g,mergeProps as y,nextTick as h,normalizeClass as v,normalizeProps as b,onActivated as C,onMounted as w,onUnmounted as S,openBlock as x,ref as k,renderList as B,renderSlot as T,resolveComponent as A,toDisplayString as P,toRaw as _,toValue as O,unref as $,useAttrs as R,vShow as F,watch as I,withCtx as D,withDirectives as E,withModifiers as H}from"vue";import{cloneDeep as z,omit as j}from"lodash-es";import{LeftOutlined as L,MoreOutlined as N,RightOutlined as W}from"@ant-design/icons-vue";import{Button as K,Divider as M,Dropdown as V,Menu as q,Popconfirm as U,Tooltip as G}from"ant-design-vue";var X=Object.prototype.toString;function Y(e,t){return X.call(e)===`[object ${t}]`}function J(e){return void 0!==e}function Q(e){return!J(e)}function Z(e){return null!==e&&Y(e,"Object")}function ee(e){return de(e)||ie(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:!!Z(e)&&0===Object.keys(e).length}function te(e){return Y(e,"Date")}function ne(e){return null===e}function oe(e){return Q(e)&&ne(e)}function le(e){return Q(e)||ne(e)}function ae(e){return Y(e,"Number")}function re(e){return Y(e,"Promise")&&Z(e)&&se(e.then)&&se(e.then)}function ie(e){return Y(e,"String")}function se(e){return"function"==typeof e}function ue(e){return Y(e,"Boolean")}function ce(e){return Y(e,"RegExp")}function de(e){return!!e&&Array.isArray(e)}function fe(e){return"undefined"!=typeof window&&Y(e,"Window")}function pe(e){return Z(e)&&!!e.tagName}function me(e){return Y(e,"Map")}function ge(e){return/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/.test(e)}function ye(e){return void 0===e||!e&&0!==e&&"0"!==e||!/[^\s]/.test(e+"")}var he=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n},ve=/* @__PURE__ */he(p({name:"TableHeaderCell",components:{},props:{column:{type:Object,default:()=>({})}},setup:e=>({getTitle:a(()=>{var t,n;return(null===(t=e.column)||void 0===t?void 0:t.customTitle)||(null===(n=e.column)||void 0===n?void 0:n.title)})})}),[["render",function(e,t,n,o,l,a){return x(),s("span",null,P(e.getTitle),1)}]]),be={clickToRowSelect:{type:Boolean,default:!0},isTreeTable:Boolean,tableSetting:{type:Object,default:{}},inset:Boolean,showTableSetting:Boolean,autoCreateKey:{type:Boolean,default:!0},striped:{type:Boolean,default:!0},showSummary:Boolean,summaryFunc:{type:[Function,Array],default:null},summaryData:{type:Array,default:null},indentSize:{type:Number,default:24},canColDrag:{type:Boolean,default:!0},api:{type:Function,default:null},beforeFetch:{type:Function,default:null},afterFetch:{type:Function,default:null},handleSearchInfoFn:{type:Function,default:null},immediate:{type:Boolean,default:!0},emptyDataIsShowTable:{type:Boolean,default:!0},searchInfo:{type:Object,default:null},defSort:{type:Object,default:null},useSearchForm:Boolean,columns:{type:Array,default:()=>[]},showIndexColumn:{type:Boolean,default:!0},indexColumnProps:{type:Object,default:null},actionColumn:{type:Object,default:null},ellipsis:{type:Boolean,default:!0},isCanResizeParent:{type:Boolean,default:!1},canResize:{type:Boolean,default:!0},clearSelectOnPageChange:Boolean,resizeHeightOffset:{type:Number,default:0},rowSelection:{type:Object,default:null},title:{type:[String,Function],default:null},titleHelpMessage:{type:[String,Array]},maxHeight:Number,dataSource:{type:Array,default:null},rowKey:{type:[String,Function],default:""},bordered:Boolean,pagination:{type:[Object,Boolean],default:null},loading:Boolean,rowClassName:{type:Function},scroll:{type:Object,default:null},beforeEditSubmit:{type:Function},rowDraggable:{type:Boolean,default:!1},supportSameLevel:{type:Boolean,default:!1},rowDragApi:{type:Function,default:null},expandedRowKeys:{type:Array,default:()=>[]},emptyFull:{type:Boolean,default:!1}},Ce=["clickToRowSelect","isTreeTable","tableSetting","inset","showTableSetting","autoCreateKey","striped","showSummary","summaryFunc","summaryData","indentSize","canColDrag","api","beforeFetch","afterFetch","handleSearchInfoFn","immediate","emptyDataIsShowTable","searchInfo","defSort","useSearchForm","showIndexColumn","indexColumnProps","actionColumn","ellipsis","isCanResizeParent","canResize","clearSelectOnPageChange","resizeHeightOffset","titleHelpMessage","beforeEditSubmit","rowDraggable","supportSameLevel","rowDragApi","emptyFull"],we="INDEX",Se="ACTION",xe=["20","50","80","100"];function ke(e,t){const{key:n,dataIndex:o,children:l}=e;e.align=e.align||"left",t&&(n||void 0===o||(e.key=Array.isArray(o)?o.join("."):String(o)),ue(e.ellipsis)||Object.assign(e,{ellipsis:{showTitle:!1}})),l&&l.length&&Be(l,!!t);const a=e.customCell;e.customCell=(t,n)=>({...a&&a(t,n),onMouseenter(t){if(!e.ellipsis)return;const n=t.target;n.scrollWidth>n.clientWidth&&n.setAttribute("title",n.textContent??"")}})}function Be(e,t){e&&e.forEach(e=>{const{children:n}=e;ke(e,t),Be(n,t)})}function Te({page:e,type:t,originalElement:n}){return"prev"===t?0===e?null:g(L):"next"===t?1===e?null:g(W):n}var Ae="undefined"!=typeof window&&"undefined"!=typeof document,Pe=("undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope),Object.prototype.toString),_e=()=>{};function Oe(e){return Array.isArray(e)?e:[e]}function $e(e){const t=Object.create(null);return n=>t[n]||(t[n]=e(n))}var Re=/\B([A-Z])/g,Fe=($e(e=>e.replace(Re,"-$1").toLowerCase()),/-(\w)/g);function Ie(e,t=200,n={}){return function(e,t){return function(...n){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(l)})}}(function(e,t={}){let n,o,l=_e;const a=e=>{clearTimeout(e),l(),l=_e};let r;return i=>{const s=O(e),u=O(t.maxWait);return n&&a(n),s<=0||void 0!==u&&u<=0?(o&&(a(o),o=void 0),Promise.resolve(i())):new Promise((e,c)=>{l=t.rejectOnCancel?c:e,r=i,u&&!o&&(o=setTimeout(()=>{n&&a(n),o=void 0,e(r())},u)),n=setTimeout(()=>{o&&a(o),o=void 0,e(i())},s)})}}(t,n),e)}$e(e=>e.replace(Fe,(e,t)=>t?t.toUpperCase():""));var De=Ae?window:void 0;function Ee(e,t,n,o,l,r,i,s){const u=k(215),c=Ie(f,100),d=a(()=>{const{canResize:t,scroll:n}=$(e);return t&&!(n||{}).y});function f(){h(()=>{y()})}I(()=>{var e;return[$(d),null===(e=$(r))||void 0===e?void 0:e.length]},()=>{c()},{flush:"post"});let p=null,m=null,g=null;async function y(){const{resizeHeightOffset:n,maxHeight:o,isCanResizeParent:a,useSearchForm:c}=$(e),f=$(l),y=$(r),v=$(t);if(!v)return;const b=v.$el;if(!b)return;if(!g&&(g=b.querySelector(".ant-table-body"),!g))return;const C=g.scrollHeight>g.clientHeight,w=g.scrollWidth>g.clientWidth;if(C?b.classList.contains("hide-scrollbar-y")&&b.classList.remove("hide-scrollbar-y"):b.classList.contains("hide-scrollbar-y")||b.classList.add("hide-scrollbar-y"),w?b.classList.contains("hide-scrollbar-x")&&b.classList.remove("hide-scrollbar-x"):b.classList.contains("hide-scrollbar-x")||b.classList.add("hide-scrollbar-x"),g.style.height="unset",!$(d)||!$(y)||0===y.length)return;await h();const S=b.querySelector(".ant-table-thead ");if(!S)return;let x=32,k=12;ue(f)?k=-8:(p=b.querySelector(".ant-pagination"),k+=p?p.offsetHeight||0:24);let B=0;ue(f)||(m?B+=m.offsetHeight||0:m=b.querySelector(".ant-table-footer"));let T=0;S&&(T=S.offsetHeight);let A=0;if($(i)&&a){var P,_,O;const e=12,t=16;let n=10;const o=(null===(P=$(i))||void 0===P?void 0:P.offsetHeight)??0;let l=(null===(_=$(s))||void 0===_?void 0:_.$el.offsetHeight)??0;l&&(l+=t),ue(f)&&!f&&(n=0),ue(c)&&!c&&(x=0),A=o-l-((null===(O=b.querySelector(".ant-table-title"))||void 0===O?void 0:O.offsetHeight)??0)-e-n}else A=function(e){const t=document.documentElement,n=t.scrollLeft,o=t.scrollTop,l=t.clientLeft,a=t.clientTop,r=window.pageXOffset,i=window.pageYOffset,{left:s,top:u,width:c,height:d}=function(e){return e&&e.getBoundingClientRect?e.getBoundingClientRect():0}(e),f=s+r-((r||n)-(l||0)),p=u+i-((i||o)-(a||0)),m=window.document.documentElement.clientWidth,g=window.document.documentElement.clientHeight;return{left:f,top:p,right:m-c-f,bottom:g-d-p,rightIncludeBody:m-f,bottomIncludeBody:g-p}}(S).bottomIncludeBody;let R=A-(n||0)-x-k-B-T;if(R=(R>o?o:R)??R,function(e){u.value=e}(R),f&&!ue(f)){const e=b.querySelector(".ant-table-body");e&&(e.style.height=`${R}px`)}}function v(){y(),h(()=>{c()})}(function(...e){const t=a(()=>{const t=Oe(O(e[0])).filter(e=>null!=e);return t.every(e=>"string"!=typeof e)?t:void 0});return n=([e,t,n,o],l,a)=>{if(!(null==e?void 0:e.length)||!(null==t?void 0:t.length)||!(null==n?void 0:n.length))return;const r=(i=o,"[object Object]"===Pe.call(i)?{...o}:o);var i;const s=e.flatMap(e=>t.flatMap(t=>n.map(n=>((e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)))(e,t,n,r))));a(()=>{s.forEach(e=>e())})},o={flush:"post"},I(()=>{var n,o;return[null!==(n=null===(o=t.value)||void 0===o?void 0:o.map(e=>function(e){var t;const n=O(e);return null!==(t=null==n?void 0:n.$el)&&void 0!==t?t:n}(e)))&&void 0!==n?n:[De].filter(e=>null!=e),Oe(O(t.value?e[1]:e[0])),Oe($(t.value?e[2]:e[1])),O(t.value?e[3]:e[2])]},n,{...o,immediate:!0});var n,o})(window,"resize",Ie(y,280)),w(v),C(v);const b=a(()=>{var e;let l=0;$(o)&&(l+=60);const a=$(n).filter(e=>!e.defaultHidden);a.forEach(e=>{l+=Number.parseFloat(String(e.width))||0});const r=a.filter(e=>!Reflect.has(e,"width")).length;0!==r&&(l+=150*r);const i=$(t);return((null==i||null===(e=i.$el)||void 0===e?void 0:e.offsetWidth)??0)>l?void 0:l});return{getScrollRef:a(()=>{const t=$(u),{canResize:n,scroll:o}=$(e);return{x:$(b),y:n?t:null,scrollToFirstRowOnChange:!1,...o}}),redoHeight:f}}function He(e,t,n){const{expandedRowKeys:o=[]}=$(e),l=k([...o]),r=a(()=>$(e).autoCreateKey&&!$(e).rowKey),i=a(()=>{const{rowKey:t}=$(e);return $(r)?"key":t});function s(n){const o=[],{childrenColumnName:l}=$(e),a=l||"children";return _(n||$(t)).forEach(e=>{o.push(String(e[$(i)]));const t=e[a];(null==t?void 0:t.length)&&o.push(...s(t))}),o}return{getExpandOption:a(()=>{const{isTreeTable:t}=$(e);return t?{expandedRowKeys:$(l),onExpandedRowsChange:e=>{l.value=e,n("expanded-rows-change",e)}}:{}}),expandAll:function(){l.value=s()},expandRows:function(t){const{isTreeTable:n}=$(e);n&&(l.value=[...l.value,...t])},collapseAll:function(){l.value=[]}}}Ae&&window.document,Ae&&window.navigator,Ae&&window.location,Number.POSITIVE_INFINITY;var ze="vben";function je(e){return{prefixCls:`${ze}-${e}`,prefixVar:ze}}var Le=["headerCell","bodyCell"],Ne=p({name:"BasicTable",components:{HeaderCell:ve},props:be,emits:["change","register","expanded-rows-change"],setup(e,{attrs:o,emit:l,slots:r,expose:i}){const s=k(null),u=k(null),c=k(null),{prefixCls:d}=je("basic-table"),f=a(()=>({...e,...o})),{getPaginationInfo:p,setPagination:m,getPagination:g,getShowPagination:y,setShowPagination:h}=function(e){const t=k({}),o=k(!0);I(()=>$(e).pagination,e=>{!ue(e)&&e&&(t.value={...$(t),...e})},{deep:!0});const l=a(()=>{const{pagination:l}=$(e);return!(!$(o)||ue(l)&&!l)&&{current:1,pageSize:20,size:"small",defaultPageSize:20,showTotal:e=>n("sys.component.table.total",{total:e}),showSizeChanger:!0,pageSizeOptions:xe,itemRender:Te,showQuickJumper:!0,...ue(l)?{}:l??{},...$(t)}});return{getPagination:function(){return $(l)},getPaginationInfo:l,setShowPagination:async function(e){o.value=e},getShowPagination:function(){return $(o)},setPagination:function(e){const n=$(l);t.value={...ue(n)?{}:n,...e}}}}(f),v=a(()=>$(p)),b=a(()=>$(f).rowSelection??null),C=a(()=>$(f).dataSource??[]),{getViewColumns:w,getColumnsRef:S}=function(e,o){const l=k($(e).columns),r=a(()=>{const t=z($(l));if(function(e,t,o){const{showIndexColumn:l,indexColumnProps:a,isTreeTable:r}=$(e);let i=!1;if($(r))return;if(o.forEach(()=>{const e=o.findIndex(e=>e.flag===we);l?i=-1===e:l||-1===e||o.splice(e,1)}),!i)return;const s=o.some(e=>"left"===e.fixed);o.unshift({flag:we,width:70,title:n("sys.component.table.index"),align:"center",customRender:({index:e})=>{const n=$(t);if(ue(n))return`${e+1}`;const{current:o=1,pageSize:l=20}=n;return((o<1?1:o)-1)*l+e+1},...s?{fixed:"left"}:{},...a})}(e,o,t),function(e,t){const{actionColumn:n}=$(e);if(!n)return;const o=t.findIndex(e=>e.flag===Se);-1===o&&t.push({...t[o],fixed:"right",...n,flag:Se})}(e,t),!t)return[];const{ellipsis:a}=$(e);return t.forEach(e=>{const{customRender:t,slots:n}=e;ke(e,Reflect.has(e,"ellipsis")?!!e.ellipsis:!!a&&!t&&!n)}),t}),i=a(()=>{const e=function(e){const t=[],n=[],o=[];for(const l of e)"left"!==l.fixed?"right"!==l.fixed?o.push(l):n.push(l):t.push(l);return[...t,...o,...n].filter(e=>!e.defaultHidden)}($(r)),n=e=>{const{slots:t}=e;return t&&(null==t?void 0:t.title)||(e.customTitle=e.title,Reflect.deleteProperty(e,"title")),e};return z(e).filter(e=>{return(!(n=e.auth)||(Array.isArray(n)?n.some(e=>t.has(String(e))):t.has(String(n))))&&function(e){const t=e.ifShow;return ue(t)?t:!se(t)||t(e)}(e);var n}).map(e=>{var t;return(null===(t=e.children)||void 0===t?void 0:t.length)&&(e.children=e.children.map(n)),n(e)})});return I(()=>$(e).columns,e=>{l.value=e}),{getColumnsRef:r,getViewColumns:i}}(f,v),{getScrollRef:x,redoHeight:B}=Ee(f,s,S,b,v,C,u,c),{getExpandOption:T,expandAll:A}=He(f,C,l),P=a(()=>{let e={...o,...$(f),scroll:$(x),tableLayout:"fixed",columns:_($(w)),pagination:_($(p)),rowSelection:$(b),dataSource:$(C),...$(T)};return e=j(e,[...Ce,"class","onChange"]),e}),O=a(()=>{const e=$(P);return[d,o.class,{[`${d}-form-container`]:e.useSearchForm,[`${d}--inset`]:e.inset}]}),R=a(()=>{const{emptyDataIsShowTable:t,useSearchForm:n,dataSource:o}=e;return!(!t&&n&&!(null==o?void 0:o.length))}),F=a(()=>Object.keys(r).filter(e=>!Le.includes(e)));return i({expandAll:A,redoHeight:B,setPagination:m,getPagination:g,getShowPagination:y,setShowPagination:h}),l("register",{expandAll:A}),{formRef:c,tableElRef:s,wrapRef:u,getBindValues:P,getWrapperClass:O,handleTableChange:function(...e){l("change",...e);const{onChange:t}=$(f);t&&"function"==typeof t&&t(...e)},getEmptyDataIsShowTable:R,slotNames:F,emptyFull:e.emptyFull,redoHeight:B}},mounted(){this.redoHeight()}}),We=/* @__PURE__ */he(Ne,[["render",function(e,t,n,o,l,a){const r=A("HeaderCell"),i=A("a-table");return x(),s("div",{ref:"wrapRef",class:v(e.getWrapperClass)},[T(e.$slots,"beforeTable"),E(f(i,y({ref:"tableElRef"},e.getBindValues,{class:e.emptyFull?"empty-basic-table-wrapper":"",onChange:e.handleTableChange}),c({headerCell:D(({column:e})=>[f(r,{column:e},null,8,["column"])]),bodyCell:D(t=>[T(e.$slots,"bodyCell",b(m(t||{})))]),_:2},[B(e.slotNames,t=>({name:t,fn:D(n=>[T(e.$slots,t,b(m(n||{})))])}))]),1040,["class","onChange"]),[[F,e.getEmptyDataIsShowTable]])],2)}]]),Ke={key:0},Me={key:0},Ve=/* @__PURE__ */p({__name:"TableAction",props:{actions:{type:Array,default:null},dropDownActions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1}},setup(e){const n=e,u=o("basic-table-action"),c=t.has;function d(e){const t=e.ifShow;let n=!0;return ue(t)&&(n=t),se(t)&&(n=t(e)),n}const p=a(()=>(_(n.actions)||[]).filter(e=>c(e.auth)&&d(e)).map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})),m=a(()=>{const e=(_(n.dropDownActions)||[]).filter(e=>c(e.auth)&&d(e));return e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}})}),g=a(()=>"left");function h(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=A("a-button");return x(),s("div",{class:v([$(u).b(),g.value]),onClick:h},[(x(!0),s(l,null,B(p.value,(t,n)=>{return x(),s(l,{key:`${n}-${t.label}`},[t.tooltip?(x(),r($(G),y({key:0,placement:"bottom"},{ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,...ie(o)?{title:o}:o})),{default:D(()=>[f($(at),y({ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",Ke,P(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(x(),r($(at),y({key:1,ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",Me,P(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(x(),r($(M),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),e.dropDownActions&&m.value.length>0?(x(),r($(st),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:D(()=>[T(t.$slots,"more"),t.$slots.more?i("",!0):(x(),r(o,{key:0,type:"link",size:"small"},{default:D(()=>[f($(N),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}}),qe={key:0},Ue={key:0},Ge=/* @__PURE__ */p({__name:"TableActionAuto",props:{actions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1},maxDispalyCount:{type:Number,default:4}},setup(e){const n=e,u=o("basic-table-action"),c=t.has,d=a(()=>[..._(n.actions)||[]].filter(e=>c(e.auth)&&function(e){const t=e.ifShow??!0;return se(t)?t(e):!!t}(e))),p=a(()=>{let e=[];return e=n.maxDispalyCount>=d.value.length?[...d.value]:d.value.slice(0,n.maxDispalyCount),e.map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})}),m=a(()=>{let e=[];return n.maxDispalyCount>=d.value.length?[]:(e=d.value.slice(n.maxDispalyCount),e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}}))}),g=a(()=>"left");function h(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=A("a-button");return x(),s("div",{class:v([$(u).b(),g.value]),onClick:H(h,["stop"])},[(x(!0),s(l,null,B(p.value,(t,n)=>{return x(),s(l,{key:`${n}-${t.label}`},[t.tooltip?(x(),r($(G),y({key:0,ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,placement:"bottom",...ie(o)?{title:o}:o})),{default:D(()=>[f($(at),y({ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",qe,P(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(x(),r($(at),y({key:1,ref_for:!0},t),{default:D(()=>[t.label?(x(),s("span",Ue,P(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(x(),r($(M),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),m.value.length>0?(x(),r($(st),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:D(()=>[T(t.$slots,"more"),t.$slots.more?i("",!0):(x(),r(o,{key:0,type:"link",size:"small"},{default:D(()=>[f($(N),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}});function Xe(){const e=k(null);return[function(t,n){S(()=>{e.value=null}),e.value=t},{expandAll:()=>{(function(){const t=$(e);return t||console.error("The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!"),t})().expandAll()}}]}var Ye=["primary","error","warning","success",""],Je={color:{type:String,validator:e=>Ye.includes(e),default:""},loading:{type:Boolean},disabled:{type:Boolean},preIcon:{type:String},postIcon:{type:String},iconSize:{type:Number,default:14},onClick:{type:Function,default:null}},Qe=/* @__PURE__ */p({name:"AButton",extends:K,inheritAttrs:!1,__name:"BasicButton",props:Je,setup(e){const t=e,n=R(),o=a(()=>{const{color:e,disabled:n}=t;return[{[`ant-btn-${e}`]:!!e,"is-disabled":n}]}),l=a(()=>({...$(n),...t}));return(e,t)=>(x(),r($(K),y(l.value,{class:o.value,onClick:e.onClick}),{default:D(t=>[T(e.$slots,"default",b(m(t||{})))]),_:3},16,["class","onClick"]))}}),Ze=p({name:"PopButton",inheritAttrs:!1,props:{enable:{type:Boolean,default:!0}},setup(e,{slots:t}){const o=R(),l=a(()=>Object.assign({okText:n("sys.okText"),cancelText:n("sys.cancelText"),overlayStyle:{}},{...e,...$(o)}));return()=>{const n=j($(l),"icon"),o=j(n,"title");o.disabled&&(o.color="");const a=g(Qe,o,t);return e.enable?g(U,n,{default:()=>a}):a}}}),et=Ze,tt={class:"custom-btn-container"},nt={class:"btn-left-title"},ot=/* @__PURE__ */he(/* @__PURE__ */p({__name:"custom-button",props:{title:{}},emits:["btn-left-click","btn-right-click"],setup:e=>(t,n)=>(x(),s("div",tt,[u("div",{class:"btn-left",onClick:n[0]||(n[0]=H(e=>t.$emit("btn-left-click"),["stop"]))},[T(t.$slots,"left-icon",{},void 0,!0),u("div",nt,P(e.title),1)]),u("div",{class:"btn-right",onClick:n[1]||(n[1]=H(e=>t.$emit("btn-right-click"),["stop"]))},[T(t.$slots,"right-icon",{},void 0,!0)])]))}),[["__scopeId","data-v-305f4090"]]),lt=Qe,at=et,rt={class:"ml-1"},it={key:1,class:"ml-1"},st=/* @__PURE__ */p({name:"VDropdown",__name:"Dropdown",props:{popconfirm:Boolean,trigger:{type:Array,default:()=>["contextmenu"]},dropMenuList:{type:Array,default:()=>[]},selectedKeys:{type:Array,default:()=>[]}},emits:["menuEvent"],setup(e,{emit:t}){const n=V,o=q,a=q.Item,c=q.Divider,p=U,m=e,g=t;function h(e){const t=j(e,["confirm","cancel","icon"]);return!e.onConfirm&&e.confirm&&se(e.confirm)&&(t.onConfirm=e.confirm),!e.onCancel&&e.cancel&&se(e.cancel)&&(t.onCancel=e.cancel),t}return(t,v)=>(x(),r($(n),y({trigger:e.trigger},t.$attrs),{overlay:D(()=>[f($(o),{"selected-keys":e.selectedKeys},{default:D(()=>[(x(!0),s(l,null,B(e.dropMenuList,t=>{return x(),s(l,{key:`${t.event}`},[f($(a),y({class:t.class},{ref_for:!0},(n=t.event,{key:n}),{disabled:t.disabled,onClick:e=>function(e){var t;const{event:n}=e;g("menuEvent",m.dropMenuList.find(e=>`${e.event}`==`${n}`)),null===(t=e.onClick)||void 0===t||t.call(e)}(t)}),{default:D(()=>[e.popconfirm&&t.popConfirm?(x(),r($(p),y({key:0,ref_for:!0},h(t.popConfirm)),{default:D(()=>[u("div",null,[u("span",rt,P(t.text),1)])]),_:2},1040)):(x(),s("span",it,P(t.text),1))]),_:2},1040,["class","disabled","onClick"]),t.divider?(x(),r($(c),{key:`d-${t.event}`})):i("",!0)],64);var n}),128))]),_:1},8,["selected-keys"])]),default:D(()=>[u("span",null,[T(t.$slots,"default")]),d(" "+P(e.dropMenuList)+" ",1)]),_:3},16,["trigger"]))}});function ut(){}var ct=new URL("./index.min.css",import.meta.url);e.load(ct.href);export{We as BasicTable,lt as Button,ot as CustomButton,st as Dropdown,at as PopConfirmButton,Ve as TableAction,Ge as TableActionAuto,Y as is,de as isArray,ue as isBoolean,te as isDate,J as isDef,pe as isElement,ee as isEmpty,ye as isEmptyStr,se as isFunction,me as isMap,ne as isNull,oe as isNullAndUnDef,le as isNullOrUnDef,ae as isNumber,Z as isObject,re as isPromise,ce as isRegExp,ie as isString,Q as isUnDef,ge as isUrl,fe as isWindow,ut as run,Xe as useTable};
|
|
1
|
+
/*! @gct-paas/v-ben v0.1.6-dev.24 */
|
|
2
|
+
import{cssLoader as e,permission as t,t as n,useNamespace as o}from"@gct-paas/core";import{Fragment as l,computed as a,createBlock as r,createCommentVNode as i,createElementBlock as s,createElementVNode as u,createSlots as c,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,h as g,mergeProps as y,nextTick as h,normalizeClass as v,normalizeProps as b,onActivated as C,onMounted as w,onUnmounted as S,openBlock as x,ref as k,renderList as T,renderSlot as B,resolveComponent as A,toDisplayString as P,toRaw as R,toValue as _,unref as z,useAttrs as O,vShow as $,watch as I,withCtx as F,withDirectives as N,withModifiers as D}from"vue";import{cloneDeep as E,omit as H}from"lodash-es";import{LeftOutlined as j,MoreOutlined as L,RightOutlined as M}from"@ant-design/icons-vue";import{Button as W,Divider as K,Dropdown as U,Menu as V,Popconfirm as q,Tooltip as G}from"ant-design-vue";var X=Object.defineProperty,Y=(e,t)=>{let n={};for(var o in e)X(n,o,{get:e[o],enumerable:!0});return t||X(n,Symbol.toStringTag,{value:"Module"}),n},J=Object.prototype.toString;function Q(e,t){return J.call(e)===`[object ${t}]`}function Z(e){return void 0!==e}function ee(e){return!Z(e)}function te(e){return null!==e&&Q(e,"Object")}function ne(e){return pe(e)||ue(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:!!te(e)&&0===Object.keys(e).length}function oe(e){return Q(e,"Date")}function le(e){return null===e}function ae(e){return ee(e)&&le(e)}function re(e){return ee(e)||le(e)}function ie(e){return Q(e,"Number")}function se(e){return Q(e,"Promise")&&te(e)&&ce(e.then)&&ce(e.then)}function ue(e){return Q(e,"String")}function ce(e){return"function"==typeof e}function de(e){return Q(e,"Boolean")}function fe(e){return Q(e,"RegExp")}function pe(e){return!!e&&Array.isArray(e)}function me(e){return"undefined"!=typeof window&&Q(e,"Window")}function ge(e){return te(e)&&!!e.tagName}function ye(e){return Q(e,"Map")}function he(e){return/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/.test(e)}function ve(e){return void 0===e||!e&&0!==e&&"0"!==e||!/[^\s]/.test(e+"")}var be=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n},Ce=/* @__PURE__ */be(p({name:"TableHeaderCell",components:{},props:{column:{type:Object,default:()=>({})}},setup:e=>({getTitle:a(()=>{var t,n;return(null===(t=e.column)||void 0===t?void 0:t.customTitle)||(null===(n=e.column)||void 0===n?void 0:n.title)})})}),[["render",function(e,t,n,o,l,a){return x(),s("span",null,P(e.getTitle),1)}]]),we={clickToRowSelect:{type:Boolean,default:!0},isTreeTable:Boolean,tableSetting:{type:Object,default:{}},inset:Boolean,showTableSetting:Boolean,autoCreateKey:{type:Boolean,default:!0},striped:{type:Boolean,default:!0},showSummary:Boolean,summaryFunc:{type:[Function,Array],default:null},summaryData:{type:Array,default:null},indentSize:{type:Number,default:24},canColDrag:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},api:{type:Function,default:null},beforeFetch:{type:Function,default:null},afterFetch:{type:Function,default:null},handleSearchInfoFn:{type:Function,default:null},immediate:{type:Boolean,default:!0},emptyDataIsShowTable:{type:Boolean,default:!0},searchInfo:{type:Object,default:null},defSort:{type:Object,default:null},useSearchForm:Boolean,columns:{type:Array,default:()=>[]},showIndexColumn:{type:Boolean,default:!0},indexColumnProps:{type:Object,default:null},actionColumn:{type:Object,default:null},ellipsis:{type:Boolean,default:!0},isCanResizeParent:{type:Boolean,default:!1},canResize:{type:Boolean,default:!0},clearSelectOnPageChange:Boolean,resizeHeightOffset:{type:Number,default:0},rowSelection:{type:Object,default:null},title:{type:[String,Function],default:null},titleHelpMessage:{type:[String,Array]},maxHeight:Number,dataSource:{type:Array,default:null},rowKey:{type:[String,Function],default:""},bordered:Boolean,pagination:{type:[Object,Boolean],default:null},loading:Boolean,rowClassName:{type:Function},scroll:{type:Object,default:null},beforeEditSubmit:{type:Function},rowDraggable:{type:Boolean,default:!1},supportSameLevel:{type:Boolean,default:!1},rowDragApi:{type:Function,default:null},expandedRowKeys:{type:Array,default:()=>[]},emptyFull:{type:Boolean,default:!1}},Se=["clickToRowSelect","isTreeTable","tableSetting","inset","showTableSetting","autoCreateKey","striped","showSummary","summaryFunc","summaryData","indentSize","canColDrag","resizable","api","beforeFetch","afterFetch","handleSearchInfoFn","immediate","emptyDataIsShowTable","searchInfo","defSort","useSearchForm","showIndexColumn","indexColumnProps","actionColumn","ellipsis","isCanResizeParent","canResize","clearSelectOnPageChange","resizeHeightOffset","titleHelpMessage","beforeEditSubmit","rowDraggable","supportSameLevel","rowDragApi","emptyFull"],xe="INDEX",ke="ACTION",Te=["20","50","80","100"];function Be(e,t,n){const{key:o,dataIndex:l,children:a}=e;e.align=e.align||"left",t&&(o||void 0===l||(e.key=Array.isArray(l)?l.join("."):String(l)),de(e.ellipsis)||Object.assign(e,{ellipsis:{showTitle:!1}})),a&&a.length&&Ae(a,!!t,n),function(e,t){if(!t||!1===e.resizable)return;if("string"==typeof e.width&&e.width.includes("%"))return;e.resizable=!0;const n=function(e){if(null!=e&&""!==e){if("number"==typeof e&&!Number.isNaN(e))return e;if("string"==typeof e){const t=Number.parseInt(e,10);if(!Number.isNaN(t))return t}}}(e.width);e.width=void 0===n?150:n}(e,n);const r=e.customCell;e.customCell=(t,n)=>({...r&&r(t,n),onMouseenter(t){if(!e.ellipsis)return;const n=t.target;n.scrollWidth>n.clientWidth&&n.setAttribute("title",n.textContent??"")}})}function Ae(e,t,n){e&&e.forEach(e=>{const{children:o}=e;Be(e,t,n),Ae(o,t,n)})}function Pe(e,t,n){const{dataIndex:o,key:l}=t;for(const r of e){var a;if(void 0!==o&&r.dataIndex===o||void 0!==l&&r.key===l)return r.width=n,!0;if((null===(a=r.children)||void 0===a?void 0:a.length)&&Pe(r.children,t,n))return!0}return!1}function Re(e,o){const l=k(z(e).columns),r=a(()=>{const t=E(z(l));if(function(e,t,o){const{showIndexColumn:l,indexColumnProps:a,isTreeTable:r}=z(e);let i=!1;if(z(r))return;if(o.forEach(()=>{const e=o.findIndex(e=>e.flag===xe);l?i=-1===e:l||-1===e||o.splice(e,1)}),!i)return;const s=o.some(e=>"left"===e.fixed);o.unshift({flag:xe,width:70,title:n("sys.component.table.index"),align:"center",customRender:({index:e})=>{const n=z(t);if(de(n))return`${e+1}`;const{current:o=1,pageSize:l=20}=n;return((o<1?1:o)-1)*l+e+1},...s?{fixed:"left"}:{},...a})}(e,o,t),function(e,t){const{actionColumn:n}=z(e);if(!n)return;const o=t.findIndex(e=>e.flag===ke);-1===o&&t.push({...t[o],fixed:"right",...n,flag:ke})}(e,t),!t)return[];const{ellipsis:a,resizable:r=!0}=z(e);return t.forEach(e=>{const{customRender:t,slots:n}=e;Be(e,Reflect.has(e,"ellipsis")?!!e.ellipsis:!!a&&!t&&!n,r)}),t}),i=a(()=>{const e=function(e){const t=[],n=[],o=[];for(const l of e)"left"!==l.fixed?"right"!==l.fixed?o.push(l):n.push(l):t.push(l);return[...t,...o,...n].filter(e=>!e.defaultHidden)}(z(r)),n=e=>{const{slots:t}=e;return t&&(null==t?void 0:t.title)||(e.customTitle=e.title,Reflect.deleteProperty(e,"title")),e};return E(e).filter(e=>{return(!(n=e.auth)||(Array.isArray(n)?n.some(e=>t.has(String(e))):t.has(String(n))))&&function(e){const t=e.ifShow;return de(t)?t:!ce(t)||t(e)}(e);var n}).map(e=>{var t;return(null===(t=e.children)||void 0===t?void 0:t.length)&&(e.children=e.children.map(n)),n(e)})});return I(()=>z(e).columns,e=>{l.value=e}),{getColumnsRef:r,getViewColumns:i,handleResizeColumn:function(e,t){t.width=e;const n=z(l);Pe(n,t,e)&&(l.value=[...n])}}}function _e({page:e,type:t,originalElement:n}){return"prev"===t?0===e?null:g(j):"next"===t?1===e?null:g(M):n}var ze="undefined"!=typeof window&&"undefined"!=typeof document,Oe=("undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope),Object.prototype.toString),$e=()=>{};function Ie(e){return Array.isArray(e)?e:[e]}function Fe(e){const t=Object.create(null);return n=>t[n]||(t[n]=e(n))}var Ne=/\B([A-Z])/g,De=(Fe(e=>e.replace(Ne,"-$1").toLowerCase()),/-(\w)/g);function Ee(e,t=200,n={}){return function(e,t){return function(...n){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(l)})}}(function(e,t={}){let n,o,l=$e;const a=e=>{clearTimeout(e),l(),l=$e};let r;return i=>{const s=_(e),u=_(t.maxWait);return n&&a(n),s<=0||void 0!==u&&u<=0?(o&&(a(o),o=void 0),Promise.resolve(i())):new Promise((e,c)=>{l=t.rejectOnCancel?c:e,r=i,u&&!o&&(o=setTimeout(()=>{n&&a(n),o=void 0,e(r())},u)),n=setTimeout(()=>{o&&a(o),o=void 0,e(i())},s)})}}(t,n),e)}Fe(e=>e.replace(De,(e,t)=>t?t.toUpperCase():""));var He=ze?window:void 0;function je(e,t,n,o,l,r,i,s){const u=k(215),c=Ee(f,100),d=a(()=>{const{canResize:t,scroll:n}=z(e);return t&&!(n||{}).y});function f(){h(()=>{y()})}I(()=>{var e;return[z(d),null===(e=z(r))||void 0===e?void 0:e.length]},()=>{c()},{flush:"post"});let p=null,m=null,g=null;async function y(){const{resizeHeightOffset:n,maxHeight:o,isCanResizeParent:a,useSearchForm:c}=z(e),f=z(l),y=z(r),v=z(t);if(!v)return;const b=v.$el;if(!b)return;if(!g&&(g=b.querySelector(".ant-table-body"),!g))return;const C=g.scrollHeight>g.clientHeight,w=g.scrollWidth>g.clientWidth;if(C?b.classList.contains("hide-scrollbar-y")&&b.classList.remove("hide-scrollbar-y"):b.classList.contains("hide-scrollbar-y")||b.classList.add("hide-scrollbar-y"),w?b.classList.contains("hide-scrollbar-x")&&b.classList.remove("hide-scrollbar-x"):b.classList.contains("hide-scrollbar-x")||b.classList.add("hide-scrollbar-x"),g.style.height="unset",!z(d)||!z(y)||0===y.length)return;await h();const S=b.querySelector(".ant-table-thead ");if(!S)return;let x=32,k=12;de(f)?k=-8:(p=b.querySelector(".ant-pagination"),k+=p?p.offsetHeight||0:24);let T=0;de(f)||(m?T+=m.offsetHeight||0:m=b.querySelector(".ant-table-footer"));let B=0;S&&(B=S.offsetHeight);let A=0;if(z(i)&&a){var P,R,_;const e=12,t=16;let n=10;const o=(null===(P=z(i))||void 0===P?void 0:P.offsetHeight)??0;let l=(null===(R=z(s))||void 0===R?void 0:R.$el.offsetHeight)??0;l&&(l+=t),de(f)&&!f&&(n=0),de(c)&&!c&&(x=0),A=o-l-((null===(_=b.querySelector(".ant-table-title"))||void 0===_?void 0:_.offsetHeight)??0)-e-n}else A=function(e){const t=document.documentElement,n=t.scrollLeft,o=t.scrollTop,l=t.clientLeft,a=t.clientTop,r=window.pageXOffset,i=window.pageYOffset,{left:s,top:u,width:c,height:d}=function(e){return e&&e.getBoundingClientRect?e.getBoundingClientRect():0}(e),f=s+r-((r||n)-(l||0)),p=u+i-((i||o)-(a||0)),m=window.document.documentElement.clientWidth,g=window.document.documentElement.clientHeight;return{left:f,top:p,right:m-c-f,bottom:g-d-p,rightIncludeBody:m-f,bottomIncludeBody:g-p}}(S).bottomIncludeBody;let O=A-(n||0)-x-k-T-B;if(O=(O>o?o:O)??O,function(e){u.value=e}(O),f&&!de(f)){const e=b.querySelector(".ant-table-body");e&&(e.style.height=`${O}px`)}}function v(){y(),h(()=>{c()})}(function(...e){const t=a(()=>{const t=Ie(_(e[0])).filter(e=>null!=e);return t.every(e=>"string"!=typeof e)?t:void 0});return n=([e,t,n,o],l,a)=>{if(!(null==e?void 0:e.length)||!(null==t?void 0:t.length)||!(null==n?void 0:n.length))return;const r=(i=o,"[object Object]"===Oe.call(i)?{...o}:o);var i;const s=e.flatMap(e=>t.flatMap(t=>n.map(n=>((e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)))(e,t,n,r))));a(()=>{s.forEach(e=>e())})},o={flush:"post"},I(()=>{var n,o;return[null!==(n=null===(o=t.value)||void 0===o?void 0:o.map(e=>function(e){var t;const n=_(e);return null!==(t=null==n?void 0:n.$el)&&void 0!==t?t:n}(e)))&&void 0!==n?n:[He].filter(e=>null!=e),Ie(_(t.value?e[1]:e[0])),Ie(z(t.value?e[2]:e[1])),_(t.value?e[3]:e[2])]},n,{...o,immediate:!0});var n,o})(window,"resize",Ee(y,280)),w(v),C(v);const b=a(()=>{var e;let l=0;z(o)&&(l+=60);const a=z(n).filter(e=>!e.defaultHidden);a.forEach(e=>{l+=Number.parseFloat(String(e.width))||0});const r=a.filter(e=>!Reflect.has(e,"width")).length;0!==r&&(l+=150*r);const i=z(t);return((null==i||null===(e=i.$el)||void 0===e?void 0:e.offsetWidth)??0)>l?void 0:l});return{getScrollRef:a(()=>{const t=z(u),{canResize:n,scroll:o}=z(e);return{x:z(b),y:n?t:null,scrollToFirstRowOnChange:!1,...o}}),redoHeight:f}}function Le(e,t,n){const{expandedRowKeys:o=[]}=z(e),l=k([...o]),r=a(()=>z(e).autoCreateKey&&!z(e).rowKey),i=a(()=>{const{rowKey:t}=z(e);return z(r)?"key":t});function s(n){const o=[],{childrenColumnName:l}=z(e),a=l||"children";return R(n||z(t)).forEach(e=>{o.push(String(e[z(i)]));const t=e[a];(null==t?void 0:t.length)&&o.push(...s(t))}),o}return{getExpandOption:a(()=>{const{isTreeTable:t}=z(e);return t?{expandedRowKeys:z(l),onExpandedRowsChange:e=>{l.value=e,n("expanded-rows-change",e)}}:{}}),expandAll:function(){l.value=s()},expandRows:function(t){const{isTreeTable:n}=z(e);n&&(l.value=[...l.value,...t])},collapseAll:function(){l.value=[]}}}ze&&window.document,ze&&window.navigator,ze&&window.location,Number.POSITIVE_INFINITY;var Me="vben";function We(e){return{prefixCls:`${Me}-${e}`,prefixVar:Me}}var Ke=["headerCell","bodyCell"],Ue=p({name:"BasicTable",components:{HeaderCell:Ce},props:we,emits:["change","register","expanded-rows-change","resizeColumn"],setup(e,{attrs:t,emit:o,slots:l,expose:r}){const i=k(null),s=k(null),u=k(null),{prefixCls:c}=We("basic-table"),d=a(()=>({...e,...t})),{getPaginationInfo:f,setPagination:p,getPagination:m,getShowPagination:g,setShowPagination:y}=function(e){const t=k({}),o=k(!0);I(()=>z(e).pagination,e=>{!de(e)&&e&&(t.value={...z(t),...e})},{deep:!0});const l=a(()=>{const{pagination:l}=z(e);return!(!z(o)||de(l)&&!l)&&{current:1,pageSize:20,size:"small",defaultPageSize:20,showTotal:e=>n("sys.component.table.total",{total:e}),showSizeChanger:!0,pageSizeOptions:Te,itemRender:_e,showQuickJumper:!0,...de(l)?{}:l??{},...z(t)}});return{getPagination:function(){return z(l)},getPaginationInfo:l,setShowPagination:async function(e){o.value=e},getShowPagination:function(){return z(o)},setPagination:function(e){const n=z(l);t.value={...de(n)?{}:n,...e}}}}(d),h=a(()=>z(f)),v=a(()=>z(d).rowSelection??null),b=a(()=>z(d).dataSource??[]),{getViewColumns:C,getColumnsRef:w,handleResizeColumn:S}=Re(d,h),{getScrollRef:x,redoHeight:T}=je(d,i,w,v,h,b,s,u),{getExpandOption:B,expandAll:A}=Le(d,b,o),P=a(()=>{let e={...t,...z(d),scroll:z(x),tableLayout:"fixed",columns:R(z(C)),pagination:R(z(f)),rowSelection:z(v),dataSource:z(b),...z(B)};return e=H(e,[...Se,"class","onChange"]),e}),_=a(()=>{const e=z(P);return[c,t.class,{[`${c}-form-container`]:e.useSearchForm,[`${c}--inset`]:e.inset}]}),O=a(()=>{const{emptyDataIsShowTable:t,useSearchForm:n,dataSource:o}=e;return!(!t&&n&&!(null==o?void 0:o.length))}),$=a(()=>Object.keys(l).filter(e=>!Ke.includes(e)));return r({expandAll:A,redoHeight:T,setPagination:p,getPagination:m,getShowPagination:g,setShowPagination:y}),o("register",{expandAll:A}),{formRef:u,tableElRef:i,wrapRef:s,getBindValues:P,getWrapperClass:_,handleTableChange:function(...e){o("change",...e);const{onChange:t}=z(d);t&&"function"==typeof t&&t(...e)},handleResizeColumn:function(e,t){S(e,t),o("resizeColumn",e,t)},getEmptyDataIsShowTable:O,slotNames:$,emptyFull:e.emptyFull,redoHeight:T}},mounted(){this.redoHeight()}}),Ve=/* @__PURE__ */be(Ue,[["render",function(e,t,n,o,l,a){const r=A("HeaderCell"),i=A("a-table");return x(),s("div",{ref:"wrapRef",class:v(e.getWrapperClass)},[B(e.$slots,"beforeTable"),N(f(i,y({ref:"tableElRef"},e.getBindValues,{class:e.emptyFull?"empty-basic-table-wrapper":"",onChange:e.handleTableChange,onResizeColumn:e.handleResizeColumn}),c({headerCell:F(({column:e})=>[f(r,{column:e},null,8,["column"])]),bodyCell:F(t=>[B(e.$slots,"bodyCell",b(m(t||{})))]),_:2},[T(e.slotNames,t=>({name:t,fn:F(n=>[B(e.$slots,t,b(m(n||{})))])}))]),1040,["class","onChange","onResizeColumn"]),[[$,e.getEmptyDataIsShowTable]])],2)}]]),qe={key:0},Ge={key:0},Xe=/* @__PURE__ */p({__name:"TableAction",props:{actions:{type:Array,default:null},dropDownActions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1}},setup(e){const n=e,u=o("basic-table-action"),c=t.has;function d(e){const t=e.ifShow;let n=!0;return de(t)&&(n=t),ce(t)&&(n=t(e)),n}const p=a(()=>(R(n.actions)||[]).filter(e=>c(e.auth)&&d(e)).map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})),m=a(()=>{const e=(R(n.dropDownActions)||[]).filter(e=>c(e.auth)&&d(e));return e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}})}),g=a(()=>"left");function h(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=A("a-button");return x(),s("div",{class:v([z(u).b(),g.value]),onClick:h},[(x(!0),s(l,null,T(p.value,(t,n)=>{return x(),s(l,{key:`${n}-${t.label}`},[t.tooltip?(x(),r(z(G),y({key:0,placement:"bottom"},{ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,...ue(o)?{title:o}:o})),{default:F(()=>[f(z(ut),y({ref_for:!0},t),{default:F(()=>[t.label?(x(),s("span",qe,P(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(x(),r(z(ut),y({key:1,ref_for:!0},t),{default:F(()=>[t.label?(x(),s("span",Ge,P(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(x(),r(z(K),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),e.dropDownActions&&m.value.length>0?(x(),r(z(ft),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:F(()=>[B(t.$slots,"more"),t.$slots.more?i("",!0):(x(),r(o,{key:0,type:"link",size:"small"},{default:F(()=>[f(z(L),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}}),Ye={key:0},Je={key:0},Qe=/* @__PURE__ */p({__name:"TableActionAuto",props:{actions:{type:Array,default:null},divider:{type:Boolean,default:!0},outside:Boolean,stopButtonPropagation:{type:Boolean,default:!1},maxDispalyCount:{type:Number,default:4}},setup(e){const n=e,u=o("basic-table-action"),c=t.has,d=a(()=>[...R(n.actions)||[]].filter(e=>c(e.auth)&&function(e){const t=e.ifShow??!0;return ce(t)?t(e):!!t}(e))),p=a(()=>{let e=[];return e=n.maxDispalyCount>=d.value.length?[...d.value]:d.value.slice(0,n.maxDispalyCount),e.map(e=>{const{popConfirm:t}=e;return{getPopupContainer:()=>document.body,type:"link",size:"small",...e,...t||{},onConfirm:null==t?void 0:t.confirm,onCancel:null==t?void 0:t.cancel,enable:!!t}})}),m=a(()=>{let e=[];return n.maxDispalyCount>=d.value.length?[]:(e=d.value.slice(n.maxDispalyCount),e.map((t,o)=>{const{label:l,popConfirm:a}=t;return{...t,...a,onConfirm:null==a?void 0:a.confirm,onCancel:null==a?void 0:a.cancel,text:l,divider:o<e.length-1&&n.divider}}))}),g=a(()=>"left");function h(e){n.stopButtonPropagation&&e.composedPath().find(e=>{var t;return"BUTTON"===(null===(t=e.tagName)||void 0===t?void 0:t.toUpperCase())})&&e.stopPropagation()}return(t,n)=>{const o=A("a-button");return x(),s("div",{class:v([z(u).b(),g.value]),onClick:D(h,["stop"])},[(x(!0),s(l,null,T(p.value,(t,n)=>{return x(),s(l,{key:`${n}-${t.label}`},[t.tooltip?(x(),r(z(G),y({key:0,ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,placement:"bottom",...ue(o)?{title:o}:o})),{default:F(()=>[f(z(ut),y({ref_for:!0},t),{default:F(()=>[t.label?(x(),s("span",Ye,P(t.label),1)):i("",!0)]),_:2},1040)]),_:2},1040)):(x(),r(z(ut),y({key:1,ref_for:!0},t),{default:F(()=>[t.label?(x(),s("span",Je,P(t.label),1)):i("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(x(),r(z(K),{key:2,type:"vertical",class:"action-divider"})):i("",!0)],64);var o}),128)),m.value.length>0?(x(),r(z(ft),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:F(()=>[B(t.$slots,"more"),t.$slots.more?i("",!0):(x(),r(o,{key:0,type:"link",size:"small"},{default:F(()=>[f(z(L),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):i("",!0)],2)}}});function Ze(){const e=k(null);return[function(t,n){S(()=>{e.value=null}),e.value=t},{expandAll:()=>{(function(){const t=z(e);return t||console.error("The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!"),t})().expandAll()}}]}var et=["primary","error","warning","success",""],tt={color:{type:String,validator:e=>et.includes(e),default:""},loading:{type:Boolean},disabled:{type:Boolean},preIcon:{type:String},postIcon:{type:String},iconSize:{type:Number,default:14},onClick:{type:Function,default:null}},nt=/* @__PURE__ */p({name:"AButton",extends:W,inheritAttrs:!1,__name:"BasicButton",props:tt,setup(e){const t=e,n=O(),o=a(()=>{const{color:e,disabled:n}=t;return[{[`ant-btn-${e}`]:!!e,"is-disabled":n}]}),l=a(()=>({...z(n),...t}));return(e,t)=>(x(),r(z(W),y(l.value,{class:o.value,onClick:e.onClick}),{default:F(t=>[B(e.$slots,"default",b(m(t||{})))]),_:3},16,["class","onClick"]))}}),ot=p({name:"PopButton",inheritAttrs:!1,props:{enable:{type:Boolean,default:!0}},setup(e,{slots:t}){const o=O(),l=a(()=>Object.assign({okText:n("sys.okText"),cancelText:n("sys.cancelText"),overlayStyle:{}},{...e,...z(o)}));return()=>{const n=H(z(l),"icon"),o=H(n,"title");o.disabled&&(o.color="");const a=g(nt,o,t);return e.enable?g(q,n,{default:()=>a}):a}}}),lt=ot,at={class:"custom-btn-container"},rt={class:"btn-left-title"},it=/* @__PURE__ */be(/* @__PURE__ */p({__name:"custom-button",props:{title:{}},emits:["btn-left-click","btn-right-click"],setup:e=>(t,n)=>(x(),s("div",at,[u("div",{class:"btn-left",onClick:n[0]||(n[0]=D(e=>t.$emit("btn-left-click"),["stop"]))},[B(t.$slots,"left-icon",{},void 0,!0),u("div",rt,P(e.title),1)]),u("div",{class:"btn-right",onClick:n[1]||(n[1]=D(e=>t.$emit("btn-right-click"),["stop"]))},[B(t.$slots,"right-icon",{},void 0,!0)])]))}),[["__scopeId","data-v-305f4090"]]),st=nt,ut=lt,ct={class:"ml-1"},dt={key:1,class:"ml-1"},ft=/* @__PURE__ */p({name:"VDropdown",__name:"Dropdown",props:{popconfirm:Boolean,trigger:{type:Array,default:()=>["contextmenu"]},dropMenuList:{type:Array,default:()=>[]},selectedKeys:{type:Array,default:()=>[]}},emits:["menuEvent"],setup(e,{emit:t}){const n=U,o=V,a=V.Item,c=V.Divider,p=q,m=e,g=t;function h(e){const t=H(e,["confirm","cancel","icon"]);return!e.onConfirm&&e.confirm&&ce(e.confirm)&&(t.onConfirm=e.confirm),!e.onCancel&&e.cancel&&ce(e.cancel)&&(t.onCancel=e.cancel),t}return(t,v)=>(x(),r(z(n),y({trigger:e.trigger},t.$attrs),{overlay:F(()=>[f(z(o),{"selected-keys":e.selectedKeys},{default:F(()=>[(x(!0),s(l,null,T(e.dropMenuList,t=>{return x(),s(l,{key:`${t.event}`},[f(z(a),y({class:t.class},{ref_for:!0},(n=t.event,{key:n}),{disabled:t.disabled,onClick:e=>function(e){var t;const{event:n}=e;g("menuEvent",m.dropMenuList.find(e=>`${e.event}`==`${n}`)),null===(t=e.onClick)||void 0===t||t.call(e)}(t)}),{default:F(()=>[e.popconfirm&&t.popConfirm?(x(),r(z(p),y({key:0,ref_for:!0},h(t.popConfirm)),{default:F(()=>[u("div",null,[u("span",ct,P(t.text),1)])]),_:2},1040)):(x(),s("span",dt,P(t.text),1))]),_:2},1040,["class","disabled","onClick"]),t.divider?(x(),r(z(c),{key:`d-${t.event}`})):i("",!0)],64);var n}),128))]),_:1},8,["selected-keys"])]),default:F(()=>[u("span",null,[B(t.$slots,"default")]),d(" "+P(e.dropMenuList)+" ",1)]),_:3},16,["trigger"]))}}),pt=/* @__PURE__ */Y({default:()=>mt}),mt={table:{index:"序号"}},gt=/* @__PURE__ */Y({default:()=>yt}),yt={okText:"确认",cancelText:"取消"},ht=/* @__PURE__ */Object.assign({"./sys/component.ts":pt,"./sys.ts":gt});async function vt(e){_gct.i18nUtil.autoRegisterLocale(ht)}function bt(){}var Ct=new URL("./index.min.css",import.meta.url);e.load(Ct.href);export{Ve as BasicTable,st as Button,it as CustomButton,ft as Dropdown,ut as PopConfirmButton,Xe as TableAction,Qe as TableActionAuto,Q as is,pe as isArray,de as isBoolean,oe as isDate,Z as isDef,ge as isElement,ne as isEmpty,ve as isEmptyStr,ce as isFunction,ye as isMap,le as isNull,ae as isNullAndUnDef,re as isNullOrUnDef,ie as isNumber,te as isObject,se as isPromise,fe as isRegExp,ue as isString,ee as isUnDef,he as isUrl,me as isWindow,bt as run,Ze as useTable,vt as vBenSetupApp};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) __defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true
|
|
8
|
+
});
|
|
9
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { __exportAll };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BasicColumn } from './types/table';
|
|
1
2
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
2
3
|
clickToRowSelect: {
|
|
3
4
|
type: BooleanConstructor;
|
|
@@ -35,6 +36,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
35
36
|
type: BooleanConstructor;
|
|
36
37
|
default: boolean;
|
|
37
38
|
};
|
|
39
|
+
resizable: {
|
|
40
|
+
type: BooleanConstructor;
|
|
41
|
+
default: boolean;
|
|
42
|
+
};
|
|
38
43
|
api: {
|
|
39
44
|
type: import('vue').PropType<(...arg: unknown[]) => Promise<unknown>>;
|
|
40
45
|
default: null;
|
|
@@ -69,7 +74,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
69
74
|
};
|
|
70
75
|
useSearchForm: BooleanConstructor;
|
|
71
76
|
columns: {
|
|
72
|
-
type: import('vue').PropType<
|
|
77
|
+
type: import('vue').PropType<BasicColumn[]>;
|
|
73
78
|
default: () => never[];
|
|
74
79
|
};
|
|
75
80
|
showIndexColumn: {
|
|
@@ -77,11 +82,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
77
82
|
default: boolean;
|
|
78
83
|
};
|
|
79
84
|
indexColumnProps: {
|
|
80
|
-
type: import('vue').PropType<
|
|
85
|
+
type: import('vue').PropType<BasicColumn>;
|
|
81
86
|
default: null;
|
|
82
87
|
};
|
|
83
88
|
actionColumn: {
|
|
84
|
-
type: import('vue').PropType<
|
|
89
|
+
type: import('vue').PropType<BasicColumn>;
|
|
85
90
|
default: null;
|
|
86
91
|
};
|
|
87
92
|
ellipsis: {
|
|
@@ -172,11 +177,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
172
177
|
getBindValues: import('vue').ComputedRef<IObject>;
|
|
173
178
|
getWrapperClass: import('vue').ComputedRef<import('vue').ClassValue[]>;
|
|
174
179
|
handleTableChange: (...args: unknown[]) => void;
|
|
180
|
+
handleResizeColumn: (width: number, column: BasicColumn) => void;
|
|
175
181
|
getEmptyDataIsShowTable: import('vue').ComputedRef<boolean>;
|
|
176
182
|
slotNames: import('vue').ComputedRef<string[]>;
|
|
177
183
|
emptyFull: boolean;
|
|
178
184
|
redoHeight: () => void;
|
|
179
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("change" | "expanded-rows-change" | "register")[], "change" | "expanded-rows-change" | "register", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
185
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("change" | "expanded-rows-change" | "register" | "resizeColumn")[], "change" | "expanded-rows-change" | "register" | "resizeColumn", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
180
186
|
clickToRowSelect: {
|
|
181
187
|
type: BooleanConstructor;
|
|
182
188
|
default: boolean;
|
|
@@ -213,6 +219,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
213
219
|
type: BooleanConstructor;
|
|
214
220
|
default: boolean;
|
|
215
221
|
};
|
|
222
|
+
resizable: {
|
|
223
|
+
type: BooleanConstructor;
|
|
224
|
+
default: boolean;
|
|
225
|
+
};
|
|
216
226
|
api: {
|
|
217
227
|
type: import('vue').PropType<(...arg: unknown[]) => Promise<unknown>>;
|
|
218
228
|
default: null;
|
|
@@ -247,7 +257,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
247
257
|
};
|
|
248
258
|
useSearchForm: BooleanConstructor;
|
|
249
259
|
columns: {
|
|
250
|
-
type: import('vue').PropType<
|
|
260
|
+
type: import('vue').PropType<BasicColumn[]>;
|
|
251
261
|
default: () => never[];
|
|
252
262
|
};
|
|
253
263
|
showIndexColumn: {
|
|
@@ -255,11 +265,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
255
265
|
default: boolean;
|
|
256
266
|
};
|
|
257
267
|
indexColumnProps: {
|
|
258
|
-
type: import('vue').PropType<
|
|
268
|
+
type: import('vue').PropType<BasicColumn>;
|
|
259
269
|
default: null;
|
|
260
270
|
};
|
|
261
271
|
actionColumn: {
|
|
262
|
-
type: import('vue').PropType<
|
|
272
|
+
type: import('vue').PropType<BasicColumn>;
|
|
263
273
|
default: null;
|
|
264
274
|
};
|
|
265
275
|
ellipsis: {
|
|
@@ -347,6 +357,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
347
357
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
348
358
|
"onExpanded-rows-change"?: ((...args: any[]) => any) | undefined;
|
|
349
359
|
onRegister?: ((...args: any[]) => any) | undefined;
|
|
360
|
+
onResizeColumn?: ((...args: any[]) => any) | undefined;
|
|
350
361
|
}>, {
|
|
351
362
|
clickToRowSelect: boolean;
|
|
352
363
|
isTreeTable: boolean;
|
|
@@ -360,6 +371,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
360
371
|
summaryData: Recordable<unknown>[];
|
|
361
372
|
indentSize: number;
|
|
362
373
|
canColDrag: boolean;
|
|
374
|
+
resizable: boolean;
|
|
363
375
|
api: (...arg: unknown[]) => Promise<unknown>;
|
|
364
376
|
beforeFetch: Fn<any, any>;
|
|
365
377
|
afterFetch: Fn<any, any>;
|
|
@@ -369,10 +381,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
369
381
|
searchInfo: Recordable<unknown>;
|
|
370
382
|
defSort: Recordable<unknown>;
|
|
371
383
|
useSearchForm: boolean;
|
|
372
|
-
columns:
|
|
384
|
+
columns: BasicColumn[];
|
|
373
385
|
showIndexColumn: boolean;
|
|
374
|
-
indexColumnProps:
|
|
375
|
-
actionColumn:
|
|
386
|
+
indexColumnProps: BasicColumn;
|
|
387
|
+
actionColumn: BasicColumn;
|
|
376
388
|
ellipsis: boolean;
|
|
377
389
|
isCanResizeParent: boolean;
|
|
378
390
|
canResize: boolean;
|
|
@@ -397,18 +409,18 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
397
409
|
}, {}, {
|
|
398
410
|
HeaderCell: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
399
411
|
column: {
|
|
400
|
-
type: import('vue').PropType<
|
|
412
|
+
type: import('vue').PropType<BasicColumn>;
|
|
401
413
|
default: () => {};
|
|
402
414
|
};
|
|
403
415
|
}>, {
|
|
404
416
|
getTitle: import('vue').ComputedRef<void | string | number | boolean | JSX.Element | import('vue').VNodeArrayChildren | ((props: import('ant-design-vue/lib/table/interface').ColumnTitleProps<Recordable<unknown>>) => import('ant-design-vue/lib/_util/type').VueNode) | null>;
|
|
405
417
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
406
418
|
column: {
|
|
407
|
-
type: import('vue').PropType<
|
|
419
|
+
type: import('vue').PropType<BasicColumn>;
|
|
408
420
|
default: () => {};
|
|
409
421
|
};
|
|
410
422
|
}>> & Readonly<{}>, {
|
|
411
|
-
column:
|
|
423
|
+
column: BasicColumn;
|
|
412
424
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
413
425
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
414
426
|
export default _default;
|
|
@@ -11,7 +11,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
11
11
|
class: normalizeClass(_ctx.getWrapperClass)
|
|
12
12
|
}, [renderSlot(_ctx.$slots, "beforeTable"), withDirectives(createVNode(_component_a_table, mergeProps({ ref: "tableElRef" }, _ctx.getBindValues, {
|
|
13
13
|
class: _ctx.emptyFull ? "empty-basic-table-wrapper" : "",
|
|
14
|
-
onChange: _ctx.handleTableChange
|
|
14
|
+
onChange: _ctx.handleTableChange,
|
|
15
|
+
onResizeColumn: _ctx.handleResizeColumn
|
|
15
16
|
}), createSlots({
|
|
16
17
|
headerCell: withCtx(({ column }) => [createVNode(_component_HeaderCell, { column }, null, 8, ["column"])]),
|
|
17
18
|
bodyCell: withCtx((data) => [renderSlot(_ctx.$slots, "bodyCell", normalizeProps(guardReactiveProps(data || {})))]),
|
|
@@ -21,7 +22,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
21
22
|
name: slotName,
|
|
22
23
|
fn: withCtx((data) => [renderSlot(_ctx.$slots, slotName, normalizeProps(guardReactiveProps(data || {})))])
|
|
23
24
|
};
|
|
24
|
-
})]), 1040, [
|
|
25
|
+
})]), 1040, [
|
|
26
|
+
"class",
|
|
27
|
+
"onChange",
|
|
28
|
+
"onResizeColumn"
|
|
29
|
+
]), [[vShow, _ctx.getEmptyDataIsShowTable]])], 2);
|
|
25
30
|
}
|
|
26
31
|
var BasicTable_default = /* @__PURE__ */ _plugin_vue_export_helper_default(BasicTable_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
|
|
27
32
|
//#endregion
|
|
@@ -16,7 +16,8 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
16
16
|
emits: [
|
|
17
17
|
"change",
|
|
18
18
|
"register",
|
|
19
|
-
"expanded-rows-change"
|
|
19
|
+
"expanded-rows-change",
|
|
20
|
+
"resizeColumn"
|
|
20
21
|
],
|
|
21
22
|
setup(props, { attrs, emit, slots, expose }) {
|
|
22
23
|
const tableElRef = ref(null);
|
|
@@ -37,7 +38,7 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
37
38
|
const getDataSourceRef = computed(() => {
|
|
38
39
|
return unref(getProps).dataSource ?? [];
|
|
39
40
|
});
|
|
40
|
-
const { getViewColumns, getColumnsRef } = useColumns(getProps, getPaginationRef);
|
|
41
|
+
const { getViewColumns, getColumnsRef, handleResizeColumn } = useColumns(getProps, getPaginationRef);
|
|
41
42
|
const { getScrollRef, redoHeight } = useTableScroll(getProps, tableElRef, getColumnsRef, getRowSelectionRef, getPaginationRef, getDataSourceRef, wrapRef, formRef);
|
|
42
43
|
const { getExpandOption, expandAll } = useTableExpand(getProps, getDataSourceRef, emit);
|
|
43
44
|
const getBindValues = computed(() => {
|
|
@@ -70,6 +71,10 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
70
71
|
}
|
|
71
72
|
];
|
|
72
73
|
});
|
|
74
|
+
function onResizeColumn(width, column) {
|
|
75
|
+
handleResizeColumn(width, column);
|
|
76
|
+
emit("resizeColumn", width, column);
|
|
77
|
+
}
|
|
73
78
|
function handleTableChange(...args) {
|
|
74
79
|
emit("change", ...args);
|
|
75
80
|
const { onChange } = unref(getProps);
|
|
@@ -97,6 +102,7 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
97
102
|
getBindValues,
|
|
98
103
|
getWrapperClass,
|
|
99
104
|
handleTableChange,
|
|
105
|
+
handleResizeColumn: onResizeColumn,
|
|
100
106
|
getEmptyDataIsShowTable,
|
|
101
107
|
slotNames,
|
|
102
108
|
emptyFull: props.emptyFull,
|
|
@@ -4,4 +4,5 @@ import { ComputedRef } from 'vue';
|
|
|
4
4
|
export declare function useColumns(propsRef: ComputedRef<BasicTableProps>, getPaginationRef: ComputedRef<boolean | PaginationProps>): {
|
|
5
5
|
getColumnsRef: ComputedRef<BasicColumn[]>;
|
|
6
6
|
getViewColumns: ComputedRef<BasicColumn[]>;
|
|
7
|
+
handleResizeColumn: (width: number, column: BasicColumn) => void;
|
|
7
8
|
};
|
|
@@ -4,14 +4,34 @@ import { computed, ref, unref, watch } from "vue";
|
|
|
4
4
|
import { cloneDeep } from "lodash-es";
|
|
5
5
|
import { permission, t } from "@gct-paas/core";
|
|
6
6
|
//#region src/components/v-ben-table/src/hooks/useColumns.ts
|
|
7
|
-
function
|
|
7
|
+
function normalizeColumnWidth(width) {
|
|
8
|
+
if (width === void 0 || width === null || width === "") return;
|
|
9
|
+
if (typeof width === "number" && !Number.isNaN(width)) return width;
|
|
10
|
+
if (typeof width === "string") {
|
|
11
|
+
const numericWidth = Number.parseInt(width, 10);
|
|
12
|
+
if (!Number.isNaN(numericWidth)) return numericWidth;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function applyResizable(item, tableResizable) {
|
|
16
|
+
if (!tableResizable || item.resizable === false) return;
|
|
17
|
+
if (typeof item.width === "string" && item.width.includes("%")) return;
|
|
18
|
+
item.resizable = true;
|
|
19
|
+
const width = normalizeColumnWidth(item.width);
|
|
20
|
+
if (width !== void 0) {
|
|
21
|
+
item.width = width;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
item.width = 150;
|
|
25
|
+
}
|
|
26
|
+
function handleItem(item, ellipsis, tableResizable) {
|
|
8
27
|
const { key, dataIndex, children } = item;
|
|
9
28
|
item.align = item.align || "left";
|
|
10
29
|
if (ellipsis) {
|
|
11
30
|
if (!key && dataIndex !== void 0) item.key = Array.isArray(dataIndex) ? dataIndex.join(".") : String(dataIndex);
|
|
12
31
|
if (!isBoolean(item.ellipsis)) Object.assign(item, { ellipsis: { showTitle: false } });
|
|
13
32
|
}
|
|
14
|
-
if (children && children.length) handleChildren(children, !!ellipsis);
|
|
33
|
+
if (children && children.length) handleChildren(children, !!ellipsis, tableResizable);
|
|
34
|
+
applyResizable(item, tableResizable);
|
|
15
35
|
const originalCustomCell = item.customCell;
|
|
16
36
|
/** 只有内容超出的时候才出 title */
|
|
17
37
|
item.customCell = (record, rowIndex) => {
|
|
@@ -25,12 +45,12 @@ function handleItem(item, ellipsis) {
|
|
|
25
45
|
};
|
|
26
46
|
};
|
|
27
47
|
}
|
|
28
|
-
function handleChildren(children, ellipsis) {
|
|
48
|
+
function handleChildren(children, ellipsis, tableResizable) {
|
|
29
49
|
if (!children) return;
|
|
30
50
|
children.forEach((item) => {
|
|
31
51
|
const { children: childCols } = item;
|
|
32
|
-
handleItem(item, ellipsis);
|
|
33
|
-
handleChildren(childCols, ellipsis);
|
|
52
|
+
handleItem(item, ellipsis, tableResizable);
|
|
53
|
+
handleChildren(childCols, ellipsis, tableResizable);
|
|
34
54
|
});
|
|
35
55
|
}
|
|
36
56
|
function handleIndexColumn(propsRef, getPaginationRef, columns) {
|
|
@@ -102,6 +122,17 @@ function isIfShow(column) {
|
|
|
102
122
|
if (isFunction(ifShow)) return ifShow(column);
|
|
103
123
|
return true;
|
|
104
124
|
}
|
|
125
|
+
function updateColumnWidth(columns, column, width) {
|
|
126
|
+
const { dataIndex, key } = column;
|
|
127
|
+
for (const col of columns) {
|
|
128
|
+
if (dataIndex !== void 0 && col.dataIndex === dataIndex || key !== void 0 && col.key === key) {
|
|
129
|
+
col.width = width;
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
if (col.children?.length && updateColumnWidth(col.children, column, width)) return true;
|
|
133
|
+
}
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
105
136
|
function useColumns(propsRef, getPaginationRef) {
|
|
106
137
|
const columnsRef = ref(unref(propsRef).columns);
|
|
107
138
|
const getColumnsRef = computed(() => {
|
|
@@ -109,10 +140,10 @@ function useColumns(propsRef, getPaginationRef) {
|
|
|
109
140
|
handleIndexColumn(propsRef, getPaginationRef, columns);
|
|
110
141
|
handleActionColumn(propsRef, columns);
|
|
111
142
|
if (!columns) return [];
|
|
112
|
-
const { ellipsis } = unref(propsRef);
|
|
143
|
+
const { ellipsis, resizable = true } = unref(propsRef);
|
|
113
144
|
columns.forEach((item) => {
|
|
114
145
|
const { customRender, slots } = item;
|
|
115
|
-
handleItem(item, Reflect.has(item, "ellipsis") ? !!item.ellipsis : !!ellipsis && !customRender && !slots);
|
|
146
|
+
handleItem(item, Reflect.has(item, "ellipsis") ? !!item.ellipsis : !!ellipsis && !customRender && !slots, resizable);
|
|
116
147
|
});
|
|
117
148
|
return columns;
|
|
118
149
|
});
|
|
@@ -134,9 +165,15 @@ function useColumns(propsRef, getPaginationRef) {
|
|
|
134
165
|
watch(() => unref(propsRef).columns, (columns) => {
|
|
135
166
|
columnsRef.value = columns;
|
|
136
167
|
});
|
|
168
|
+
function handleResizeColumn(width, column) {
|
|
169
|
+
column.width = width;
|
|
170
|
+
const columns = unref(columnsRef);
|
|
171
|
+
if (updateColumnWidth(columns, column, width)) columnsRef.value = [...columns];
|
|
172
|
+
}
|
|
137
173
|
return {
|
|
138
174
|
getColumnsRef,
|
|
139
|
-
getViewColumns
|
|
175
|
+
getViewColumns,
|
|
176
|
+
handleResizeColumn
|
|
140
177
|
};
|
|
141
178
|
}
|
|
142
179
|
//#endregion
|
|
@@ -38,6 +38,11 @@ export declare const basicProps: {
|
|
|
38
38
|
type: BooleanConstructor;
|
|
39
39
|
default: boolean;
|
|
40
40
|
};
|
|
41
|
+
/** 是否开启列宽拖拽(ant-design-vue resizable) */
|
|
42
|
+
resizable: {
|
|
43
|
+
type: BooleanConstructor;
|
|
44
|
+
default: boolean;
|
|
45
|
+
};
|
|
41
46
|
api: {
|
|
42
47
|
type: PropType<(...arg: unknown[]) => Promise<unknown>>;
|
|
43
48
|
default: null;
|
|
@@ -185,4 +190,4 @@ export declare const basicProps: {
|
|
|
185
190
|
};
|
|
186
191
|
};
|
|
187
192
|
/** BasicTable 自有配置,不传给 ant-design-vue Table */
|
|
188
|
-
export declare const basicTableInternalPropKeys: readonly ["clickToRowSelect", "isTreeTable", "tableSetting", "inset", "showTableSetting", "autoCreateKey", "striped", "showSummary", "summaryFunc", "summaryData", "indentSize", "canColDrag", "api", "beforeFetch", "afterFetch", "handleSearchInfoFn", "immediate", "emptyDataIsShowTable", "searchInfo", "defSort", "useSearchForm", "showIndexColumn", "indexColumnProps", "actionColumn", "ellipsis", "isCanResizeParent", "canResize", "clearSelectOnPageChange", "resizeHeightOffset", "titleHelpMessage", "beforeEditSubmit", "rowDraggable", "supportSameLevel", "rowDragApi", "emptyFull"];
|
|
193
|
+
export declare const basicTableInternalPropKeys: readonly ["clickToRowSelect", "isTreeTable", "tableSetting", "inset", "showTableSetting", "autoCreateKey", "striped", "showSummary", "summaryFunc", "summaryData", "indentSize", "canColDrag", "resizable", "api", "beforeFetch", "afterFetch", "handleSearchInfoFn", "immediate", "emptyDataIsShowTable", "searchInfo", "defSort", "useSearchForm", "showIndexColumn", "indexColumnProps", "actionColumn", "ellipsis", "isCanResizeParent", "canResize", "clearSelectOnPageChange", "resizeHeightOffset", "titleHelpMessage", "beforeEditSubmit", "rowDraggable", "supportSameLevel", "rowDragApi", "emptyFull"];
|
|
@@ -36,6 +36,11 @@ var basicProps = {
|
|
|
36
36
|
type: Boolean,
|
|
37
37
|
default: true
|
|
38
38
|
},
|
|
39
|
+
/** 是否开启列宽拖拽(ant-design-vue resizable) */
|
|
40
|
+
resizable: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: true
|
|
43
|
+
},
|
|
39
44
|
api: {
|
|
40
45
|
type: Function,
|
|
41
46
|
default: null
|
|
@@ -182,6 +187,7 @@ var basicTableInternalPropKeys = [
|
|
|
182
187
|
"summaryData",
|
|
183
188
|
"indentSize",
|
|
184
189
|
"canColDrag",
|
|
190
|
+
"resizable",
|
|
185
191
|
"api",
|
|
186
192
|
"beforeFetch",
|
|
187
193
|
"afterFetch",
|
|
@@ -120,6 +120,7 @@ export interface BasicTableProps<T = unknown> {
|
|
|
120
120
|
summaryData?: Recordable[];
|
|
121
121
|
showSummary?: boolean;
|
|
122
122
|
canColDrag?: boolean;
|
|
123
|
+
resizable?: boolean;
|
|
123
124
|
api?: (...arg: unknown[]) => Promise<IObject>;
|
|
124
125
|
beforeFetch?: Fn;
|
|
125
126
|
afterFetch?: Fn;
|
|
@@ -317,6 +318,9 @@ export type CellFormat = string | ((text: string, record: Recordable, index: num
|
|
|
317
318
|
export interface BasicColumn extends ColumnProps<Recordable> {
|
|
318
319
|
children?: BasicColumn[];
|
|
319
320
|
filters?: ColumnFilterItem[];
|
|
321
|
+
resizable?: boolean;
|
|
322
|
+
minWidth?: number;
|
|
323
|
+
maxWidth?: number;
|
|
320
324
|
flag?: 'INDEX' | 'DEFAULT' | 'CHECKBOX' | 'RADIO' | 'ACTION';
|
|
321
325
|
customTitle?: VueNode;
|
|
322
326
|
slots?: Recordable;
|
package/es/index.d.ts
CHANGED
package/es/index.mjs
CHANGED
|
@@ -7,7 +7,8 @@ import custom_button_default from "./components/v-ben-button/src/custom-button.v
|
|
|
7
7
|
import { Button, PopConfirmButton } from "./components/v-ben-button/index.mjs";
|
|
8
8
|
import { Dropdown } from "./components/v-ben-dropdown/index.mjs";
|
|
9
9
|
import "./components/index.mjs";
|
|
10
|
+
import { vBenSetupApp } from "./setup-app.mjs";
|
|
10
11
|
//#region src/index.ts
|
|
11
12
|
function run() {}
|
|
12
13
|
//#endregion
|
|
13
|
-
export { BasicTable_default as BasicTable, Button, custom_button_default as CustomButton, Dropdown, PopConfirmButton, TableAction_default as TableAction, TableActionAuto_default as TableActionAuto, is, isArray, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyStr, isFunction, isMap, isNull, isNullAndUnDef, isNullOrUnDef, isNumber, isObject, isPromise, isRegExp, isString, isUnDef, isUrl, isWindow, run, useTable };
|
|
14
|
+
export { BasicTable_default as BasicTable, Button, custom_button_default as CustomButton, Dropdown, PopConfirmButton, TableAction_default as TableAction, TableActionAuto_default as TableActionAuto, is, isArray, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyStr, isFunction, isMap, isNull, isNullAndUnDef, isNullOrUnDef, isNumber, isObject, isPromise, isRegExp, isString, isUnDef, isUrl, isWindow, run, useTable, vBenSetupApp };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { component_exports } from "./sys/component.mjs";
|
|
2
|
+
import { sys_exports } from "./sys.mjs";
|
|
3
|
+
//#region src/locale/auto-register.ts
|
|
4
|
+
var localeModules = /* @__PURE__ */ Object.assign({
|
|
5
|
+
"./sys/component.ts": component_exports,
|
|
6
|
+
"./sys.ts": sys_exports
|
|
7
|
+
});
|
|
8
|
+
/** 注册 v-ben 包的 locale 多语言资源 */
|
|
9
|
+
function registerVBenLocale() {
|
|
10
|
+
_gct.i18nUtil.autoRegisterLocale(localeModules);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { registerVBenLocale };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
|
|
2
|
+
//#region src/locale/sys/component.ts
|
|
3
|
+
var component_exports = /* @__PURE__ */ __exportAll({ default: () => component_default });
|
|
4
|
+
var component_default = { table: { index: "序号" } };
|
|
5
|
+
//#endregion
|
|
6
|
+
export { component_exports };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
2
|
+
//#region src/locale/sys.ts
|
|
3
|
+
var sys_exports = /* @__PURE__ */ __exportAll({ default: () => sys_default });
|
|
4
|
+
var sys_default = {
|
|
5
|
+
okText: "确认",
|
|
6
|
+
cancelText: "取消"
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { sys_exports };
|
package/es/setup-app.mjs
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gct-paas/v-ben",
|
|
3
|
-
"version": "0.1.6-dev.
|
|
3
|
+
"version": "0.1.6-dev.24",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "paas 平台历史 v-ben 内容",
|
|
6
6
|
"loader": "dist/loader.esm.min.js",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"sortablejs": "^1.15.7",
|
|
42
42
|
"vue": "^3.5.30",
|
|
43
43
|
"vue-types": "^6.0.0",
|
|
44
|
-
"@gct-paas/core": "0.1.6-dev.
|
|
45
|
-
"@gct-paas/scss": "0.1.6-dev.
|
|
44
|
+
"@gct-paas/core": "0.1.6-dev.24",
|
|
45
|
+
"@gct-paas/scss": "0.1.6-dev.24"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@gct-paas/api": "^0.1.6-dev.14",
|
|
49
49
|
"vue": ">=3",
|
|
50
|
-
"@gct-paas/core": "0.1.6-dev.
|
|
51
|
-
"@gct-paas/scss": "0.1.6-dev.
|
|
50
|
+
"@gct-paas/core": "0.1.6-dev.24",
|
|
51
|
+
"@gct-paas/scss": "0.1.6-dev.24"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",
|