@gct-paas/v-ben 0.1.6-dev.24 → 0.1.6-dev.26
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/index.min.css +1 -1
- package/dist/loader.esm.min.js +2 -2
- package/es/components/v-ben-table/src/BasicTable.vue.d.ts +10 -4
- package/es/components/v-ben-table/src/BasicTable.vue.mjs +26 -4
- package/es/components/v-ben-table/src/BasicTable.vue_vue_type_script_lang.mjs +26 -9
- package/es/components/v-ben-table/src/BasicTable.vue_vue_type_style_index_0_lang.css +24 -0
- package/es/components/v-ben-table/src/components/TableAction.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/v-ben-table/src/components/TableActionAuto.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/v-ben-table/src/hooks/usePagination.mjs +1 -1
- package/es/components/v-ben-table/src/hooks/useTableExpand.d.ts +3 -8
- package/es/components/v-ben-table/src/hooks/useTableExpand.mjs +24 -16
- package/es/components/v-ben-table/src/hooks/useTableRowDrag.d.ts +7 -0
- package/es/components/v-ben-table/src/hooks/useTableRowDrag.mjs +148 -0
- package/es/components/v-ben-table/src/props.d.ts +2 -2
- package/es/components/v-ben-table/src/props.mjs +2 -1
- package/es/components/v-ben-table/src/types/table.d.ts +12 -0
- package/es/types/sortablejs.d.ts +24 -0
- package/package.json +5 -5
package/dist/index.min.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.vben-basic-table{max-width:100%;height:100%}.vben-basic-table .ant-table-tbody>tr>td,.vben-basic-table .ant-table-thead>tr>td,.vben-basic-table .ant-table-tbody>tr>th,.vben-basic-table .ant-table-thead>tr>th{border-right:1px solid #0000!important}.vben-basic-table-form-container{padding:16px}.vben-basic-table-form-container .ant-form{border-radius:2px;width:100%;margin-bottom:16px;padding:12px 10px 6px}.vben-basic-table .ant-table-cell .ant-tag{margin-right:0}.vben-basic-table .ant-table-wrapper{border-radius:2px;padding:6px}.vben-basic-table .ant-table-wrapper .ant-table-title{padding:0 0 8px!important}.vben-basic-table .ant-table-wrapper .ant-table.ant-table-bordered .ant-table-title{border:none!important}.vben-basic-table .empty-basic-table-wrapper.ant-table-wrapper:has(div.ant-spin-nested-loading>div.ant-spin-container>div.ant-table-empty) .ant-spin-nested-loading>div.ant-spin-container>div.ant-table-empty>div.ant-table-container>div.ant-table-body{max-height:none!important}.vben-basic-table .ant-table{width:100%;overflow-x:hidden}.vben-basic-table .ant-pagination{margin:10px 0 0!important}.vben-basic-table--inset .ant-table-wrapper{padding:0}.ant-table-thead th{background-color:#f5f5f5}.vben-basic-table-action{align-items:center;display:flex}.vben-basic-table-action .action-divider{display:table}.vben-basic-table-action.left{justify-content:flex-start}.vben-basic-table-action.center{justify-content:center}.vben-basic-table-action.right{justify-content:flex-end}.vben-basic-table-action button{align-items:center;display:flex}.vben-basic-table-action button span{font-size:14px;margin-left:0!important}.vben-basic-table-action button.ant-btn-circle span{margin:auto!important}.vben-basic-table-action .ant-divider,.vben-basic-table-action .ant-divider-vertical{margin:0 10px}.vben-basic-table-action .icon-more{transform:rotate(90deg)}.vben-basic-table-action .icon-more svg{font-size:1.1em;font-weight:700}.custom-btn-container[data-v-305f4090]{white-space:nowrap;text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;color:#fff;border:1px solid #0000;border-color:var(--ant-primary-color);background-image:none;background:var(--ant-primary-color);text-shadow:0 -1px #0000001f;vertical-align:top;border-radius:4px;justify-content:center;align-items:center;height:32px;font-size:14px;font-weight:400;line-height:1.5715;transition:all .3s cubic-bezier(.645,.045,.355,1);display:inline-flex;position:relative;box-shadow:0 2px #0000000b}.custom-btn-container .btn-left[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-right:1px;padding:4px 12px;display:flex}.custom-btn-container .btn-left-title[data-v-305f4090]{margin-left:4px;line-height:22px}.custom-btn-container .btn-left[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}.custom-btn-container .btn-right[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-left:2px;padding:4px 12px;display:flex;position:relative}.custom-btn-container .btn-right[data-v-305f4090]:before{content:"";background-color:#fff;width:1px;height:14px;position:absolute;left:-2px}.custom-btn-container .btn-right[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}
|
|
1
|
+
.vben-basic-table{max-width:100%;height:100%}.vben-basic-table .ant-table-tbody>tr>td,.vben-basic-table .ant-table-thead>tr>td,.vben-basic-table .ant-table-tbody>tr>th,.vben-basic-table .ant-table-thead>tr>th{border-right:1px solid #0000!important}.vben-basic-table-form-container{padding:16px}.vben-basic-table-form-container .ant-form{border-radius:2px;width:100%;margin-bottom:16px;padding:12px 10px 6px}.vben-basic-table .ant-table-cell .ant-tag{margin-right:0}.vben-basic-table .ant-table-wrapper{border-radius:2px;padding:6px}.vben-basic-table .ant-table-wrapper .ant-table-title{padding:0 0 8px!important}.vben-basic-table .ant-table-wrapper .ant-table.ant-table-bordered .ant-table-title{border:none!important}.vben-basic-table .empty-basic-table-wrapper.ant-table-wrapper:has(div.ant-spin-nested-loading>div.ant-spin-container>div.ant-table-empty) .ant-spin-nested-loading>div.ant-spin-container>div.ant-table-empty>div.ant-table-container>div.ant-table-body{max-height:none!important}.vben-basic-table .ant-table{width:100%;overflow-x:hidden}.vben-basic-table .ant-pagination{margin:10px 0 0!important}.vben-basic-table--inset .ant-table-wrapper{padding:0}.ant-table-thead th{background-color:#f5f5f5}.ant-table-tbody>tr:hover:not(.ant-table-expanded-row)>td:has(.gct-handle){padding-left:24px}.ant-table-tbody>tr:hover:not(.ant-table-expanded-row)>td:has(.gct-handle) .gct-handle{position:absolute;left:6px}.ant-table-tbody>tr:hover:not(.ant-table-expanded-row)>td:has(.gct-handle) .gct-handle .handle-icon{visibility:visible}.ant-table .ant-table-tbody>tr>td:has(.gct-handle){padding-left:24px!important}.ant-table .ant-table-tbody>tr>td:has(.gct-handle) .gct-handle{cursor:pointer;position:absolute;left:6px}.ant-table .ant-table-tbody>tr>td:has(.gct-handle) .gct-handle .handle-icon{visibility:hidden}.ant-table .ant-table-tbody>tr>td:has(.gct-handle) .gct-handle:hover .handle-icon{color:var(--ant-primary-color)}.vben-basic-table-action{align-items:center;display:flex}.vben-basic-table-action .action-divider{display:table}.vben-basic-table-action.left{justify-content:flex-start}.vben-basic-table-action.center{justify-content:center}.vben-basic-table-action.right{justify-content:flex-end}.vben-basic-table-action button{align-items:center;display:flex}.vben-basic-table-action button span{font-size:14px;margin-left:0!important}.vben-basic-table-action button.ant-btn-circle span{margin:auto!important}.vben-basic-table-action .ant-divider,.vben-basic-table-action .ant-divider-vertical{margin:0 10px}.vben-basic-table-action .icon-more{transform:rotate(90deg)}.vben-basic-table-action .icon-more svg{font-size:1.1em;font-weight:700}.custom-btn-container[data-v-305f4090]{white-space:nowrap;text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;color:#fff;border:1px solid #0000;border-color:var(--ant-primary-color);background-image:none;background:var(--ant-primary-color);text-shadow:0 -1px #0000001f;vertical-align:top;border-radius:4px;justify-content:center;align-items:center;height:32px;font-size:14px;font-weight:400;line-height:1.5715;transition:all .3s cubic-bezier(.645,.045,.355,1);display:inline-flex;position:relative;box-shadow:0 2px #0000000b}.custom-btn-container .btn-left[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-right:1px;padding:4px 12px;display:flex}.custom-btn-container .btn-left-title[data-v-305f4090]{margin-left:4px;line-height:22px}.custom-btn-container .btn-left[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}.custom-btn-container .btn-right[data-v-305f4090]{justify-content:center;align-items:center;height:32px;margin-left:2px;padding:4px 12px;display:flex;position:relative}.custom-btn-container .btn-right[data-v-305f4090]:before{content:"";background-color:#fff;width:1px;height:14px;position:absolute;left:-2px}.custom-btn-container .btn-right[data-v-305f4090]:hover{color:#fff;border-color:var(--ant-primary-color-hover);background:var(--ant-primary-color-hover)}
|
|
2
2
|
/*$vite$:1*/
|
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 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};
|
|
1
|
+
/*! @gct-paas/v-ben v0.1.6-dev.26 */
|
|
2
|
+
import{cssLoader as e,permission as t,t as n,useNamespace as o}from"@gct-paas/core";import{HolderOutlined as l,LeftOutlined as r,MoreOutlined as a,RightOutlined as i}from"@ant-design/icons-vue";import{Fragment as u,computed as s,createBlock as c,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as m,createTextVNode as g,createVNode as y,defineComponent as h,guardReactiveProps as v,h as b,mergeProps as w,nextTick as C,normalizeClass as S,normalizeProps as x,onActivated as k,onMounted as T,onUnmounted as B,openBlock as R,ref as I,renderList as A,renderSlot as _,resolveComponent as P,toDisplayString as D,toRaw as O,toValue as z,unref as N,useAttrs as $,vShow as E,watch as F,withCtx as H,withDirectives as K,withModifiers as L}from"vue";import{cloneDeep as j,omit as M}from"lodash-es";import W from"sortablejs";import{Button as U,Divider as V,Dropdown as q,Menu as G,Popconfirm as X,Tooltip as Y}from"ant-design-vue";var J=Object.defineProperty,Q=(e,t)=>{let n={};for(var o in e)J(n,o,{get:e[o],enumerable:!0});return t||J(n,Symbol.toStringTag,{value:"Module"}),n},Z=Object.prototype.toString;function ee(e,t){return Z.call(e)===`[object ${t}]`}function te(e){return void 0!==e}function ne(e){return!te(e)}function oe(e){return null!==e&&ee(e,"Object")}function le(e){return ge(e)||de(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:!!oe(e)&&0===Object.keys(e).length}function re(e){return ee(e,"Date")}function ae(e){return null===e}function ie(e){return ne(e)&&ae(e)}function ue(e){return ne(e)||ae(e)}function se(e){return ee(e,"Number")}function ce(e){return ee(e,"Promise")&&oe(e)&&fe(e.then)&&fe(e.then)}function de(e){return ee(e,"String")}function fe(e){return"function"==typeof e}function pe(e){return ee(e,"Boolean")}function me(e){return ee(e,"RegExp")}function ge(e){return!!e&&Array.isArray(e)}function ye(e){return"undefined"!=typeof window&&ee(e,"Window")}function he(e){return oe(e)&&!!e.tagName}function ve(e){return ee(e,"Map")}function be(e){return/^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/.test(e)}function we(e){return void 0===e||!e&&0!==e&&"0"!==e||!/[^\s]/.test(e+"")}var Ce=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n},Se=/* @__PURE__ */Ce(h({name:"TableHeaderCell",components:{},props:{column:{type:Object,default:()=>({})}},setup:e=>({getTitle:s(()=>{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,r){return R(),f("span",null,D(e.getTitle),1)}]]),xe={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}},ke=["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","expandedRowKeys"],Te="INDEX",Be="ACTION",Re=["20","50","80","100"];function Ie(e,t,n){const{key:o,dataIndex:l,children:r}=e;e.align=e.align||"left",t&&(o||void 0===l||(e.key=Array.isArray(l)?l.join("."):String(l)),pe(e.ellipsis)||Object.assign(e,{ellipsis:{showTitle:!1}})),r&&r.length&&Ae(r,!!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 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 Ae(e,t,n){e&&e.forEach(e=>{const{children:o}=e;Ie(e,t,n),Ae(o,t,n)})}function _e(e,t,n){const{dataIndex:o,key:l}=t;for(const a of e){var r;if(void 0!==o&&a.dataIndex===o||void 0!==l&&a.key===l)return a.width=n,!0;if((null===(r=a.children)||void 0===r?void 0:r.length)&&_e(a.children,t,n))return!0}return!1}function Pe(e,o){const l=I(N(e).columns),r=s(()=>{const t=j(N(l));if(function(e,t,o){const{showIndexColumn:l,indexColumnProps:r,isTreeTable:a}=N(e);let i=!1;if(N(a))return;if(o.forEach(()=>{const e=o.findIndex(e=>e.flag===Te);l?i=-1===e:l||-1===e||o.splice(e,1)}),!i)return;const u=o.some(e=>"left"===e.fixed);o.unshift({flag:Te,width:70,title:n("sys.component.table.index"),align:"center",customRender:({index:e})=>{const n=N(t);if(pe(n))return`${e+1}`;const{current:o=1,pageSize:l=20}=n;return((o<1?1:o)-1)*l+e+1},...u?{fixed:"left"}:{},...r})}(e,o,t),function(e,t){const{actionColumn:n}=N(e);if(!n)return;const o=t.findIndex(e=>e.flag===Be);-1===o&&t.push({...t[o],fixed:"right",...n,flag:Be})}(e,t),!t)return[];const{ellipsis:r,resizable:a=!0}=N(e);return t.forEach(e=>{const{customRender:t,slots:n}=e;Ie(e,Reflect.has(e,"ellipsis")?!!e.ellipsis:!!r&&!t&&!n,a)}),t}),a=s(()=>{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)}(N(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 j(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 pe(t)?t:!fe(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 F(()=>N(e).columns,e=>{l.value=e}),{getColumnsRef:r,getViewColumns:a,handleResizeColumn:function(e,t){t.width=e;const n=N(l);_e(n,t,e)&&(l.value=[...n])}}}function De({page:e,type:t,originalElement:n}){return"prev"===t?0===e?null:b(r):"next"===t?1===e?null:b(i):n}var Oe="undefined"!=typeof window&&"undefined"!=typeof document,ze=("undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope),Object.prototype.toString),Ne=()=>{};function $e(e){return Array.isArray(e)?e:[e]}function Ee(e){const t=Object.create(null);return n=>t[n]||(t[n]=e(n))}var Fe=/\B([A-Z])/g,He=(Ee(e=>e.replace(Fe,"-$1").toLowerCase()),/-(\w)/g);function Ke(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=Ne;const r=e=>{clearTimeout(e),l(),l=Ne};let a;return i=>{const u=z(e),s=z(t.maxWait);return n&&r(n),u<=0||void 0!==s&&s<=0?(o&&(r(o),o=void 0),Promise.resolve(i())):new Promise((e,c)=>{l=t.rejectOnCancel?c:e,a=i,s&&!o&&(o=setTimeout(()=>{n&&r(n),o=void 0,e(a())},s)),n=setTimeout(()=>{o&&r(o),o=void 0,e(i())},u)})}}(t,n),e)}Ee(e=>e.replace(He,(e,t)=>t?t.toUpperCase():""));var Le=Oe?window:void 0;function je(e,t,n,o,l,r,a,i){const u=I(215),c=Ke(f,100),d=s(()=>{const{canResize:t,scroll:n}=N(e);return t&&!(n||{}).y});function f(){C(()=>{y()})}F(()=>{var e;return[N(d),null===(e=N(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:s,useSearchForm:c}=N(e),f=N(l),y=N(r),h=N(t);if(!h)return;const v=h.$el;if(!v)return;if(!g&&(g=v.querySelector(".ant-table-body"),!g))return;const b=g.scrollHeight>g.clientHeight,w=g.scrollWidth>g.clientWidth;if(b?v.classList.contains("hide-scrollbar-y")&&v.classList.remove("hide-scrollbar-y"):v.classList.contains("hide-scrollbar-y")||v.classList.add("hide-scrollbar-y"),w?v.classList.contains("hide-scrollbar-x")&&v.classList.remove("hide-scrollbar-x"):v.classList.contains("hide-scrollbar-x")||v.classList.add("hide-scrollbar-x"),g.style.height="unset",!N(d)||!N(y)||0===y.length)return;await C();const S=v.querySelector(".ant-table-thead ");if(!S)return;let x=32,k=12;pe(f)?k=-8:(p=v.querySelector(".ant-pagination"),k+=p?p.offsetHeight||0:24);let T=0;pe(f)||(m?T+=m.offsetHeight||0:m=v.querySelector(".ant-table-footer"));let B=0;S&&(B=S.offsetHeight);let R=0;if(N(a)&&s){var I,A,_;const e=12,t=16;let n=10;const o=(null===(I=N(a))||void 0===I?void 0:I.offsetHeight)??0;let l=(null===(A=N(i))||void 0===A?void 0:A.$el.offsetHeight)??0;l&&(l+=t),pe(f)&&!f&&(n=0),pe(c)&&!c&&(x=0),R=o-l-((null===(_=v.querySelector(".ant-table-title"))||void 0===_?void 0:_.offsetHeight)??0)-e-n}else R=function(e){const t=document.documentElement,n=t.scrollLeft,o=t.scrollTop,l=t.clientLeft,r=t.clientTop,a=window.pageXOffset,i=window.pageYOffset,{left:u,top:s,width:c,height:d}=function(e){return e&&e.getBoundingClientRect?e.getBoundingClientRect():0}(e),f=u+a-((a||n)-(l||0)),p=s+i-((i||o)-(r||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 P=R-(n||0)-x-k-T-B;if(P=(P>o?o:P)??P,function(e){u.value=e}(P),f&&!pe(f)){const e=v.querySelector(".ant-table-body");e&&(e.style.height=`${P}px`)}}function h(){y(),C(()=>{c()})}(function(...e){const t=s(()=>{const t=$e(z(e[0])).filter(e=>null!=e);return t.every(e=>"string"!=typeof e)?t:void 0});return n=([e,t,n,o],l,r)=>{if(!(null==e?void 0:e.length)||!(null==t?void 0:t.length)||!(null==n?void 0:n.length))return;const a=(i=o,"[object Object]"===ze.call(i)?{...o}:o);var i;const u=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,a))));r(()=>{u.forEach(e=>e())})},o={flush:"post"},F(()=>{var n,o;return[null!==(n=null===(o=t.value)||void 0===o?void 0:o.map(e=>function(e){var t;const n=z(e);return null!==(t=null==n?void 0:n.$el)&&void 0!==t?t:n}(e)))&&void 0!==n?n:[Le].filter(e=>null!=e),$e(z(t.value?e[1]:e[0])),$e(N(t.value?e[2]:e[1])),z(t.value?e[3]:e[2])]},n,{...o,immediate:!0});var n,o})(window,"resize",Ke(y,280)),T(h),k(h);const v=s(()=>{var e;let l=0;N(o)&&(l+=60);const r=N(n).filter(e=>!e.defaultHidden);r.forEach(e=>{l+=Number.parseFloat(String(e.width))||0});const a=r.filter(e=>!Reflect.has(e,"width")).length;0!==a&&(l+=150*a);const i=N(t);return((null==i||null===(e=i.$el)||void 0===e?void 0:e.offsetWidth)??0)>l?void 0:l});return{getScrollRef:s(()=>{const t=N(u),{canResize:n,scroll:o}=N(e);return{x:N(v),y:n?t:null,scrollToFirstRowOnChange:!1,...o}}),redoHeight:f}}function Me(e,t,n,o){const{expandedRowKeys:l=[]}=N(e),r=I([...l]),a=s(()=>!!N(e).isTreeTable||N(n)),i=s(()=>N(e).autoCreateKey&&!N(e).rowKey),u=s(()=>{const{rowKey:t}=N(e);return N(i)?"key":t});function c(n){const o=[],{isTreeTable:l,childrenColumnName:r}=N(e),a=r||"children";return O(n||N(t)).forEach(e=>{if(o.push(String(e[N(u)])),l){const t=e[a];(null==t?void 0:t.length)&&o.push(...c(t))}}),o}return F(()=>N(e).expandedRowKeys,e=>{null!=e&&(r.value=[...e])}),F(r,e=>{N(a)&&o("expanded-rows-change",e)},{deep:!0}),{getExpandOption:s(()=>{if(!N(a))return{};const{isTreeTable:t,childrenColumnName:o}=N(e),l={};return!N(n)||t||o||(l.childrenColumnName="__NO_TREE_CHILDREN__"),l}),expandedRowKeys:r,expandAll:function(){r.value=c()},expandRows:function(e){N(a)&&(r.value=[...r.value,...e])},collapseAll:function(){r.value=[]}}}Oe&&window.document,Oe&&window.navigator,Oe&&window.location,Number.POSITIVE_INFINITY;var We="vben";function Ue(e){return{prefixCls:`${We}-${e}`,prefixVar:We}}var Ve=["headerCell","bodyCell"],qe=h({name:"BasicTable",components:{HeaderCell:Se,HolderOutlined:l},props:xe,emits:["change","register","expanded-rows-change","resizeColumn","row-drag-end"],setup(e,{attrs:t,emit:o,slots:l,expose:r}){const a=I(null),i=I(null),u=I(null),{prefixCls:c}=Ue("basic-table"),d=s(()=>({...e,...t})),{getPaginationInfo:f,setPagination:p,getPagination:m,getShowPagination:g,setShowPagination:y}=function(e){const t=I({}),o=I(!0);F(()=>N(e).pagination,e=>{!pe(e)&&e&&(t.value={...N(t),...e})},{deep:!0});const l=s(()=>{const{pagination:l}=N(e);return!(!N(o)||pe(l)&&!l)&&{current:1,pageSize:20,size:"small",defaultPageSize:20,showTotal:e=>n("sys.component.table.total",{total:e}),showSizeChanger:!0,pageSizeOptions:Re,itemRender:De,showQuickJumper:!0,...pe(l)?{}:l??{},...N(t)}});return{getPagination:function(){return N(l)},getPaginationInfo:l,setShowPagination:async function(e){o.value=e},getShowPagination:function(){return N(o)},setPagination:function(e){const n=N(l);t.value={...pe(n)?{}:n,...e}}}}(d),h=s(()=>N(f)),v=s(()=>N(d).rowSelection??null),b=s(()=>N(d).dataSource??[]),{getViewColumns:w,getColumnsRef:S,handleResizeColumn:x}=Pe(d,h),{getScrollRef:k,redoHeight:R}=je(d,a,S,v,h,b,i,u),A=s(()=>Object.keys(l).filter(e=>!Ve.includes(e))),{getExpandOption:_,expandedRowKeys:P,expandAll:D}=Me(d,b,s(()=>!!l.expandedRowRender||!!l.expandIcon),o),z=s(()=>{let e={...t,...N(d),scroll:N(k),tableLayout:"fixed",columns:O(N(w)),pagination:O(N(f)),rowSelection:N(v),dataSource:N(b),...N(_)};return e=M(e,[...ke,"class","onChange"]),e}),{showDragIcon:$,initRowDrag:E,destroyRowDrag:H}=function(e,t,n,o,l,r,a){let i=null;function u(e,t,n=[]){return e.reduce((e,o,l)=>{if(String(o.id)===t)return[...e,l];const r=o.children;if(null==r?void 0:r.length){let o=u(r,t,[...n,l]);return o.length===[...n,l].length&&(o=e),o}return e},n)}function s(e){const{rowKey:n}=N(t);return"function"==typeof n?n(e):n?e[n]:e.id??e.key}function c(){null==i||i.destroy(),i=null}return{showDragIcon:function(e,n){var l,a;const{rowDraggable:i}=N(t);if(!i)return!1;const u=Object.keys(r),s=N(o),c=null==s||null===(l=s[0])||void 0===l?void 0:l.dataIndex;return u.includes("expandIcon")&&"expandIcon"===e||!u.includes("expandIcon")&&"bodyCell"===e&&(null===(a=n.column)||void 0===a?void 0:a.dataIndex)===c},initRowDrag:function(){N(t).rowDraggable&&(c(),setTimeout(()=>{var o;const r=null===(o=N(e))||void 0===o?void 0:o.querySelector("tbody.ant-table-tbody");if(!r)return;let c,d,f,p=[],m=[],g=!1;i=W.create(r,{group:"basic-table-rows",animation:150,handle:".gct-handle",dataIdAttr:"data-row-key",filter:".unsortable",onStart({item:e}){var o;if(c=null==e||null===(o=e.dataset)||void 0===o?void 0:o.rowKey,N(t).isTreeTable&&c)if(m=[],p=j(N(l)),m=u(N(n).dataSource,c.toString()),m.length>1){var r;const e=N(n).dataSource,t=null===(r=e[m[0]])||void 0===r?void 0:r.children;f=2===m.length?e[m[0]]:null==t?void 0:t[m[1]];const o=null==f?void 0:f.children;l.value=N(l).filter(e=>!(null==o?void 0:o.map(e=>e.id).includes(e)))}else f=void 0,l.value=[]},onMove(e){var o,l;const{related:r,willInsertAfter:a}=e;if(N(t).isTreeTable){var i;if(!(null==r||null===(i=r.dataset)||void 0===i?void 0:i.rowKey))return!1;const e=u(N(n).dataSource,r.dataset.rowKey.toString()),t=e.length===m.length&&e.slice(0,-1).every((e,t)=>e===m[t]);return t&&(d=r.dataset.rowKey,g=!!a),t}return!(((null==r||null===(o=r.children)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.outerHTML)??"").indexOf("unsortable")>-1||((null==r||null===(l=r.dataset)||void 0===l?void 0:l.rowKey)&&(d=r.dataset.rowKey,g=!!a),0))},onEnd:async()=>{var e,o;const r=N(t).isTreeTable,u=N(n).dataSource;let m,y;if(r?(l.value=p,(null==f?void 0:f.children)?f.children.forEach(e=>{String(e.id)===d&&(m=e),String(e.id)===c&&(y=e)}):u.forEach(e=>{String(e.id)===d&&(m=e),String(e.id)===c&&(y=e)})):u.forEach(e=>{const t=s(e);String(t)===d&&(m=e),String(t)===c&&(y=e)}),!m||!y)return;const h=u.map(e=>e.id),v=null==i||null===(e=i.toArray())||void 0===e?void 0:e.filter(e=>h.includes(e)),b=r?{id:y.id,parentId:(null==f?void 0:f.id)||"ROOT",sortNum:g?m.sortNum:m.sortNum+1}:{id:s(y),targetSortNum:g?m.sortNum:m.sortNum+1,sortList:v},{rowDragApi:w}=N(t);w&&"function"==typeof w&&await w(b);const C=[];null==i||null===(o=i.toArray())||void 0===o||o.forEach(e=>{const t=u.find(t=>String(s(t))===String(e));t&&C.push(t)}),a("row-drag-end",{dragEndList:C,expandKeysList:N(l),dragItemKey:c,showMessage:!0})}})},0))},destroyRowDrag:c}}(i,d,z,w,P,l,o),K=s(()=>{const e=N(z);return[c,t.class,{[`${c}-form-container`]:e.useSearchForm,[`${c}--inset`]:e.inset}]}),L=s(()=>{const{emptyDataIsShowTable:t,useSearchForm:n,dataSource:o}=e;return!(!t&&n&&!(null==o?void 0:o.length))});return r({expandAll:D,redoHeight:R,setPagination:p,getPagination:m,getShowPagination:g,setShowPagination:y}),o("register",{expandAll:D}),T(()=>{R(),C(()=>{E()})}),B(()=>{H()}),{formRef:u,tableElRef:a,wrapRef:i,getBindValues:z,getWrapperClass:K,handleTableChange:function(...e){o("change",...e);const{onChange:t}=N(d);t&&"function"==typeof t&&t(...e)},handleResizeColumn:function(e,t){x(e,t),o("resizeColumn",e,t)},getEmptyDataIsShowTable:L,slotNames:A,emptyFull:e.emptyFull,redoHeight:R,expandedRowKeys:P,isTreeTable:e.isTreeTable,rowDraggable:e.rowDraggable,showDragIcon:$}}}),Ge={key:0,class:"pr26px"},Xe={key:1,class:"pr8px"},Ye={key:0},Je=/* @__PURE__ */Ce(qe,[["render",function(e,t,n,o,l,r){const a=P("holder-outlined"),i=P("HeaderCell"),s=P("a-table");return R(),f("div",{ref:"wrapRef",class:S(e.getWrapperClass)},[_(e.$slots,"beforeTable"),K(y(s,w({ref:"tableElRef"},e.getBindValues,{"expanded-row-keys":e.expandedRowKeys,"onUpdate:expandedRowKeys":t[0]||(t[0]=t=>e.expandedRowKeys=t),class:e.emptyFull?"empty-basic-table-wrapper":"",onChange:e.handleTableChange,onResizeColumn:e.handleResizeColumn}),m({headerCell:H(t=>[_(e.$slots,"headerCell",x(v(t||{})),()=>{var n,o;return[e.rowDraggable&&(null===(n=t.column)||void 0===n?void 0:n.dataIndex)===(null===(o=e.getBindValues.columns)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.dataIndex)?(R(),f(u,{key:0},[e.isTreeTable?(R(),f("span",Ge)):(R(),f("span",Xe)),y(i,{column:t.column},null,8,["column"])],64)):(R(),c(i,{key:1,column:t.column},null,8,["column"]))]})]),bodyCell:H(t=>{var n,o,l,r;return[e.showDragIcon("bodyCell",t)?(R(),f(u,{key:0},[p("span",{class:S(["gct-handle",(null===(n=t.record)||void 0===n?void 0:n.undragable)?"unsortable":""])},[(null===(o=t.record)||void 0===o?void 0:o.undragable)?d("",!0):(R(),c(a,{key:0,class:"handle-icon"}))],2),(null==t||null===(l=t.column)||void 0===l?void 0:l.dataIndex)&&(null==t||null===(r=t.record)||void 0===r?void 0:r[t.column.dataIndex])?(R(),f("span",Ye,D(t.record[t.column.dataIndex]),1)):_(e.$slots,"bodyCell",x(w({key:1},t||{})))],64)):_(e.$slots,"bodyCell",x(w({key:1},t||{})))]}),_:2},[A(e.slotNames,t=>({name:t,fn:H(n=>{var o,l;return[e.showDragIcon(t,n)?(R(),f(u,{key:0},[p("span",{class:S(["gct-handle",(null===(o=n.record)||void 0===o?void 0:o.undragable)?"unsortable":""])},[(null===(l=n.record)||void 0===l?void 0:l.undragable)?d("",!0):(R(),c(a,{key:0,class:"handle-icon"}))],2),_(e.$slots,t,x(v(n||{})))],64)):_(e.$slots,t,x(w({key:1},n||{})))]})}))]),1040,["expanded-row-keys","class","onChange","onResizeColumn"]),[[E,e.getEmptyDataIsShowTable]])],2)}]]),Qe={key:0},Ze={key:0},et=/* @__PURE__ */h({__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,l=o("basic-table-action"),r=t.has;function i(e){const t=e.ifShow;let n=!0;return pe(t)&&(n=t),fe(t)&&(n=t(e)),n}const p=s(()=>(O(n.actions)||[]).filter(e=>r(e.auth)&&i(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=s(()=>{const e=(O(n.dropDownActions)||[]).filter(e=>r(e.auth)&&i(e));return e.map((t,o)=>{const{label:l,popConfirm:r}=t;return{...t,...r,onConfirm:null==r?void 0:r.confirm,onCancel:null==r?void 0:r.cancel,text:l,divider:o<e.length-1&&n.divider}})}),g=s(()=>"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=P("a-button");return R(),f("div",{class:S([N(l).b(),g.value]),onClick:h},[(R(!0),f(u,null,A(p.value,(t,n)=>{return R(),f(u,{key:`${n}-${t.label}`},[t.tooltip?(R(),c(N(Y),w({key:0,placement:"bottom"},{ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,...de(o)?{title:o}:o})),{default:H(()=>[y(N(mt),w({ref_for:!0},t),{default:H(()=>[t.label?(R(),f("span",Qe,D(t.label),1)):d("",!0)]),_:2},1040)]),_:2},1040)):(R(),c(N(mt),w({key:1,ref_for:!0},t),{default:H(()=>[t.label?(R(),f("span",Ze,D(t.label),1)):d("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(R(),c(N(V),{key:2,type:"vertical",class:"action-divider"})):d("",!0)],64);var o}),128)),e.dropDownActions&&m.value.length>0?(R(),c(N(ht),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:H(()=>[_(t.$slots,"more"),t.$slots.more?d("",!0):(R(),c(o,{key:0,type:"link",size:"small"},{default:H(()=>[y(N(a),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):d("",!0)],2)}}}),tt={key:0},nt={key:0},ot=/* @__PURE__ */h({__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,l=o("basic-table-action"),r=t.has,i=s(()=>[...O(n.actions)||[]].filter(e=>r(e.auth)&&function(e){const t=e.ifShow??!0;return fe(t)?t(e):!!t}(e))),p=s(()=>{let e=[];return e=n.maxDispalyCount>=i.value.length?[...i.value]:i.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=s(()=>{let e=[];return n.maxDispalyCount>=i.value.length?[]:(e=i.value.slice(n.maxDispalyCount),e.map((t,o)=>{const{label:l,popConfirm:r}=t;return{...t,...r,onConfirm:null==r?void 0:r.confirm,onCancel:null==r?void 0:r.cancel,text:l,divider:o<e.length-1&&n.divider}}))}),g=s(()=>"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=P("a-button");return R(),f("div",{class:S([N(l).b(),g.value]),onClick:L(h,["stop"])},[(R(!0),f(u,null,A(p.value,(t,n)=>{return R(),f(u,{key:`${n}-${t.label}`},[t.tooltip?(R(),c(N(Y),w({key:0,ref_for:!0},(o=t.tooltip,{getPopupContainer:()=>document.body,placement:"bottom",...de(o)?{title:o}:o})),{default:H(()=>[y(N(mt),w({ref_for:!0},t),{default:H(()=>[t.label?(R(),f("span",tt,D(t.label),1)):d("",!0)]),_:2},1040)]),_:2},1040)):(R(),c(N(mt),w({key:1,ref_for:!0},t),{default:H(()=>[t.label?(R(),f("span",nt,D(t.label),1)):d("",!0)]),_:2},1040)),e.divider&&n<p.value.length-1?(R(),c(N(V),{key:2,type:"vertical",class:"action-divider"})):d("",!0)],64);var o}),128)),m.value.length>0?(R(),c(N(ht),{key:0,trigger:["hover"],"drop-menu-list":m.value,popconfirm:""},{default:H(()=>[_(t.$slots,"more"),t.$slots.more?d("",!0):(R(),c(o,{key:0,type:"link",size:"small"},{default:H(()=>[y(N(a),{class:"icon-more"})]),_:1}))]),_:3},8,["drop-menu-list"])):d("",!0)],2)}}});function lt(){const e=I(null);return[function(t,n){B(()=>{e.value=null}),e.value=t},{expandAll:()=>{(function(){const t=N(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 rt=["primary","error","warning","success",""],at={color:{type:String,validator:e=>rt.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}},it=/* @__PURE__ */h({name:"AButton",extends:U,inheritAttrs:!1,__name:"BasicButton",props:at,setup(e){const t=e,n=$(),o=s(()=>{const{color:e,disabled:n}=t;return[{[`ant-btn-${e}`]:!!e,"is-disabled":n}]}),l=s(()=>({...N(n),...t}));return(e,t)=>(R(),c(N(U),w(l.value,{class:o.value,onClick:e.onClick}),{default:H(t=>[_(e.$slots,"default",x(v(t||{})))]),_:3},16,["class","onClick"]))}}),ut=h({name:"PopButton",inheritAttrs:!1,props:{enable:{type:Boolean,default:!0}},setup(e,{slots:t}){const o=$(),l=s(()=>Object.assign({okText:n("sys.okText"),cancelText:n("sys.cancelText"),overlayStyle:{}},{...e,...N(o)}));return()=>{const n=M(N(l),"icon"),o=M(n,"title");o.disabled&&(o.color="");const r=b(it,o,t);return e.enable?b(X,n,{default:()=>r}):r}}}),st=ut,ct={class:"custom-btn-container"},dt={class:"btn-left-title"},ft=/* @__PURE__ */Ce(/* @__PURE__ */h({__name:"custom-button",props:{title:{}},emits:["btn-left-click","btn-right-click"],setup:e=>(t,n)=>(R(),f("div",ct,[p("div",{class:"btn-left",onClick:n[0]||(n[0]=L(e=>t.$emit("btn-left-click"),["stop"]))},[_(t.$slots,"left-icon",{},void 0,!0),p("div",dt,D(e.title),1)]),p("div",{class:"btn-right",onClick:n[1]||(n[1]=L(e=>t.$emit("btn-right-click"),["stop"]))},[_(t.$slots,"right-icon",{},void 0,!0)])]))}),[["__scopeId","data-v-305f4090"]]),pt=it,mt=st,gt={class:"ml-1"},yt={key:1,class:"ml-1"},ht=/* @__PURE__ */h({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=q,o=G,l=G.Item,r=G.Divider,a=X,i=e,s=t;function m(e){const t=M(e,["confirm","cancel","icon"]);return!e.onConfirm&&e.confirm&&fe(e.confirm)&&(t.onConfirm=e.confirm),!e.onCancel&&e.cancel&&fe(e.cancel)&&(t.onCancel=e.cancel),t}return(t,h)=>(R(),c(N(n),w({trigger:e.trigger},t.$attrs),{overlay:H(()=>[y(N(o),{"selected-keys":e.selectedKeys},{default:H(()=>[(R(!0),f(u,null,A(e.dropMenuList,t=>{return R(),f(u,{key:`${t.event}`},[y(N(l),w({class:t.class},{ref_for:!0},(n=t.event,{key:n}),{disabled:t.disabled,onClick:e=>function(e){var t;const{event:n}=e;s("menuEvent",i.dropMenuList.find(e=>`${e.event}`==`${n}`)),null===(t=e.onClick)||void 0===t||t.call(e)}(t)}),{default:H(()=>[e.popconfirm&&t.popConfirm?(R(),c(N(a),w({key:0,ref_for:!0},m(t.popConfirm)),{default:H(()=>[p("div",null,[p("span",gt,D(t.text),1)])]),_:2},1040)):(R(),f("span",yt,D(t.text),1))]),_:2},1040,["class","disabled","onClick"]),t.divider?(R(),c(N(r),{key:`d-${t.event}`})):d("",!0)],64);var n}),128))]),_:1},8,["selected-keys"])]),default:H(()=>[p("span",null,[_(t.$slots,"default")]),g(" "+D(e.dropMenuList)+" ",1)]),_:3},16,["trigger"]))}}),vt=/* @__PURE__ */Q({default:()=>bt}),bt={table:{index:"序号"}},wt=/* @__PURE__ */Q({default:()=>Ct}),Ct={okText:"确认",cancelText:"取消"},St=/* @__PURE__ */Object.assign({"./sys/component.ts":vt,"./sys.ts":wt});async function xt(e){_gct.i18nUtil.autoRegisterLocale(St)}function kt(){}var Tt=new URL("./index.min.css",import.meta.url);e.load(Tt.href);export{Je as BasicTable,pt as Button,ft as CustomButton,ht as Dropdown,mt as PopConfirmButton,et as TableAction,ot as TableActionAuto,ee as is,ge as isArray,pe as isBoolean,re as isDate,te as isDef,he as isElement,le as isEmpty,we as isEmptyStr,fe as isFunction,ve as isMap,ae as isNull,ie as isNullAndUnDef,ue as isNullOrUnDef,se as isNumber,oe as isObject,ce as isPromise,me as isRegExp,de as isString,ne as isUnDef,be as isUrl,ye as isWindow,kt as run,lt as useTable,xt as vBenSetupApp};
|
|
@@ -159,7 +159,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
159
159
|
default: boolean;
|
|
160
160
|
};
|
|
161
161
|
rowDragApi: {
|
|
162
|
-
type:
|
|
162
|
+
type: import('vue').PropType<Fn>;
|
|
163
163
|
default: null;
|
|
164
164
|
};
|
|
165
165
|
expandedRowKeys: {
|
|
@@ -182,7 +182,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
182
182
|
slotNames: import('vue').ComputedRef<string[]>;
|
|
183
183
|
emptyFull: boolean;
|
|
184
184
|
redoHeight: () => void;
|
|
185
|
-
|
|
185
|
+
expandedRowKeys: import('vue').Ref<string[], string[]>;
|
|
186
|
+
isTreeTable: boolean;
|
|
187
|
+
rowDraggable: boolean;
|
|
188
|
+
showDragIcon: (slotName: string, data: IObject) => boolean;
|
|
189
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("change" | "expanded-rows-change" | "register" | "resizeColumn" | "row-drag-end")[], "change" | "expanded-rows-change" | "register" | "resizeColumn" | "row-drag-end", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
186
190
|
clickToRowSelect: {
|
|
187
191
|
type: BooleanConstructor;
|
|
188
192
|
default: boolean;
|
|
@@ -342,7 +346,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
342
346
|
default: boolean;
|
|
343
347
|
};
|
|
344
348
|
rowDragApi: {
|
|
345
|
-
type:
|
|
349
|
+
type: import('vue').PropType<Fn>;
|
|
346
350
|
default: null;
|
|
347
351
|
};
|
|
348
352
|
expandedRowKeys: {
|
|
@@ -358,6 +362,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
358
362
|
"onExpanded-rows-change"?: ((...args: any[]) => any) | undefined;
|
|
359
363
|
onRegister?: ((...args: any[]) => any) | undefined;
|
|
360
364
|
onResizeColumn?: ((...args: any[]) => any) | undefined;
|
|
365
|
+
"onRow-drag-end"?: ((...args: any[]) => any) | undefined;
|
|
361
366
|
}>, {
|
|
362
367
|
clickToRowSelect: boolean;
|
|
363
368
|
isTreeTable: boolean;
|
|
@@ -403,7 +408,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
403
408
|
};
|
|
404
409
|
rowDraggable: boolean;
|
|
405
410
|
supportSameLevel: boolean;
|
|
406
|
-
rowDragApi:
|
|
411
|
+
rowDragApi: Fn<any, any>;
|
|
407
412
|
expandedRowKeys: string[];
|
|
408
413
|
emptyFull: boolean;
|
|
409
414
|
}, {}, {
|
|
@@ -422,5 +427,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
422
427
|
}>> & Readonly<{}>, {
|
|
423
428
|
column: BasicColumn;
|
|
424
429
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
430
|
+
HolderOutlined: import('@ant-design/icons-vue/lib/icons/HolderOutlined').HolderOutlinedIconType;
|
|
425
431
|
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
426
432
|
export default _default;
|
|
@@ -1,28 +1,50 @@
|
|
|
1
1
|
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
2
2
|
import BasicTable_vue_vue_type_script_lang_default from "./BasicTable.vue_vue_type_script_lang.mjs";
|
|
3
3
|
import './BasicTable.vue_vue_type_style_index_0_lang.css';/* empty css */
|
|
4
|
-
import { createElementBlock, createSlots, createVNode, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderList, renderSlot, resolveComponent, vShow, withCtx, withDirectives } from "vue";
|
|
4
|
+
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, guardReactiveProps, mergeProps, normalizeClass, normalizeProps, openBlock, renderList, renderSlot, resolveComponent, toDisplayString, vShow, withCtx, withDirectives } from "vue";
|
|
5
5
|
//#region src/components/v-ben-table/src/BasicTable.vue
|
|
6
|
+
var _hoisted_1 = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "pr26px"
|
|
9
|
+
};
|
|
10
|
+
var _hoisted_2 = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "pr8px"
|
|
13
|
+
};
|
|
14
|
+
var _hoisted_3 = { key: 0 };
|
|
6
15
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
16
|
+
const _component_holder_outlined = resolveComponent("holder-outlined");
|
|
7
17
|
const _component_HeaderCell = resolveComponent("HeaderCell");
|
|
8
18
|
const _component_a_table = resolveComponent("a-table");
|
|
9
19
|
return openBlock(), createElementBlock("div", {
|
|
10
20
|
ref: "wrapRef",
|
|
11
21
|
class: normalizeClass(_ctx.getWrapperClass)
|
|
12
22
|
}, [renderSlot(_ctx.$slots, "beforeTable"), withDirectives(createVNode(_component_a_table, mergeProps({ ref: "tableElRef" }, _ctx.getBindValues, {
|
|
23
|
+
"expanded-row-keys": _ctx.expandedRowKeys,
|
|
24
|
+
"onUpdate:expandedRowKeys": _cache[0] || (_cache[0] = ($event) => _ctx.expandedRowKeys = $event),
|
|
13
25
|
class: _ctx.emptyFull ? "empty-basic-table-wrapper" : "",
|
|
14
26
|
onChange: _ctx.handleTableChange,
|
|
15
27
|
onResizeColumn: _ctx.handleResizeColumn
|
|
16
28
|
}), createSlots({
|
|
17
|
-
headerCell: withCtx(({ column })
|
|
18
|
-
|
|
29
|
+
headerCell: withCtx((data) => [renderSlot(_ctx.$slots, "headerCell", normalizeProps(guardReactiveProps(data || {})), () => [_ctx.rowDraggable && data.column?.dataIndex === _ctx.getBindValues.columns?.[0]?.dataIndex ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_ctx.isTreeTable ? (openBlock(), createElementBlock("span", _hoisted_1)) : (openBlock(), createElementBlock("span", _hoisted_2)), createVNode(_component_HeaderCell, { column: data.column }, null, 8, ["column"])], 64)) : (openBlock(), createBlock(_component_HeaderCell, {
|
|
30
|
+
key: 1,
|
|
31
|
+
column: data.column
|
|
32
|
+
}, null, 8, ["column"]))])]),
|
|
33
|
+
bodyCell: withCtx((data) => [_ctx.showDragIcon("bodyCell", data) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("span", { class: normalizeClass(["gct-handle", data.record?.undragable ? "unsortable" : ""]) }, [!data.record?.undragable ? (openBlock(), createBlock(_component_holder_outlined, {
|
|
34
|
+
key: 0,
|
|
35
|
+
class: "handle-icon"
|
|
36
|
+
})) : createCommentVNode("", true)], 2), data?.column?.dataIndex && data?.record?.[data.column.dataIndex] ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(data.record[data.column.dataIndex]), 1)) : renderSlot(_ctx.$slots, "bodyCell", normalizeProps(mergeProps({ key: 1 }, data || {})))], 64)) : renderSlot(_ctx.$slots, "bodyCell", normalizeProps(mergeProps({ key: 1 }, data || {})))]),
|
|
19
37
|
_: 2
|
|
20
38
|
}, [renderList(_ctx.slotNames, (slotName) => {
|
|
21
39
|
return {
|
|
22
40
|
name: slotName,
|
|
23
|
-
fn: withCtx((data) => [
|
|
41
|
+
fn: withCtx((data) => [_ctx.showDragIcon(slotName, data) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("span", { class: normalizeClass(["gct-handle", data.record?.undragable ? "unsortable" : ""]) }, [!data.record?.undragable ? (openBlock(), createBlock(_component_holder_outlined, {
|
|
42
|
+
key: 0,
|
|
43
|
+
class: "handle-icon"
|
|
44
|
+
})) : createCommentVNode("", true)], 2), renderSlot(_ctx.$slots, slotName, normalizeProps(guardReactiveProps(data || {})))], 64)) : renderSlot(_ctx.$slots, slotName, normalizeProps(mergeProps({ key: 1 }, data || {})))])
|
|
24
45
|
};
|
|
25
46
|
})]), 1040, [
|
|
47
|
+
"expanded-row-keys",
|
|
26
48
|
"class",
|
|
27
49
|
"onChange",
|
|
28
50
|
"onResizeColumn"
|
|
@@ -4,20 +4,26 @@ import { useColumns } from "./hooks/useColumns.mjs";
|
|
|
4
4
|
import { usePagination } from "./hooks/usePagination.mjs";
|
|
5
5
|
import { useTableScroll } from "./hooks/useTableScroll.mjs";
|
|
6
6
|
import { useTableExpand } from "./hooks/useTableExpand.mjs";
|
|
7
|
+
import { useTableRowDrag } from "./hooks/useTableRowDrag.mjs";
|
|
7
8
|
import { useDesign } from "../../../hooks/useDesign.mjs";
|
|
8
|
-
import {
|
|
9
|
+
import { HolderOutlined } from "@ant-design/icons-vue";
|
|
10
|
+
import { computed, defineComponent, nextTick, onMounted, onUnmounted, ref, toRaw, unref } from "vue";
|
|
9
11
|
import { omit } from "lodash-es";
|
|
10
12
|
//#region src/components/v-ben-table/src/BasicTable.vue?vue&type=script&lang.ts
|
|
11
13
|
var RESERVED_SLOT_NAMES = ["headerCell", "bodyCell"];
|
|
12
14
|
var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
13
15
|
name: "BasicTable",
|
|
14
|
-
components: {
|
|
16
|
+
components: {
|
|
17
|
+
HeaderCell: HeaderCell_default,
|
|
18
|
+
HolderOutlined
|
|
19
|
+
},
|
|
15
20
|
props: basicProps,
|
|
16
21
|
emits: [
|
|
17
22
|
"change",
|
|
18
23
|
"register",
|
|
19
24
|
"expanded-rows-change",
|
|
20
|
-
"resizeColumn"
|
|
25
|
+
"resizeColumn",
|
|
26
|
+
"row-drag-end"
|
|
21
27
|
],
|
|
22
28
|
setup(props, { attrs, emit, slots, expose }) {
|
|
23
29
|
const tableElRef = ref(null);
|
|
@@ -40,7 +46,8 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
40
46
|
});
|
|
41
47
|
const { getViewColumns, getColumnsRef, handleResizeColumn } = useColumns(getProps, getPaginationRef);
|
|
42
48
|
const { getScrollRef, redoHeight } = useTableScroll(getProps, tableElRef, getColumnsRef, getRowSelectionRef, getPaginationRef, getDataSourceRef, wrapRef, formRef);
|
|
43
|
-
const
|
|
49
|
+
const slotNames = computed(() => Object.keys(slots).filter((name) => !RESERVED_SLOT_NAMES.includes(name)));
|
|
50
|
+
const { getExpandOption, expandedRowKeys, expandAll } = useTableExpand(getProps, getDataSourceRef, computed(() => !!slots.expandedRowRender || !!slots.expandIcon), emit);
|
|
44
51
|
const getBindValues = computed(() => {
|
|
45
52
|
let propsData = {
|
|
46
53
|
...attrs,
|
|
@@ -60,6 +67,7 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
60
67
|
]);
|
|
61
68
|
return propsData;
|
|
62
69
|
});
|
|
70
|
+
const { showDragIcon, initRowDrag, destroyRowDrag } = useTableRowDrag(wrapRef, getProps, getBindValues, getViewColumns, expandedRowKeys, slots, emit);
|
|
63
71
|
const getWrapperClass = computed(() => {
|
|
64
72
|
const values = unref(getBindValues);
|
|
65
73
|
return [
|
|
@@ -85,7 +93,6 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
85
93
|
if (emptyDataIsShowTable || !useSearchForm) return true;
|
|
86
94
|
return !!dataSource?.length;
|
|
87
95
|
});
|
|
88
|
-
const slotNames = computed(() => Object.keys(slots).filter((name) => !RESERVED_SLOT_NAMES.includes(name)));
|
|
89
96
|
expose({
|
|
90
97
|
expandAll,
|
|
91
98
|
redoHeight,
|
|
@@ -95,6 +102,15 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
95
102
|
setShowPagination
|
|
96
103
|
});
|
|
97
104
|
emit("register", { expandAll });
|
|
105
|
+
onMounted(() => {
|
|
106
|
+
redoHeight();
|
|
107
|
+
nextTick(() => {
|
|
108
|
+
initRowDrag();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
onUnmounted(() => {
|
|
112
|
+
destroyRowDrag();
|
|
113
|
+
});
|
|
98
114
|
return {
|
|
99
115
|
formRef,
|
|
100
116
|
tableElRef,
|
|
@@ -106,11 +122,12 @@ var BasicTable_vue_vue_type_script_lang_default = defineComponent({
|
|
|
106
122
|
getEmptyDataIsShowTable,
|
|
107
123
|
slotNames,
|
|
108
124
|
emptyFull: props.emptyFull,
|
|
109
|
-
redoHeight
|
|
125
|
+
redoHeight,
|
|
126
|
+
expandedRowKeys,
|
|
127
|
+
isTreeTable: props.isTreeTable,
|
|
128
|
+
rowDraggable: props.rowDraggable,
|
|
129
|
+
showDragIcon
|
|
110
130
|
};
|
|
111
|
-
},
|
|
112
|
-
mounted() {
|
|
113
|
-
this.redoHeight();
|
|
114
131
|
}
|
|
115
132
|
});
|
|
116
133
|
//#endregion
|
|
@@ -48,3 +48,27 @@
|
|
|
48
48
|
.ant-table-thead th {
|
|
49
49
|
background-color: #f5f5f5;
|
|
50
50
|
}
|
|
51
|
+
.ant-table-tbody > tr:hover:not(.ant-table-expanded-row) > td:has(.gct-handle) {
|
|
52
|
+
padding-left: 24px;
|
|
53
|
+
}
|
|
54
|
+
.ant-table-tbody > tr:hover:not(.ant-table-expanded-row) > td:has(.gct-handle) .gct-handle {
|
|
55
|
+
position: absolute;
|
|
56
|
+
left: 6px;
|
|
57
|
+
}
|
|
58
|
+
.ant-table-tbody > tr:hover:not(.ant-table-expanded-row) > td:has(.gct-handle) .gct-handle .handle-icon {
|
|
59
|
+
visibility: visible;
|
|
60
|
+
}
|
|
61
|
+
.ant-table .ant-table-tbody > tr > td:has(.gct-handle) {
|
|
62
|
+
padding-left: 24px !important;
|
|
63
|
+
}
|
|
64
|
+
.ant-table .ant-table-tbody > tr > td:has(.gct-handle) .gct-handle {
|
|
65
|
+
position: absolute;
|
|
66
|
+
left: 6px;
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
}
|
|
69
|
+
.ant-table .ant-table-tbody > tr > td:has(.gct-handle) .gct-handle .handle-icon {
|
|
70
|
+
visibility: hidden;
|
|
71
|
+
}
|
|
72
|
+
.ant-table .ant-table-tbody > tr > td:has(.gct-handle) .gct-handle:hover .handle-icon {
|
|
73
|
+
color: var(--ant-primary-color);
|
|
74
|
+
}
|
package/es/components/v-ben-table/src/components/TableAction.vue_vue_type_script_setup_true_lang.mjs
CHANGED
|
@@ -2,9 +2,9 @@ import { isBoolean, isFunction, isString } from "../../../../utils/is.mjs";
|
|
|
2
2
|
import { PopConfirmButton } from "../../../v-ben-button/index.mjs";
|
|
3
3
|
import { Dropdown as Dropdown$1 } from "../../../v-ben-dropdown/index.mjs";
|
|
4
4
|
import "../../../index.mjs";
|
|
5
|
+
import { MoreOutlined } from "@ant-design/icons-vue";
|
|
5
6
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, renderSlot, resolveComponent, toDisplayString, toRaw, unref, withCtx } from "vue";
|
|
6
7
|
import { permission, useNamespace } from "@gct-paas/core";
|
|
7
|
-
import { MoreOutlined } from "@ant-design/icons-vue";
|
|
8
8
|
import { Divider, Tooltip } from "ant-design-vue";
|
|
9
9
|
//#region src/components/v-ben-table/src/components/TableAction.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
var _hoisted_1 = { key: 0 };
|
|
@@ -2,9 +2,9 @@ import { isFunction, isString } from "../../../../utils/is.mjs";
|
|
|
2
2
|
import { PopConfirmButton } from "../../../v-ben-button/index.mjs";
|
|
3
3
|
import { Dropdown as Dropdown$1 } from "../../../v-ben-dropdown/index.mjs";
|
|
4
4
|
import "../../../index.mjs";
|
|
5
|
+
import { MoreOutlined } from "@ant-design/icons-vue";
|
|
5
6
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderList, renderSlot, resolveComponent, toDisplayString, toRaw, unref, withCtx, withModifiers } from "vue";
|
|
6
7
|
import { permission, useNamespace } from "@gct-paas/core";
|
|
7
|
-
import { MoreOutlined } from "@ant-design/icons-vue";
|
|
8
8
|
import { Divider, Tooltip } from "ant-design-vue";
|
|
9
9
|
//#region src/components/v-ben-table/src/components/TableActionAuto.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
var _hoisted_1 = { key: 0 };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isBoolean } from "../../../../utils/is.mjs";
|
|
2
2
|
import { PAGE_SIZE_OPTIONS } from "../const.mjs";
|
|
3
|
+
import { LeftOutlined, RightOutlined } from "@ant-design/icons-vue";
|
|
3
4
|
import { computed, h, ref, unref, watch } from "vue";
|
|
4
5
|
import { t } from "@gct-paas/core";
|
|
5
|
-
import { LeftOutlined, RightOutlined } from "@ant-design/icons-vue";
|
|
6
6
|
//#region src/components/v-ben-table/src/hooks/usePagination.ts
|
|
7
7
|
function itemRender({ page, type, originalElement }) {
|
|
8
8
|
if (type === "prev") return page === 0 ? null : h(LeftOutlined);
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { ComputedRef } from 'vue';
|
|
2
2
|
import { BasicTableProps } from '../types/table';
|
|
3
|
-
export declare function useTableExpand(propsRef: ComputedRef<BasicTableProps>, tableData: ComputedRef<Recordable[]>, emit: (event: 'expanded-rows-change', keys: string[]) => void): {
|
|
4
|
-
getExpandOption: ComputedRef<
|
|
5
|
-
|
|
6
|
-
onExpandedRowsChange?: undefined;
|
|
7
|
-
} | {
|
|
8
|
-
expandedRowKeys: string[];
|
|
9
|
-
onExpandedRowsChange: (keys: string[]) => void;
|
|
10
|
-
}>;
|
|
3
|
+
export declare function useTableExpand(propsRef: ComputedRef<BasicTableProps>, tableData: ComputedRef<Recordable[]>, hasExpandableSlot: ComputedRef<boolean>, emit: (event: 'expanded-rows-change', keys: string[]) => void): {
|
|
4
|
+
getExpandOption: ComputedRef<IObject>;
|
|
5
|
+
expandedRowKeys: import('vue').Ref<string[], string[]>;
|
|
11
6
|
expandAll: () => void;
|
|
12
7
|
expandRows: (keys: string[]) => void;
|
|
13
8
|
collapseAll: () => void;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { computed, ref, toRaw, unref } from "vue";
|
|
1
|
+
import { computed, ref, toRaw, unref, watch } from "vue";
|
|
2
2
|
//#region src/components/v-ben-table/src/hooks/useTableExpand.ts
|
|
3
|
-
|
|
3
|
+
var NO_TREE_CHILDREN_COLUMN = "__NO_TREE_CHILDREN__";
|
|
4
|
+
function useTableExpand(propsRef, tableData, hasExpandableSlot, emit) {
|
|
4
5
|
const { expandedRowKeys: propsExpandedRowKeys = [] } = unref(propsRef);
|
|
5
6
|
const expandedRowKeys = ref([...propsExpandedRowKeys]);
|
|
7
|
+
const shouldManageExpand = computed(() => {
|
|
8
|
+
return !!unref(propsRef).isTreeTable || unref(hasExpandableSlot);
|
|
9
|
+
});
|
|
6
10
|
const getAutoCreateKey = computed(() => {
|
|
7
11
|
return unref(propsRef).autoCreateKey && !unref(propsRef).rowKey;
|
|
8
12
|
});
|
|
@@ -10,33 +14,36 @@ function useTableExpand(propsRef, tableData, emit) {
|
|
|
10
14
|
const { rowKey } = unref(propsRef);
|
|
11
15
|
return unref(getAutoCreateKey) ? "key" : rowKey;
|
|
12
16
|
});
|
|
17
|
+
watch(() => unref(propsRef).expandedRowKeys, (val) => {
|
|
18
|
+
if (val !== void 0 && val !== null) expandedRowKeys.value = [...val];
|
|
19
|
+
});
|
|
20
|
+
watch(expandedRowKeys, (keys) => {
|
|
21
|
+
if (unref(shouldManageExpand)) emit("expanded-rows-change", keys);
|
|
22
|
+
}, { deep: true });
|
|
13
23
|
const getExpandOption = computed(() => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
expandedRowKeys.value = keys;
|
|
20
|
-
emit("expanded-rows-change", keys);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
24
|
+
if (!unref(shouldManageExpand)) return {};
|
|
25
|
+
const { isTreeTable, childrenColumnName } = unref(propsRef);
|
|
26
|
+
const options = {};
|
|
27
|
+
if (unref(hasExpandableSlot) && !isTreeTable && !childrenColumnName) options.childrenColumnName = NO_TREE_CHILDREN_COLUMN;
|
|
28
|
+
return options;
|
|
23
29
|
});
|
|
24
30
|
function expandAll() {
|
|
25
31
|
expandedRowKeys.value = getAllKeys();
|
|
26
32
|
}
|
|
27
33
|
function expandRows(keys) {
|
|
28
|
-
|
|
29
|
-
if (!isTreeTable) return;
|
|
34
|
+
if (!unref(shouldManageExpand)) return;
|
|
30
35
|
expandedRowKeys.value = [...expandedRowKeys.value, ...keys];
|
|
31
36
|
}
|
|
32
37
|
function getAllKeys(data) {
|
|
33
38
|
const keys = [];
|
|
34
|
-
const { childrenColumnName } = unref(propsRef);
|
|
39
|
+
const { isTreeTable, childrenColumnName } = unref(propsRef);
|
|
35
40
|
const childrenField = childrenColumnName || "children";
|
|
36
41
|
toRaw(data || unref(tableData)).forEach((item) => {
|
|
37
42
|
keys.push(String(item[unref(getRowKey)]));
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
if (isTreeTable) {
|
|
44
|
+
const children = item[childrenField];
|
|
45
|
+
if (children?.length) keys.push(...getAllKeys(children));
|
|
46
|
+
}
|
|
40
47
|
});
|
|
41
48
|
return keys;
|
|
42
49
|
}
|
|
@@ -45,6 +52,7 @@ function useTableExpand(propsRef, tableData, emit) {
|
|
|
45
52
|
}
|
|
46
53
|
return {
|
|
47
54
|
getExpandOption,
|
|
55
|
+
expandedRowKeys,
|
|
48
56
|
expandAll,
|
|
49
57
|
expandRows,
|
|
50
58
|
collapseAll
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BasicColumn, BasicTableProps, RowDragEndPayload } from '../types/table';
|
|
2
|
+
import { ComputedRef, Ref, Slots } from 'vue';
|
|
3
|
+
export declare function useTableRowDrag(wrapRef: Ref<HTMLElement | null>, getProps: ComputedRef<BasicTableProps>, getBindValues: ComputedRef<IObject>, getViewColumns: ComputedRef<BasicColumn[]>, expandedRowKeys: Ref<string[]>, slots: Slots, emit: (event: 'row-drag-end', payload: RowDragEndPayload) => void): {
|
|
4
|
+
showDragIcon: (slotName: string, data: IObject) => boolean;
|
|
5
|
+
initRowDrag: () => void;
|
|
6
|
+
destroyRowDrag: () => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { unref } from "vue";
|
|
2
|
+
import { cloneDeep } from "lodash-es";
|
|
3
|
+
import SortableJs from "sortablejs";
|
|
4
|
+
//#region src/components/v-ben-table/src/hooks/useTableRowDrag.ts
|
|
5
|
+
function useTableRowDrag(wrapRef, getProps, getBindValues, getViewColumns, expandedRowKeys, slots, emit) {
|
|
6
|
+
let sortableEl = null;
|
|
7
|
+
function getTargetIndex(list, id, arr = []) {
|
|
8
|
+
return list.reduce((total, item, index) => {
|
|
9
|
+
if (String(item.id) === id) return [...total, index];
|
|
10
|
+
const children = item.children;
|
|
11
|
+
if (children?.length) {
|
|
12
|
+
let childArr = getTargetIndex(children, id, [...arr, index]);
|
|
13
|
+
if (childArr.length === [...arr, index].length) childArr = total;
|
|
14
|
+
return childArr;
|
|
15
|
+
}
|
|
16
|
+
return total;
|
|
17
|
+
}, arr);
|
|
18
|
+
}
|
|
19
|
+
function getRecordKey(record) {
|
|
20
|
+
const { rowKey } = unref(getProps);
|
|
21
|
+
if (typeof rowKey === "function") return rowKey(record);
|
|
22
|
+
if (rowKey) return record[rowKey];
|
|
23
|
+
return record.id ?? record.key;
|
|
24
|
+
}
|
|
25
|
+
function showDragIcon(slotName, data) {
|
|
26
|
+
const { rowDraggable } = unref(getProps);
|
|
27
|
+
if (!rowDraggable) return false;
|
|
28
|
+
const slotKeys = Object.keys(slots);
|
|
29
|
+
const firstDataIndex = unref(getViewColumns)?.[0]?.dataIndex;
|
|
30
|
+
return slotKeys.includes("expandIcon") && slotName === "expandIcon" || !slotKeys.includes("expandIcon") && slotName === "bodyCell" && data.column?.dataIndex === firstDataIndex;
|
|
31
|
+
}
|
|
32
|
+
function destroyRowDrag() {
|
|
33
|
+
sortableEl?.destroy();
|
|
34
|
+
sortableEl = null;
|
|
35
|
+
}
|
|
36
|
+
function initRowDrag() {
|
|
37
|
+
if (!unref(getProps).rowDraggable) return;
|
|
38
|
+
destroyRowDrag();
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
const tbody = unref(wrapRef)?.querySelector("tbody.ant-table-tbody");
|
|
41
|
+
if (!tbody) return;
|
|
42
|
+
let savedExpandKeysList = [];
|
|
43
|
+
let targetRowKey;
|
|
44
|
+
let relatedRowKey;
|
|
45
|
+
let dragIndexArr = [];
|
|
46
|
+
let isInsertAfter = false;
|
|
47
|
+
let parentMenu;
|
|
48
|
+
sortableEl = SortableJs.create(tbody, {
|
|
49
|
+
group: "basic-table-rows",
|
|
50
|
+
animation: 150,
|
|
51
|
+
handle: ".gct-handle",
|
|
52
|
+
dataIdAttr: "data-row-key",
|
|
53
|
+
filter: ".unsortable",
|
|
54
|
+
onStart({ item }) {
|
|
55
|
+
targetRowKey = item?.dataset?.rowKey;
|
|
56
|
+
if (!unref(getProps).isTreeTable || !targetRowKey) return;
|
|
57
|
+
dragIndexArr = [];
|
|
58
|
+
savedExpandKeysList = cloneDeep(unref(expandedRowKeys));
|
|
59
|
+
dragIndexArr = getTargetIndex(unref(getBindValues).dataSource, targetRowKey.toString());
|
|
60
|
+
if (dragIndexArr.length > 1) {
|
|
61
|
+
const dataSource = unref(getBindValues).dataSource;
|
|
62
|
+
const parentChildren = dataSource[dragIndexArr[0]]?.children;
|
|
63
|
+
parentMenu = dragIndexArr.length === 2 ? dataSource[dragIndexArr[0]] : parentChildren?.[dragIndexArr[1]];
|
|
64
|
+
const siblingChildren = parentMenu?.children;
|
|
65
|
+
expandedRowKeys.value = unref(expandedRowKeys).filter((key) => {
|
|
66
|
+
return !siblingChildren?.map((n) => n.id).includes(key);
|
|
67
|
+
});
|
|
68
|
+
} else {
|
|
69
|
+
parentMenu = void 0;
|
|
70
|
+
expandedRowKeys.value = [];
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
onMove(evt) {
|
|
74
|
+
const { related, willInsertAfter } = evt;
|
|
75
|
+
if (unref(getProps).isTreeTable) {
|
|
76
|
+
if (!related?.dataset?.rowKey) return false;
|
|
77
|
+
const relatedIndexArr = getTargetIndex(unref(getBindValues).dataSource, related.dataset.rowKey.toString());
|
|
78
|
+
const canMove = relatedIndexArr.length === dragIndexArr.length && relatedIndexArr.slice(0, -1).every((item, index) => item === dragIndexArr[index]);
|
|
79
|
+
if (canMove) {
|
|
80
|
+
relatedRowKey = related.dataset.rowKey;
|
|
81
|
+
isInsertAfter = !!willInsertAfter;
|
|
82
|
+
}
|
|
83
|
+
return canMove;
|
|
84
|
+
}
|
|
85
|
+
if ((related?.children?.[0]?.outerHTML ?? "").indexOf("unsortable") > -1) return false;
|
|
86
|
+
if (related?.dataset?.rowKey) {
|
|
87
|
+
relatedRowKey = related.dataset.rowKey;
|
|
88
|
+
isInsertAfter = !!willInsertAfter;
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
},
|
|
92
|
+
onEnd: async () => {
|
|
93
|
+
const isTreeTable = unref(getProps).isTreeTable;
|
|
94
|
+
const dataSource = unref(getBindValues).dataSource;
|
|
95
|
+
let relatedItem;
|
|
96
|
+
let targetItem;
|
|
97
|
+
if (isTreeTable) {
|
|
98
|
+
expandedRowKeys.value = savedExpandKeysList;
|
|
99
|
+
if (parentMenu?.children) parentMenu.children.forEach((item) => {
|
|
100
|
+
if (String(item.id) === relatedRowKey) relatedItem = item;
|
|
101
|
+
if (String(item.id) === targetRowKey) targetItem = item;
|
|
102
|
+
});
|
|
103
|
+
else dataSource.forEach((item) => {
|
|
104
|
+
if (String(item.id) === relatedRowKey) relatedItem = item;
|
|
105
|
+
if (String(item.id) === targetRowKey) targetItem = item;
|
|
106
|
+
});
|
|
107
|
+
} else dataSource.forEach((item) => {
|
|
108
|
+
const id = getRecordKey(item);
|
|
109
|
+
if (String(id) === relatedRowKey) relatedItem = item;
|
|
110
|
+
if (String(id) === targetRowKey) targetItem = item;
|
|
111
|
+
});
|
|
112
|
+
if (!relatedItem || !targetItem) return;
|
|
113
|
+
const ids = dataSource.map((item) => item.id);
|
|
114
|
+
const tempList = sortableEl?.toArray()?.filter((i) => ids.includes(i));
|
|
115
|
+
const reqParams = isTreeTable ? {
|
|
116
|
+
id: targetItem.id,
|
|
117
|
+
parentId: parentMenu?.id || "ROOT",
|
|
118
|
+
sortNum: isInsertAfter ? relatedItem.sortNum : relatedItem.sortNum + 1
|
|
119
|
+
} : {
|
|
120
|
+
id: getRecordKey(targetItem),
|
|
121
|
+
targetSortNum: isInsertAfter ? relatedItem.sortNum : relatedItem.sortNum + 1,
|
|
122
|
+
sortList: tempList
|
|
123
|
+
};
|
|
124
|
+
const { rowDragApi } = unref(getProps);
|
|
125
|
+
if (rowDragApi && typeof rowDragApi === "function") await rowDragApi(reqParams);
|
|
126
|
+
const dragEndList = [];
|
|
127
|
+
sortableEl?.toArray()?.forEach((key) => {
|
|
128
|
+
const dataItem = dataSource.find((item) => String(getRecordKey(item)) === String(key));
|
|
129
|
+
if (dataItem) dragEndList.push(dataItem);
|
|
130
|
+
});
|
|
131
|
+
emit("row-drag-end", {
|
|
132
|
+
dragEndList,
|
|
133
|
+
expandKeysList: unref(expandedRowKeys),
|
|
134
|
+
dragItemKey: targetRowKey,
|
|
135
|
+
showMessage: true
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}, 0);
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
showDragIcon,
|
|
143
|
+
initRowDrag,
|
|
144
|
+
destroyRowDrag
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//#endregion
|
|
148
|
+
export { useTableRowDrag };
|
|
@@ -171,7 +171,7 @@ export declare const basicProps: {
|
|
|
171
171
|
* 拖拽完成自动请求的api
|
|
172
172
|
*/
|
|
173
173
|
rowDragApi: {
|
|
174
|
-
type:
|
|
174
|
+
type: PropType<Fn>;
|
|
175
175
|
default: null;
|
|
176
176
|
};
|
|
177
177
|
/**
|
|
@@ -190,4 +190,4 @@ export declare const basicProps: {
|
|
|
190
190
|
};
|
|
191
191
|
};
|
|
192
192
|
/** BasicTable 自有配置,不传给 ant-design-vue Table */
|
|
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"];
|
|
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", "expandedRowKeys"];
|
|
@@ -40,6 +40,12 @@ export interface TableCustomRecord<T = Recordable> {
|
|
|
40
40
|
record?: T;
|
|
41
41
|
index?: number;
|
|
42
42
|
}
|
|
43
|
+
export interface RowDragEndPayload {
|
|
44
|
+
dragEndList: Recordable[];
|
|
45
|
+
expandKeysList: string[];
|
|
46
|
+
dragItemKey?: string;
|
|
47
|
+
showMessage?: boolean;
|
|
48
|
+
}
|
|
43
49
|
export interface SorterResult {
|
|
44
50
|
column: ColumnProps;
|
|
45
51
|
order: SortOrder;
|
|
@@ -292,6 +298,12 @@ export interface BasicTableProps<T = unknown> {
|
|
|
292
298
|
key: string | number;
|
|
293
299
|
value: unknown;
|
|
294
300
|
}) => Promise<IObject>;
|
|
301
|
+
/** 行拖拽 */
|
|
302
|
+
rowDraggable?: boolean;
|
|
303
|
+
/** 仅支持同层级拖拽 */
|
|
304
|
+
supportSameLevel?: boolean;
|
|
305
|
+
/** 拖拽完成自动请求的 api */
|
|
306
|
+
rowDragApi?: Fn | null;
|
|
295
307
|
/**
|
|
296
308
|
* Callback executed when pagination, filters or sorter is changed
|
|
297
309
|
* @param pagination
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
declare module 'sortablejs' {
|
|
2
|
+
interface SortableEvent {
|
|
3
|
+
item: HTMLElement;
|
|
4
|
+
related?: HTMLElement;
|
|
5
|
+
willInsertAfter?: boolean;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface SortableOptions {
|
|
9
|
+
group?: string;
|
|
10
|
+
animation?: number;
|
|
11
|
+
handle?: string;
|
|
12
|
+
dataIdAttr?: string;
|
|
13
|
+
filter?: string;
|
|
14
|
+
onStart?: (evt: SortableEvent) => void;
|
|
15
|
+
onMove?: (evt: SortableEvent) => boolean;
|
|
16
|
+
onEnd?: () => void | Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default class Sortable {
|
|
20
|
+
static create(el: HTMLElement, options?: SortableOptions): Sortable;
|
|
21
|
+
destroy(): void;
|
|
22
|
+
toArray(): string[];
|
|
23
|
+
}
|
|
24
|
+
}
|
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.26",
|
|
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.26",
|
|
45
|
+
"@gct-paas/scss": "0.1.6-dev.26"
|
|
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.26",
|
|
51
|
+
"@gct-paas/scss": "0.1.6-dev.26"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",
|