fast-element-plus 1.0.10 → 1.0.11

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.
Files changed (33) hide show
  1. package/dist/index.full.js +21 -14
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +1 -1
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +1 -1
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +21 -14
  8. package/dist/index.full.mjs.map +1 -1
  9. package/es/components/table/src/table.mjs +1 -1
  10. package/es/components/table/src/table.mjs.map +1 -1
  11. package/es/components/table/src/tableColumn.mjs +1 -1
  12. package/es/components/table/src/tableColumn.mjs.map +1 -1
  13. package/es/components/table/utils/table.mjs +1 -1
  14. package/es/components/table/utils/table.mjs.map +1 -1
  15. package/es/components/treeSelect/src/treeSelect.d.ts +48 -48
  16. package/es/components/treeSelect/src/treeSelect.mjs +1 -1
  17. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  18. package/es/version.d.ts +1 -1
  19. package/es/version.mjs +1 -1
  20. package/es/version.mjs.map +1 -1
  21. package/lib/components/table/src/table.js +1 -1
  22. package/lib/components/table/src/table.js.map +1 -1
  23. package/lib/components/table/src/tableColumn.js +1 -1
  24. package/lib/components/table/src/tableColumn.js.map +1 -1
  25. package/lib/components/table/utils/table.js +1 -1
  26. package/lib/components/table/utils/table.js.map +1 -1
  27. package/lib/components/treeSelect/src/treeSelect.d.ts +48 -48
  28. package/lib/components/treeSelect/src/treeSelect.js +1 -1
  29. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  30. package/lib/version.d.ts +1 -1
  31. package/lib/version.js +1 -1
  32. package/lib/version.js.map +1 -1
  33. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("element-plus"),a=require("@element-plus/icons-vue"),l=require("@fast-element-plus/icons-vue"),o=require("@fast-china/utils"),n=require("lodash-unified"),i=require("./table.type.js"),r=require("./tableColumn.js"),c=require("./tableColumnSettingDialog.js"),s=require("./tablePagination.js"),d=require("./tableSearchForm.js"),u=require("./useTable.js");const m={data:{type:Array,default:()=>[]},size:t.useSizeProp,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object],scrollbarTabindex:{type:[Number,String],default:void 0}},p={...m,border:{type:Boolean,default:!0},highlightCurrentRow:{type:Boolean,default:!0},rowKey:{type:[String,Function],default:"id"},spanMethod:{type:Function,validator:()=>(o.consoleWarn("FaTable","'spanMethod' 属性,组件已经封装,外部使用会失效。"),!1)},tableKey:{type:String,default:()=>o.stringUtil.generateRandomString(8)},data:{type:o.definePropType(Array),default:()=>[]},requestApi:{type:o.definePropType(Function)},dataCallback:{type:o.definePropType(Function)},initParam:o.definePropType([String,Number,Object]),columns:{type:o.definePropType([Array,Boolean]),default:()=>!1},columnsChange:{type:o.definePropType(Function)},searchFormCols:{type:o.definePropType([String,Number,Object]),default:()=>({xs:3,sm:3,md:4,lg:5,xl:6})},collapsedSearch:{type:Boolean,default:!0},advancedSearchDrawer:{type:Boolean,default:!1},searchForm:{type:Boolean,default:!0},headerCard:{type:Boolean,default:!0},refreshBtn:{type:Boolean,default:!0},searchBtn:{type:Boolean,default:!0},columnSettingBtn:{type:Boolean,default:!1},toolBtn:{type:Boolean,default:!0},hideSearchTime:Boolean,dataSearchRange:{type:o.definePropType(String),default:"Past3D"},pagination:{type:Boolean,default:!0},hideImage:Boolean,single:Boolean,rowClickSelection:Boolean,treeData:Boolean,props:{type:o.definePropType(Object),default:()=>({span:void 0,children:"children"})},autoRefresh:{type:Boolean,default:!0},rowSelectable:Function},h={select:(e,t)=>n.isArray(e)&&n.isObject(t),selectAll:e=>n.isArray(e),selectionChange:e=>n.isArray(e),cellMouseEnter:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellMouseLeave:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellClick:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellDblclick:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellContextmenu:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,rowClick:(e,t,a)=>n.isObject(e)&&n.isObject(t)&&a instanceof Event,rowContextmenu:(e,t,a)=>n.isObject(e)&&n.isObject(t)&&a instanceof Event,rowDblclick:(e,t,a)=>n.isObject(e)&&n.isObject(t)&&a instanceof Event,headerClick:(e,t)=>n.isObject(e)&&t instanceof Event,headerContextmenu:(e,t)=>n.isObject(e)&&t instanceof Event,sortChange:e=>n.isObject(e),filterChange:e=>n.isString(e)||n.isNumber(e)||n.isBoolean(e)||n.isObject(e),currentChange:(e,t)=>n.isObject(e)&&(n.isNull(t)||n.isObject(t)),headerDragend:(e,t,a,l)=>n.isNumber(e)&&n.isNumber(t)&&n.isObject(a)&&l instanceof MouseEvent,expandChange:(e,t)=>n.isObject(e)&&(n.isBoolean(t)||n.isArray(t)),refresh:e=>n.isObject(e),reset:e=>n.isObject(e),sizeChange:e=>n.isNumber(e),paginationChange:(e,t)=>n.isNumber(e)&&n.isNumber(t),customCellClick:(e,{row:t,column:a,$index:l})=>(n.isNil(e)||n.isString(e))&&n.isObject(t)&&n.isObject(a)&&n.isNumber(l)},g=e.defineComponent({name:"FaTable",props:p,emits:h,slots:o.makeSlots(),setup(p,{attrs:h,slots:g,emit:b,expose:f}){const{_globalSize:C,state:S,elementRef:w,tableRef:y,handleTableColumnAutoWidth:_,loadTableColumns:v,handleSizeChange:N,handlePaginationChange:x,defaultSearchTime:P,tableSearch:O,tableReset:T,doRender:V,doLoading:E,handleCustomCellClick:j}=u.useTable(p,g,b),I=e.ref();let F=0;const B=e=>{if(0===e&&(F=0),S.spanColumns?.length>0){return 0===Number(S.tableSpanData["__table-index"][e])?F+(S.tablePagination.pageIndex-1)*S.tablePagination.pageSize+1:(F++,F+(S.tablePagination.pageIndex-1)*S.tablePagination.pageSize)}return e+(S.tablePagination.pageIndex-1)*S.tablePagination.pageSize+1},D=(e,t)=>{p.single&&(y.value.clearSelection(),e.length>0&&t&&y.value.toggleRowSelection(t)),b("select",e,t)},L=e=>{p.single&&(S.selected?S.tableData.length>0&&(y.value.clearSelection(),y.value.toggleRowSelection(S.tableData[0])):y.value.clearSelection()),b("selectAll",e)},R=e=>{0===e.length?S.selected=!1:S.selected=!0,p.single&&e.length>0?S.selectedList=[e[e.length-1]]:S.selectedList=e,S.indeterminateSelectedListIds=S.indeterminateSelectedListIds.filter(e=>S.selectedListIds.some(t=>t===e)),b("selectionChange",S.selectedList)},k=({column:e,prop:t,order:a})=>{e.multiOrder?"descending"===e.multiOrder?e.multiOrder="ascending":e.multiOrder=null:e.multiOrder="descending",S.searchParam.sortList=[...new Set([...p.initParam?.sortList??[],...S.searchParam?.sortList??[]])];const l=S.orgColumns.find(e=>e.prop===t),o=l?.sortableField??l?.prop??e.property,n=S.searchParam.sortList.findIndex(e=>e.enField===o);e.multiOrder?-1===n?S.searchParam.sortList.push({enField:o,cnField:e.label,mode:e.multiOrder}):S.searchParam.sortList[n].mode=e.multiOrder:S.searchParam.sortList.splice(n,1),0===S.searchParam.sortList.length&&delete S.searchParam.sortList,b("sortChange",{column:e,prop:t,order:e.multiOrder}),O()},M=(e,t)=>{e&&(p.rowClickSelection&&(p.single&&t&&y.value.toggleRowSelection(t),y.value.toggleRowSelection(e)),b("currentChange",e,t))},A=({row:e,column:t,rowIndex:a,columnIndex:l})=>{let o=null;if("selection"===t.type){const t=n.isFunction(p.rowKey)?p.rowKey(e):e[p.rowKey];S.indeterminateSelectedListIds.some(e=>e===t)&&(o="fa-table__selection-column__indeterminate")}const i=S.tableColumns.find(e=>e.prop===t.property);if(i?.dataDeleteField&&e&&!0===e[i.dataDeleteField]&&(o?o+=" fa-table__data-delete-column":o="fa-table__data-delete-column"),p.cellClassName){let i=null;return i=n.isString(p.cellClassName)?p.cellClassName:p.cellClassName({row:e,column:t,rowIndex:a,columnIndex:l}),i?o?`${o} ${i}`:i:o}return o},z=({row:e,column:t,rowIndex:a,columnIndex:l})=>(t.order=t.multiOrder,p.headerCellClassName?n.isFunction(p.headerCellClassName)?p.headerCellClassName({row:e,column:t,rowIndex:a,columnIndex:l}):p.headerCellClassName:null),K=({row:e,column:t,rowIndex:a,columnIndex:l})=>{const o=t.property??t.columnKey;if(-1!==S.spanColumns.findIndex(e=>e.prop===o)){const e=Number(S.tableSpanData[o][a]);return e>0?{rowspan:e,colspan:1}:{rowspan:0,colspan:0}}return{rowspan:1,colspan:1}},H=async(e,t,a,l)=>{S.orgColumns.forEach(t=>{a.property===t.prop&&(t.width=e,t.smallWidth=e)}),b("headerDragend",e,t,a,l),p.columnsChange&&await o.clickUtil.debounceAsync(()=>p.columnsChange(S.orgColumns),500)},q=e=>{S.previewList=[e],S.imagePreview=!0};e.onMounted(async()=>{S.initParam=p.initParam,P(),Object.keys(p.initParam??{}).forEach(e=>{S.searchParam[e]=p.initParam[e]}),await O(),e.watch(()=>p.columns,async()=>{v()},{deep:!0,immediate:!0}),e.watch(()=>p.initParam,()=>{Object.keys(p.initParam??{}).forEach(e=>{S.searchParam[e]=p.initParam[e]})},{deep:!0}),e.watch(()=>p.data,async()=>{!p.requestApi&&p.autoRefresh&&await O()},{deep:!0,immediate:!0}),e.watchEffect(async()=>{const e=w.value;if(e){const t=new ResizeObserver(e=>{for(const t of e){const{width:e,height:a}=t.contentRect;S.tableWidth=e,S.tableHeight=a}o.clickUtil.debounceAsync(async()=>{await _()},100)});return t.observe(e),()=>{t.disconnect()}}})}),e.onActivated(async()=>{await _()});const $=e.computed(()=>S.searchColumns.filter(e=>e.search.slot).map(e=>e.search.slot)),U=e.computed(()=>S.tableColumns.filter(e=>e.slot).map(e=>e.slot)),W=["multiOrder","columnId","order","sortableField","disabledSortable","spanProp","pureSearch","search"],Y=o.useProps(p,m,["data","spanMethod","headerCellClassName","cellClassName"]);return o.useRender(()=>e.createVNode("div",{ref:w,class:["fa-table",`fa-table-${C.value}`,`fa-table__${p.tableKey??"notFound"}`,{fa__click__disabled:S.loading}],style:{"--fa-table-width":""+(S.tableWidth?`${S.tableWidth}px`:""),"--fa-table-height":""+(S.tableHeight?`${S.tableHeight}px`:"")}},[e.createVNode(d.default,{show:p.searchForm&&S.searchForm,collapsedSearch:p.collapsedSearch,advancedSearchDrawer:p.advancedSearchDrawer,cols:p.searchFormCols,search:O,reset:T},n.pick(g,$.value)),g.topHeader&&e.createVNode("div",{class:"el-card fa-table__header"},[g.topHeader({search:O,...i.getTableDefaultSlots(S)})]),e.createVNode("div",{class:"el-card fa-table__main"},[p.headerCard&&e.createVNode("div",{class:"fa-table__main-header"},[e.createVNode("div",{class:"fa-table__main-header-left"},[g.header&&g.header({search:O,...i.getTableDefaultSlots(S)})]),e.createVNode("div",{class:"fa-table__main-header-right"},[p.toolBtn&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fa-table__main-header-right__div-search"},[e.createVNode(t.ElInput,{class:"fa-table__main-header-right__input-search",disabled:S.loading,prefixIcon:a.Search,placeholder:"关键字搜索",modelValue:S.searchParam.searchValue,modelModifiers:{trim:!0},"onUpdate:modelValue":e=>S.searchParam.searchValue=e,clearable:!0,onCompositionupdate:e=>{S.searchValueUpdate=e.data},onCompositionend:e=>{S.searchValueUpdate=""},onChange:()=>O()},null),e.createVNode("div",{class:"fa-table__main-header-right__div-search__hidden"},[S.searchParam.searchValue,S.searchValueUpdate])]),p.requestApi&&!p.hideSearchTime&&e.createVNode(t.ElDatePicker,{class:"fa-table__main-header-right__data-search",popperClass:"fa-table__main-header-right__data-search__popper",disabled:S.loading,type:"daterange",modelValue:S.searchParam.searchTimeList,"onUpdate:modelValue":e=>S.searchParam.searchTimeList=e,defaultTime:o.dateUtil.getDefaultTime(),shortcuts:o.dateUtil.getShortcuts(),valueFormat:"YYYY-MM-DD HH:mm:ss",disabledDate:o.dateUtil.getDisabledDate,clearable:!1,teleported:!1,unlinkPanels:!0,onChange:()=>O()},null),p.refreshBtn&&e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,title:"刷新",circle:!0,icon:a.Refresh,onClick:()=>O()},null),p.searchBtn&&S.searchColumns.length>0&&e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,title:S.searchForm?"隐藏搜索栏":"显示搜索栏",circle:!0,icon:a.Search,onClick:()=>S.searchForm=!S.searchForm},null),p.columnSettingBtn&&p.columns&&e.createVNode(t.ElDropdown,{title:"表格列配置",trigger:"click"},{default:()=>e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,circle:!0,icon:a.Setting},null),dropdown:()=>e.createVNode(t.ElDropdownMenu,null,{default:()=>[g.columnSetting&&g.columnSetting(),e.createVNode(t.ElDropdownItem,{title:"表格列配置",divided:!0,onClick:()=>I.value.open()},{default:()=>[e.createTextVNode("表格列配置")]})]})}),g.toolButton&&g.toolButton({search:O,...i.getTableDefaultSlots(S)}),g.toolButtonAdv&&e.createVNode(t.ElDropdown,{title:"高级操作",trigger:"click"},{default:()=>e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,circle:!0,icon:a.More},null),dropdown:()=>{let a;return e.createVNode(t.ElDropdownMenu,null,"function"==typeof(l=a=g.toolButtonAdv({search:O,...i.getTableDefaultSlots(S)}))||"[object Object]"===Object.prototype.toString.call(l)&&!e.isVNode(l)?a:{default:()=>[a]});var l}})])])]),e.withDirectives(e.createVNode(t.ElTable,e.mergeProps(Y.value,{ref:y,"element-loading-text":S.loadingText,data:S.tableData,spanMethod:K,headerCellClassName:z,cellClassName:A,onSelectionChange:R,onSortChange:k,onSelect:D,onSelectAll:L,onCurrentChange:M,onHeaderDragend:H,onCellMouseEnter:(e,t,a,l)=>b("cellMouseEnter",e,t,a,l),onCellMouseLeave:(e,t,a,l)=>b("cellMouseLeave",e,t,a,l),onCellClick:(e,t,a,l)=>b("cellClick",e,t,a,l),onCellDblclick:(e,t,a,l)=>b("cellDblclick",e,t,a,l),onCellContextmenu:(e,t,a,l)=>b("cellContextmenu",e,t,a,l),onRowClick:(e,t,a)=>b("rowClick",e,t,a),onRowContextmenu:(e,t,a)=>b("rowContextmenu",e,t,a),onRowDblclick:(e,t,a)=>b("rowDblclick",e,t,a),onHeaderClick:(e,t)=>b("headerClick",e,t),onHeaderContextmenu:(e,t)=>b("headerContextmenu",e,t),onFilterChange:e=>b("filterChange",e),onExpandChange:(e,t)=>b("expandChange",e,t)}),{append:()=>g.append&&g.append(),empty:()=>e.createVNode("div",{class:"fa-table__empty"},[g.empty?g.empty():e.createVNode(e.Fragment,null,[e.createVNode(t.ElIcon,null,{default:()=>[e.createVNode(l.NotData,null,null)]}),e.createVNode("div",null,[e.createTextVNode("暂无数据")])])]),default:()=>e.createVNode(e.Fragment,null,[e.createVNode(t.ElTableColumn,{className:"fa-table__index-column",type:"index",fixed:"left",width:S.tablePagination.pageIndex*S.tablePagination.pageSize>=100?S.tablePagination.pageIndex*S.tablePagination.pageSize>=1e3?50:40:30,align:"center",index:B,showOverflowTooltip:!1,resizable:!1,columnKey:"__table-index"},null),e.createVNode(t.ElTableColumn,{className:"fa-table__selection-column",type:"selection",fixed:"left",width:35,align:"center",reserveSelection:!0,showOverflowTooltip:!1,resizable:!1,columnKey:"__table-selection",selectable:p.rowSelectable},null),g.operation&&e.createVNode(t.ElTableColumn,{fixed:"right",width:S.operationColumnWidth,headerAlign:"center",align:"left",showOverflowTooltip:!1,className:"fa-table__operation-column",resizable:!1,columnKey:"__table-operation"},{header:()=>e.createVNode("div",{class:"fa-table__auto-width-column__cell-header __fa-table__auto-width-column__cell-header____table-operation"},[e.createVNode("span",null,[e.createTextVNode("操作")])]),default:({row:t,column:a,$index:l})=>e.createVNode("div",{class:"fa-table__auto-width-column__cell __fa-table__auto-width-column__cell____table-operation"},[g.operation({row:t,column:a,$index:l,search:O,...i.getTableDefaultSlots(S)})])}),0===S.tableColumns?.length?g.default&&g.default():S.tableColumns.map(a=>a.show&&("expand"===a.type?e.createVNode(t.ElTableColumn,e.mergeProps(a,{width:35,fixed:a.fixed??"left",resizable:!1}),{default:({row:t,column:l,$index:o})=>e.createVNode(e.Fragment,null,[a.render&&a.render({row:t,column:l,$index:o,...i.getTableDefaultSlots(S)}),a.slot&&g[a.slot]&&g[a.slot]({row:t,column:l,$index:o,...i.getTableDefaultSlots(S)})])}):a.prop&&e.createVNode(r.default,e.mergeProps(n.omit(a,W),{hideImage:p.hideImage,resizable:!0,onImagePreview:q,onCustomCellClick:j}),n.pick(g,U.value))))])}),[[e.resolveDirective("loading"),S.loading]]),e.createVNode("div",{class:"fa-table__main-footer"},[e.createVNode("div",{class:"fa-table__main-footer__left"},[g.footer&&g.footer({search:O,...i.getTableDefaultSlots(S)})]),g.pagination?g.pagination({pageIndex:S.tablePagination.pageIndex,pageSize:S.tablePagination.pageSize,totalRows:S.tablePagination.totalRows,handleSizeChange:N,handlePaginationChange:x}):e.createVNode(e.Fragment,null,[p.pagination?e.createVNode(s.default,{onSizeChange:N,onCurrentChange:x},null):e.createVNode(t.ElPagination,{class:"fa-table-pagination",size:"small",layout:"total",total:S.tableData.length},null)])])]),S.imagePreview&&e.createVNode(t.ElImageViewer,{closeOnPressEscape:!0,hideOnClickModal:!0,teleported:!0,onClose:()=>S.imagePreview=!1,urlList:S.previewList},null),p.columnSettingBtn&&e.createVNode(c.default,{ref:I,change:p.columnsChange},null)])),o.useExpose(f,{clearSelection:e.computed(()=>y.value?.clearSelection),getSelectionRows:e.computed(()=>y.value?.getSelectionRows),toggleRowSelection:e.computed(()=>y.value?.toggleRowSelection),toggleAllSelection:e.computed(()=>y.value?.toggleAllSelection),toggleRowExpansion:e.computed(()=>y.value?.toggleRowExpansion),setCurrentRow:e.computed(()=>y.value?.setCurrentRow),clearSort:e.computed(()=>y.value?.clearSort),clearFilter:e.computed(()=>y.value?.clearFilter),doLayout:e.computed(()=>y.value?.doLayout),sort:e.computed(()=>y.value?.sort),scrollTo:e.computed(()=>y.value?.scrollTo),setScrollTop:e.computed(()=>y.value?.setScrollTop),setScrollLeft:e.computed(()=>y.value?.setScrollLeft),columns:e.computed(()=>y.value?.columns),updateKeyChildren:e.computed(()=>y.value?.updateKeyChildren),loading:e.computed(()=>S.loading),tableData:e.computed(()=>S.tableData),tablePagination:e.computed(()=>S.tablePagination),searchParam:e.computed(()=>S.searchParam),selected:e.computed(()=>S.selected),selectedList:e.computed(()=>S.selectedList),selectedListIds:e.computed(()=>S.selectedListIds),indeterminateSelectedListIds:e.computed(()=>S.indeterminateSelectedListIds),tableWidth:e.computed(()=>S.tableWidth),tableHeight:e.computed(()=>S.tableHeight),toggleRowIndeterminateSelection:(e,t)=>{const a=n.isFunction(p.rowKey)?p.rowKey(e):e[p.rowKey],l=S.tableData.find(e=>n.isFunction(p.rowKey)?p.rowKey(e):e[p.rowKey]===a);if(!0===t)S.indeterminateSelectedListIds.some(e=>e===a)||S.indeterminateSelectedListIds.push(a),y.value.toggleRowSelection(l,!0);else if(!1===t){const e=S.indeterminateSelectedListIds.findIndex(e=>e===a);e>=0&&S.indeterminateSelectedListIds.splice(e,1),y.value.toggleRowSelection(l,!1)}else{const e=S.indeterminateSelectedListIds.findIndex(e=>e===a);e>=0?S.indeterminateSelectedListIds.splice(e,1):S.indeterminateSelectedListIds.push(a),y.value.toggleRowSelection(l)}},refresh:O,reset:T,doRender:V,doLoading:E})}});exports.default=g,exports.faTableEmits=h,exports.faTableProps=p,exports.tableProps=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("element-plus"),a=require("@element-plus/icons-vue"),l=require("@fast-element-plus/icons-vue"),o=require("@fast-china/utils"),n=require("lodash-unified"),i=require("./table.type.js"),r=require("./tableColumn.js"),c=require("./tableColumnSettingDialog.js"),s=require("./tablePagination.js"),d=require("./tableSearchForm.js"),u=require("./useTable.js");const m={data:{type:Array,default:()=>[]},size:t.useSizeProp,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object],scrollbarTabindex:{type:[Number,String],default:void 0}},p={...m,border:{type:Boolean,default:!0},highlightCurrentRow:{type:Boolean,default:!0},rowKey:{type:[String,Function],default:"id"},spanMethod:{type:Function,validator:()=>(o.consoleWarn("FaTable","'spanMethod' 属性,组件已经封装,外部使用会失效。"),!1)},tableKey:{type:String,default:()=>o.stringUtil.generateRandomString(8)},data:{type:o.definePropType(Array),default:()=>[]},requestApi:{type:o.definePropType(Function)},dataCallback:{type:o.definePropType(Function)},initParam:o.definePropType([String,Number,Object]),columns:{type:o.definePropType([Array,Boolean]),default:()=>!1},columnsChange:{type:o.definePropType(Function)},searchFormCols:{type:o.definePropType([String,Number,Object]),default:()=>({xs:3,sm:3,md:4,lg:5,xl:6})},collapsedSearch:{type:Boolean,default:!0},advancedSearchDrawer:{type:Boolean,default:!1},searchForm:{type:Boolean,default:!0},headerCard:{type:Boolean,default:!0},refreshBtn:{type:Boolean,default:!0},searchBtn:{type:Boolean,default:!0},columnSettingBtn:{type:Boolean,default:!1},toolBtn:{type:Boolean,default:!0},hideSearchTime:Boolean,dataSearchRange:{type:o.definePropType(String),default:"Past3D"},pagination:{type:Boolean,default:!0},hideImage:Boolean,single:Boolean,rowClickSelection:Boolean,treeData:Boolean,props:{type:o.definePropType(Object),default:()=>({span:void 0,children:"children"})},autoRefresh:{type:Boolean,default:!0},rowSelectable:Function},h={select:(e,t)=>n.isArray(e)&&n.isObject(t),selectAll:e=>n.isArray(e),selectionChange:e=>n.isArray(e),cellMouseEnter:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellMouseLeave:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellClick:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellDblclick:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,cellContextmenu:(e,t,a,l)=>n.isObject(e)&&n.isObject(t)&&a instanceof HTMLTableCellElement&&l instanceof Event,rowClick:(e,t,a)=>n.isObject(e)&&n.isObject(t)&&a instanceof Event,rowContextmenu:(e,t,a)=>n.isObject(e)&&n.isObject(t)&&a instanceof Event,rowDblclick:(e,t,a)=>n.isObject(e)&&n.isObject(t)&&a instanceof Event,headerClick:(e,t)=>n.isObject(e)&&t instanceof Event,headerContextmenu:(e,t)=>n.isObject(e)&&t instanceof Event,sortChange:e=>n.isObject(e),filterChange:e=>n.isString(e)||n.isNumber(e)||n.isBoolean(e)||n.isObject(e),currentChange:(e,t)=>n.isObject(e)&&(n.isNull(t)||n.isObject(t)),headerDragend:(e,t,a,l)=>n.isNumber(e)&&n.isNumber(t)&&n.isObject(a)&&l instanceof MouseEvent,expandChange:(e,t)=>n.isObject(e)&&(n.isBoolean(t)||n.isArray(t)),refresh:e=>n.isObject(e),reset:e=>n.isObject(e),sizeChange:e=>n.isNumber(e),paginationChange:(e,t)=>n.isNumber(e)&&n.isNumber(t),customCellClick:(e,{row:t,column:a,$index:l})=>(n.isNil(e)||n.isString(e))&&n.isObject(t)&&n.isObject(a)&&n.isNumber(l)},g=e.defineComponent({name:"FaTable",props:p,emits:h,slots:o.makeSlots(),setup(p,{attrs:h,slots:g,emit:b,expose:f}){const{_globalSize:C,state:S,elementRef:w,tableRef:y,handleTableColumnAutoWidth:_,loadTableColumns:v,handleSizeChange:N,handlePaginationChange:x,defaultSearchTime:P,tableSearch:O,tableReset:T,doRender:V,doLoading:E,handleCustomCellClick:j}=u.useTable(p,g,b),I=e.ref();let F=0;const B=e=>{if(0===e&&(F=0),S.spanColumns?.length>0){return 0===Number(S.tableSpanData["__table-index"][e])?F+(S.tablePagination.pageIndex-1)*S.tablePagination.pageSize+1:(F++,F+(S.tablePagination.pageIndex-1)*S.tablePagination.pageSize)}return e+(S.tablePagination.pageIndex-1)*S.tablePagination.pageSize+1},L=(e,t)=>{p.single&&(y.value.clearSelection(),e.length>0&&t&&y.value.toggleRowSelection(t)),b("select",e,t)},D=e=>{p.single&&(S.selected?S.tableData.length>0&&(y.value.clearSelection(),y.value.toggleRowSelection(S.tableData[0])):y.value.clearSelection()),b("selectAll",e)},R=e=>{0===e.length?S.selected=!1:S.selected=!0,p.single&&e.length>0?S.selectedList=[e[e.length-1]]:S.selectedList=e,S.indeterminateSelectedListIds=S.indeterminateSelectedListIds.filter(e=>S.selectedListIds.some(t=>t===e)),b("selectionChange",S.selectedList)},k=({column:e,prop:t,order:a})=>{e.multiOrder?"descending"===e.multiOrder?e.multiOrder="ascending":e.multiOrder=null:e.multiOrder="descending",S.searchParam.sortList=[...new Set([...p.initParam?.sortList??[],...S.searchParam?.sortList??[]])];const l=S.orgColumns.find(e=>e.prop===t),o=l?.sortableField??l?.prop??e.property,n=S.searchParam.sortList.findIndex(e=>e.enField===o);e.multiOrder?-1===n?S.searchParam.sortList.push({enField:o,cnField:e.label,mode:e.multiOrder}):S.searchParam.sortList[n].mode=e.multiOrder:S.searchParam.sortList.splice(n,1),0===S.searchParam.sortList.length&&delete S.searchParam.sortList,b("sortChange",{column:e,prop:t,order:e.multiOrder}),O()},M=(e,t)=>{e&&(p.rowClickSelection&&(p.single&&t&&y.value.toggleRowSelection(t),y.value.toggleRowSelection(e)),b("currentChange",e,t))},A=({row:e,column:t,rowIndex:a,columnIndex:l})=>{let o=null;if("selection"===t.type){const t=n.isFunction(p.rowKey)?p.rowKey(e):e[p.rowKey];S.indeterminateSelectedListIds.some(e=>e===t)&&(o="fa-table__selection-column__indeterminate")}const i=S.tableColumns.find(e=>e.prop===t.property);if(i?.dataDeleteField&&e&&!0===e[i.dataDeleteField]&&(o?o+=" fa-table__data-delete-column":o="fa-table__data-delete-column"),p.cellClassName){let i=null;return i=n.isString(p.cellClassName)?p.cellClassName:p.cellClassName({row:e,column:t,rowIndex:a,columnIndex:l}),i?o?`${o} ${i}`:i:o}return o},z=({row:e,column:t,rowIndex:a,columnIndex:l})=>(t.order=t.multiOrder,p.headerCellClassName?n.isFunction(p.headerCellClassName)?p.headerCellClassName({row:e,column:t,rowIndex:a,columnIndex:l}):p.headerCellClassName:null),K=({row:e,column:t,rowIndex:a,columnIndex:l})=>{const o=t.property??t.columnKey;if(-1!==S.spanColumns.findIndex(e=>e.prop===o)){const e=Number(S.tableSpanData[o][a]);return e>0?{rowspan:e,colspan:1}:{rowspan:0,colspan:0}}return{rowspan:1,colspan:1}},H=async(e,t,a,l)=>{S.orgColumns.forEach(t=>{a.property===t.prop&&(t.width=e,t.smallWidth=e)}),b("headerDragend",e,t,a,l),p.columnsChange&&await o.clickUtil.debounceAsync(()=>p.columnsChange(S.orgColumns),500)},q=e=>{S.previewList=[e],S.imagePreview=!0};e.onMounted(async()=>{S.initParam=p.initParam,P(),Object.keys(p.initParam??{}).forEach(e=>{S.searchParam[e]=p.initParam[e]}),await O(),e.watch(()=>p.columns,async()=>{v()},{deep:!0,immediate:!0}),e.watch(()=>p.initParam,()=>{Object.keys(p.initParam??{}).forEach(e=>{S.searchParam[e]=p.initParam[e]})},{deep:!0}),e.watch(()=>p.data,async()=>{!p.requestApi&&p.autoRefresh&&await O()},{deep:!0,immediate:!0}),e.watchEffect(async()=>{const e=w.value;if(e){const t=new ResizeObserver(e=>{for(const t of e){const{width:e,height:a}=t.contentRect;S.tableWidth=e,S.tableHeight=a}o.clickUtil.debounceAsync(async()=>{await _()},100)});return t.observe(e),()=>{t.disconnect()}}})}),e.onActivated(async()=>{await _()});const $=e.computed(()=>S.searchColumns.filter(e=>e.search.slot).map(e=>e.search.slot)),U=e.computed(()=>S.tableColumns.filter(e=>e.slot).map(e=>e.slot)),W=["multiOrder","columnId","order","sortableField","disabledSortable","spanProp","pureSearch","search"],Y=o.useProps(p,m,["data","spanMethod","headerCellClassName","cellClassName"]);return o.useRender(()=>e.createVNode("div",{ref:w,class:["fa-table",`fa-table-${C.value}`,`fa-table__${p.tableKey??"notFound"}`,{fa__click__disabled:S.loading}],style:{"--fa-table-width":""+(S.tableWidth?`${S.tableWidth}px`:""),"--fa-table-height":""+(S.tableHeight?`${S.tableHeight}px`:"")}},[e.createVNode(d.default,{show:p.searchForm&&S.searchForm,collapsedSearch:p.collapsedSearch,advancedSearchDrawer:p.advancedSearchDrawer,cols:p.searchFormCols,search:O,reset:T},n.pick(g,$.value)),g.topHeader&&e.createVNode("div",{class:"el-card fa-table__header"},[g.topHeader({search:O,...i.getTableDefaultSlots(S)})]),e.createVNode("div",{class:"el-card fa-table__main"},[p.headerCard&&e.createVNode("div",{class:"fa-table__main-header"},[e.createVNode("div",{class:"fa-table__main-header-left"},[g.header&&g.header({search:O,...i.getTableDefaultSlots(S)})]),e.createVNode("div",{class:"fa-table__main-header-right"},[p.toolBtn&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fa-table__main-header-right__div-search"},[e.createVNode(t.ElInput,{class:"fa-table__main-header-right__input-search",disabled:S.loading,prefixIcon:a.Search,placeholder:"关键字搜索",modelValue:S.searchParam.searchValue,modelModifiers:{trim:!0},"onUpdate:modelValue":e=>S.searchParam.searchValue=e,clearable:!0,onCompositionupdate:e=>{S.searchValueUpdate=e.data},onCompositionend:e=>{S.searchValueUpdate=""},onChange:()=>O()},null),e.createVNode("div",{class:"fa-table__main-header-right__div-search__hidden"},[S.searchParam.searchValue,S.searchValueUpdate])]),p.requestApi&&!p.hideSearchTime&&e.createVNode(t.ElDatePicker,{class:"fa-table__main-header-right__data-search",popperClass:"fa-table__main-header-right__data-search__popper",disabled:S.loading,type:"daterange",modelValue:S.searchParam.searchTimeList,"onUpdate:modelValue":e=>S.searchParam.searchTimeList=e,defaultTime:o.dateUtil.getDefaultTime(),shortcuts:o.dateUtil.getShortcuts(),valueFormat:"YYYY-MM-DD HH:mm:ss",clearable:!1,teleported:!1,unlinkPanels:!0,onChange:()=>O()},null),p.refreshBtn&&e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,title:"刷新",circle:!0,icon:a.Refresh,onClick:()=>O()},null),p.searchBtn&&S.searchColumns.length>0&&e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,title:S.searchForm?"隐藏搜索栏":"显示搜索栏",circle:!0,icon:a.Search,onClick:()=>S.searchForm=!S.searchForm},null),p.columnSettingBtn&&p.columns&&e.createVNode(t.ElDropdown,{title:"表格列配置",trigger:"click"},{default:()=>e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,circle:!0,icon:a.Setting},null),dropdown:()=>e.createVNode(t.ElDropdownMenu,null,{default:()=>[g.columnSetting&&g.columnSetting(),e.createVNode(t.ElDropdownItem,{title:"表格列配置",divided:!0,onClick:()=>I.value.open()},{default:()=>[e.createTextVNode("表格列配置")]})]})}),g.toolButton&&g.toolButton({search:O,...i.getTableDefaultSlots(S)}),g.toolButtonAdv&&e.createVNode(t.ElDropdown,{title:"高级操作",trigger:"click"},{default:()=>e.createVNode(t.ElButton,{loading:S.loading,loadingIcon:a.Eleme,circle:!0,icon:a.More},null),dropdown:()=>{let a;return e.createVNode(t.ElDropdownMenu,null,"function"==typeof(l=a=g.toolButtonAdv({search:O,...i.getTableDefaultSlots(S)}))||"[object Object]"===Object.prototype.toString.call(l)&&!e.isVNode(l)?a:{default:()=>[a]});var l}})])])]),e.withDirectives(e.createVNode(t.ElTable,e.mergeProps(Y.value,{ref:y,"element-loading-text":S.loadingText,data:S.tableData,spanMethod:K,headerCellClassName:z,cellClassName:A,onSelectionChange:R,onSortChange:k,onSelect:L,onSelectAll:D,onCurrentChange:M,onHeaderDragend:H,onCellMouseEnter:(e,t,a,l)=>b("cellMouseEnter",e,t,a,l),onCellMouseLeave:(e,t,a,l)=>b("cellMouseLeave",e,t,a,l),onCellClick:(e,t,a,l)=>b("cellClick",e,t,a,l),onCellDblclick:(e,t,a,l)=>b("cellDblclick",e,t,a,l),onCellContextmenu:(e,t,a,l)=>b("cellContextmenu",e,t,a,l),onRowClick:(e,t,a)=>b("rowClick",e,t,a),onRowContextmenu:(e,t,a)=>b("rowContextmenu",e,t,a),onRowDblclick:(e,t,a)=>b("rowDblclick",e,t,a),onHeaderClick:(e,t)=>b("headerClick",e,t),onHeaderContextmenu:(e,t)=>b("headerContextmenu",e,t),onFilterChange:e=>b("filterChange",e),onExpandChange:(e,t)=>b("expandChange",e,t)}),{append:()=>g.append&&g.append(),empty:()=>e.createVNode("div",{class:"fa-table__empty"},[g.empty?g.empty():e.createVNode(e.Fragment,null,[e.createVNode(t.ElIcon,null,{default:()=>[e.createVNode(l.NotData,null,null)]}),e.createVNode("div",null,[e.createTextVNode("暂无数据")])])]),default:()=>e.createVNode(e.Fragment,null,[e.createVNode(t.ElTableColumn,{className:"fa-table__index-column",type:"index",fixed:"left",width:S.tablePagination.pageIndex*S.tablePagination.pageSize>=100?S.tablePagination.pageIndex*S.tablePagination.pageSize>=1e3?50:40:30,align:"center",index:B,showOverflowTooltip:!1,resizable:!1,columnKey:"__table-index"},null),e.createVNode(t.ElTableColumn,{className:"fa-table__selection-column",type:"selection",fixed:"left",width:35,align:"center",reserveSelection:!0,showOverflowTooltip:!1,resizable:!1,columnKey:"__table-selection",selectable:p.rowSelectable},null),g.operation&&e.createVNode(t.ElTableColumn,{fixed:"right",width:S.operationColumnWidth,headerAlign:"center",align:"left",showOverflowTooltip:!1,className:"fa-table__operation-column",resizable:!1,columnKey:"__table-operation"},{header:()=>e.createVNode("div",{class:"fa-table__auto-width-column__cell-header __fa-table__auto-width-column__cell-header____table-operation"},[e.createVNode("span",null,[e.createTextVNode("操作")])]),default:({row:t,column:a,$index:l})=>e.createVNode("div",{class:"fa-table__auto-width-column__cell __fa-table__auto-width-column__cell____table-operation"},[g.operation({row:t,column:a,$index:l,search:O,...i.getTableDefaultSlots(S)})])}),0===S.tableColumns?.length?g.default&&g.default():S.tableColumns.map(a=>a.show&&("expand"===a.type?e.createVNode(t.ElTableColumn,e.mergeProps(a,{width:35,fixed:a.fixed??"left",resizable:!1}),{default:({row:t,column:l,$index:o})=>e.createVNode(e.Fragment,null,[a.render&&a.render({row:t,column:l,$index:o,...i.getTableDefaultSlots(S)}),a.slot&&g[a.slot]&&g[a.slot]({row:t,column:l,$index:o,...i.getTableDefaultSlots(S)})])}):a.prop&&e.createVNode(r.default,e.mergeProps(n.omit(a,W),{hideImage:p.hideImage,resizable:!0,onImagePreview:q,onCustomCellClick:j}),n.pick(g,U.value))))])}),[[e.resolveDirective("loading"),S.loading]]),e.createVNode("div",{class:"fa-table__main-footer"},[e.createVNode("div",{class:"fa-table__main-footer__left"},[g.footer&&g.footer({search:O,...i.getTableDefaultSlots(S)})]),g.pagination?g.pagination({pageIndex:S.tablePagination.pageIndex,pageSize:S.tablePagination.pageSize,totalRows:S.tablePagination.totalRows,handleSizeChange:N,handlePaginationChange:x}):e.createVNode(e.Fragment,null,[p.pagination?e.createVNode(s.default,{onSizeChange:N,onCurrentChange:x},null):e.createVNode(t.ElPagination,{class:"fa-table-pagination",size:"small",layout:"total",total:S.tableData.length},null)])])]),S.imagePreview&&e.createVNode(t.ElImageViewer,{closeOnPressEscape:!0,hideOnClickModal:!0,teleported:!0,onClose:()=>S.imagePreview=!1,urlList:S.previewList},null),p.columnSettingBtn&&e.createVNode(c.default,{ref:I,change:p.columnsChange},null)])),o.useExpose(f,{clearSelection:e.computed(()=>y.value?.clearSelection),getSelectionRows:e.computed(()=>y.value?.getSelectionRows),toggleRowSelection:e.computed(()=>y.value?.toggleRowSelection),toggleAllSelection:e.computed(()=>y.value?.toggleAllSelection),toggleRowExpansion:e.computed(()=>y.value?.toggleRowExpansion),setCurrentRow:e.computed(()=>y.value?.setCurrentRow),clearSort:e.computed(()=>y.value?.clearSort),clearFilter:e.computed(()=>y.value?.clearFilter),doLayout:e.computed(()=>y.value?.doLayout),sort:e.computed(()=>y.value?.sort),scrollTo:e.computed(()=>y.value?.scrollTo),setScrollTop:e.computed(()=>y.value?.setScrollTop),setScrollLeft:e.computed(()=>y.value?.setScrollLeft),columns:e.computed(()=>y.value?.columns),updateKeyChildren:e.computed(()=>y.value?.updateKeyChildren),loading:e.computed(()=>S.loading),tableData:e.computed(()=>S.tableData),tablePagination:e.computed(()=>S.tablePagination),searchParam:e.computed(()=>S.searchParam),selected:e.computed(()=>S.selected),selectedList:e.computed(()=>S.selectedList),selectedListIds:e.computed(()=>S.selectedListIds),indeterminateSelectedListIds:e.computed(()=>S.indeterminateSelectedListIds),tableWidth:e.computed(()=>S.tableWidth),tableHeight:e.computed(()=>S.tableHeight),toggleRowIndeterminateSelection:(e,t)=>{const a=n.isFunction(p.rowKey)?p.rowKey(e):e[p.rowKey],l=S.tableData.find(e=>n.isFunction(p.rowKey)?p.rowKey(e):e[p.rowKey]===a);if(!0===t)S.indeterminateSelectedListIds.some(e=>e===a)||S.indeterminateSelectedListIds.push(a),y.value.toggleRowSelection(l,!0);else if(!1===t){const e=S.indeterminateSelectedListIds.findIndex(e=>e===a);e>=0&&S.indeterminateSelectedListIds.splice(e,1),y.value.toggleRowSelection(l,!1)}else{const e=S.indeterminateSelectedListIds.findIndex(e=>e===a);e>=0?S.indeterminateSelectedListIds.splice(e,1):S.indeterminateSelectedListIds.push(a),y.value.toggleRowSelection(l)}},refresh:O,reset:T,doRender:V,doLoading:E})}});exports.default=g,exports.faTableEmits=h,exports.faTableProps=p,exports.tableProps=m;
2
2
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../../packages/components/table/src/table.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, onActivated, onMounted, ref, watch, watchEffect } from \"vue\";\nimport {\n\tElButton,\n\tElDatePicker,\n\tElDropdown,\n\tElDropdownItem,\n\tElDropdownMenu,\n\tElIcon,\n\tElImageViewer,\n\tElInput,\n\tElPagination,\n\tElTable,\n\tElTableColumn,\n\tuseSizeProp,\n} from \"element-plus\";\nimport { Eleme, More, Refresh, Search, Setting } from \"@element-plus/icons-vue\";\nimport { NotData } from \"@fast-element-plus/icons-vue\";\nimport { clickUtil, consoleWarn, dateUtil, definePropType, makeSlots, stringUtil, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isBoolean, isFunction, isNil, isNull, isNumber, isObject, isString, omit, pick } from \"lodash-unified\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport FaTableColumn from \"./tableColumn\";\nimport FaTableColumnsSettingDialog from \"./tableColumnSettingDialog\";\nimport FaTablePagination from \"./tablePagination\";\nimport FaTableSearchForm from \"./tableSearchForm\";\nimport { useTable } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDataRange, FaTableDefaultSlotsResult } from \"./table.type\";\nimport type { PagedInput, PagedResult, PagedSortInput } from \"../src/page.type\";\nimport type { FaLayoutGridBreakPoint } from \"@fast-element-plus/components/layoutGrid\";\nimport type { TableColumnCtx, TableProps } from \"element-plus\";\nimport type { CSSProperties, PropType } from \"vue\";\n\ntype DefaultRow = any;\n\ntype Layout = \"fixed\" | \"auto\";\n\n// type TreeProps = TableProps<DefaultRow>[\"treeProps\"];\ntype TreeProps = {\n\thasChildren?: string;\n\tchildren?: string;\n\tcheckStrictly?: boolean;\n};\n\nexport const tableProps = {\n\t/**\n\t * @description table data\n\t */\n\tdata: {\n\t\ttype: Array as PropType<DefaultRow[]>,\n\t\tdefault: (): DefaultRow[] => [],\n\t},\n\t/**\n\t * @description size of Table\n\t */\n\tsize: useSizeProp,\n\twidth: [String, Number],\n\t/**\n\t * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n\t */\n\theight: [String, Number],\n\t/**\n\t * @description table's max-height. The legal value is a number or the height in px\n\t */\n\tmaxHeight: [String, Number],\n\t/**\n\t * @description whether width of column automatically fits its container\n\t */\n\tfit: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description whether Table is striped\n\t */\n\tstripe: Boolean,\n\t/**\n\t * @description whether Table has vertical border\n\t */\n\tborder: Boolean,\n\t/**\n\t * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n\t */\n\trowKey: [String, Function] as PropType<TableProps<DefaultRow>[\"rowKey\"]>,\n\t/**\n\t * @description whether Table header is visible\n\t */\n\tshowHeader: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description whether to display a summary row\n\t */\n\tshowSummary: Boolean,\n\t/**\n\t * @description displayed text for the first column of summary row\n\t */\n\tsumText: String,\n\t/**\n\t * @description custom summary method\n\t */\n\tsummaryMethod: Function as PropType<TableProps<DefaultRow>[\"summaryMethod\"]>,\n\t/**\n\t * @description function that returns custom class names for a row, or a string assigning class names for every row\n\t */\n\trowClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"rowClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a row, or an object assigning custom style for every row\n\t */\n\trowStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"rowStyle\"]>,\n\t/**\n\t * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n\t */\n\tcellClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"cellClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n\t */\n\tcellStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"cellStyle\"]>,\n\t/**\n\t * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n\t */\n\theaderRowClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"headerRowClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n\t */\n\theaderRowStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"headerRowStyle\"]>,\n\t/**\n\t * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n\t */\n\theaderCellClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"headerCellClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n\t */\n\theaderCellStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"headerCellStyle\"]>,\n\t/**\n\t * @description whether current row is highlighted\n\t */\n\thighlightCurrentRow: Boolean,\n\t/**\n\t * @description key of current row, a set only prop\n\t */\n\tcurrentRowKey: [String, Number],\n\t/**\n\t * @description displayed text when data is empty. You can customize this area with `#empty`\n\t */\n\temptyText: String,\n\t/**\n\t * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n\t */\n\texpandRowKeys: Array as PropType<TableProps<DefaultRow>[\"expandRowKeys\"]>,\n\t/**\n\t * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n\t */\n\tdefaultExpandAll: Boolean,\n\t/**\n\t * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n\t */\n\tdefaultSort: Object as PropType<TableProps<DefaultRow>[\"defaultSort\"]>,\n\t/**\n\t * @description the `effect` of the overflow tooltip\n\t */\n\ttooltipEffect: String,\n\t/**\n\t * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n\t */\n\ttooltipOptions: Object as PropType<TableProps<DefaultRow>[\"tooltipOptions\"]>,\n\t/**\n\t * @description method that returns rowspan and colspan\n\t */\n\tspanMethod: Function as PropType<TableProps<DefaultRow>[\"spanMethod\"]>,\n\t/**\n\t * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n\t */\n\tselectOnIndeterminate: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description horizontal indentation of tree data\n\t */\n\tindent: {\n\t\ttype: Number,\n\t\tdefault: 16,\n\t},\n\t/**\n\t * @description configuration for rendering nested data\n\t */\n\ttreeProps: {\n\t\ttype: Object as PropType<TreeProps>,\n\t\tdefault: (): TreeProps => ({\n\t\t\thasChildren: \"hasChildren\",\n\t\t\tchildren: \"children\",\n\t\t\tcheckStrictly: false,\n\t\t}),\n\t},\n\t/**\n\t * @description whether to lazy loading data\n\t */\n\tlazy: Boolean,\n\t/**\n\t * @description method for loading child row data, only works when `lazy` is true\n\t */\n\tload: Function as PropType<TableProps<DefaultRow>[\"load\"]>,\n\tstyle: {\n\t\ttype: Object as PropType<CSSProperties>,\n\t\tdefault: (): CSSProperties => ({}),\n\t},\n\tclassName: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description sets the algorithm used to lay out table cells, rows, and columns\n\t */\n\ttableLayout: {\n\t\ttype: String as PropType<Layout>,\n\t\tdefault: \"fixed\",\n\t},\n\t/**\n\t * @description always show scrollbar\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * @description ensure main axis minimum-size doesn't follow the content\n\t */\n\tflexible: Boolean,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n\t */\n\tshowOverflowTooltip: [Boolean, Object] as PropType<TableProps<DefaultRow>[\"showOverflowTooltip\"]>,\n\tscrollbarTabindex: {\n\t\ttype: [Number, String],\n\t\tdefault: undefined,\n\t},\n};\n\nexport const faTableProps = {\n\t...tableProps,\n\t/** @description whether Table has vertical border */\n\tborder: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether current row is highlighted */\n\thighlightCurrentRow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used */\n\trowKey: {\n\t\ttype: [String, Function] as PropType<TableProps<any>[\"rowKey\"]>,\n\t\tdefault: \"id\",\n\t},\n\t/** @description 组件封装,原生的已经失效 method that returns rowspan and colspan */\n\tspanMethod: {\n\t\ttype: Function as PropType<TableProps<DefaultRow>[\"spanMethod\"]>,\n\t\tvalidator: (): boolean => {\n\t\t\tconsoleWarn(\"FaTable\", \"'spanMethod' 属性,组件已经封装,外部使用会失效。\");\n\t\t\treturn false;\n\t\t},\n\t},\n\t/** @description 表格Key */\n\ttableKey: {\n\t\ttype: String,\n\t\tdefault: (): string => stringUtil.generateRandomString(8),\n\t},\n\t/** @description 表格数据 */\n\tdata: {\n\t\ttype: definePropType<any[]>(Array),\n\t\tdefault: (): any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: PagedInput) => Promise<PagedResult | any[]>>(Function),\n\t},\n\t/** @description 接口请求数据回调 */\n\tdataCallback: {\n\t\ttype: definePropType<(data: any) => void>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n\t/** @description 列配置 */\n\tcolumns: {\n\t\ttype: definePropType<FaTableColumnCtx[] | false>([Array, Boolean]),\n\t\tdefault: (): FaTableColumnCtx[] | false => false,\n\t},\n\t/** @description 表格列改变 */\n\tcolumnsChange: {\n\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t},\n\t/** @description 搜索表单 Grid布局列配置 */\n\tsearchFormCols: {\n\t\ttype: definePropType<string | number | Record<FaLayoutGridBreakPoint, number>>([String, Number, Object]),\n\t\tdefault: (): string | number | Record<FaLayoutGridBreakPoint, number> => ({ xs: 3, sm: 3, md: 4, lg: 5, xl: 6 }),\n\t},\n\t/** @description 折叠搜素 */\n\tcollapsedSearch: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 高级搜素抽屉 */\n\tadvancedSearchDrawer: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t/** @description 搜索表单 */\n\tsearchForm: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 头部卡片 */\n\theaderCard: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 刷新按钮 */\n\trefreshBtn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 搜索按钮 */\n\tsearchBtn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 列配置按钮 */\n\tcolumnSettingBtn: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t/** @description 头部卡片右侧功能按钮 */\n\ttoolBtn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 隐藏搜索时间 */\n\thideSearchTime: Boolean,\n\t/** @description 搜索时间范围 */\n\tdataSearchRange: {\n\t\ttype: definePropType<FaTableDataRange>(String),\n\t\tdefault: \"Past3D\",\n\t},\n\t/** @description 分页 */\n\tpagination: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 隐藏图片 */\n\thideImage: Boolean,\n\t/** @description 单选 */\n\tsingle: Boolean,\n\t/** @description 行点击选择 */\n\trowClickSelection: Boolean,\n\t/** @description 树形数据 */\n\ttreeData: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<{ span?: string; children?: string }>(Object),\n\t\tdefault: (): { span?: string; children?: string } => ({\n\t\t\tspan: undefined,\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 自动刷新,当传入 data 时候,如果存在更改则自动刷新 */\n\tautoRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 等价于 Table-Column 的 selectable\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\trowSelectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n};\n\nexport const faTableEmits = {\n\t/** @description 当用户手动勾选数据行的 Checkbox 时触发的事件 */\n\tselect: (selection: any[], row: any): boolean => isArray(selection) && isObject(row),\n\t/** @description 当用户手动勾选全选 Checkbox 时触发的事件 */\n\tselectAll: (selection: any[]): boolean => isArray(selection),\n\t/** @description 当选择项发生变化时会触发该事件 */\n\tselectionChange: (newSelection: any[]): boolean => isArray(newSelection),\n\t/** @description 当单元格 hover 进入时会触发该事件 */\n\tcellMouseEnter: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当单元格 hover 退出时会触发该事件 */\n\tcellMouseLeave: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某个单元格被点击时会触发该事件 */\n\tcellClick: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某个单元格被双击击时会触发该事件 */\n\tcellDblclick: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某个单元格被鼠标右键点击时会触发该事件 */\n\tcellContextmenu: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某一行被点击时会触发该事件 */\n\trowClick: (row: any, column: TableColumnCtx<any>, event: Event): boolean => isObject(row) && isObject(column) && event instanceof Event,\n\t/** @description 当某一行被鼠标右键点击时会触发该事件 */\n\trowContextmenu: (row: any, column: TableColumnCtx<any>, event: Event): boolean => isObject(row) && isObject(column) && event instanceof Event,\n\t/** @description 当某一行被双击时会触发该事件 */\n\trowDblclick: (row: any, column: TableColumnCtx<any>, event: Event): boolean => isObject(row) && isObject(column) && event instanceof Event,\n\t/** @description 当某一列的表头被点击时会触发该事件 */\n\theaderClick: (column: TableColumnCtx<any>, event: Event): boolean => isObject(column) && event instanceof Event,\n\t/** @description 当某一列的表头被鼠标右键点击时触发该事件 */\n\theaderContextmenu: (column: TableColumnCtx<any>, event: Event): boolean => isObject(column) && event instanceof Event,\n\t/** @description 当表格的排序条件发生变化的时候会触发该事件 */\n\tsortChange: (data: { column: TableColumnCtx<any>; prop: string; order: \"\" | \"ascending\" | \"descending\" }): boolean => isObject(data),\n\t/** @description column 的 key, 如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件 */\n\tfilterChange: (newFilters: any): boolean => isString(newFilters) || isNumber(newFilters) || isBoolean(newFilters) || isObject(newFilters),\n\t/** @description 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 */\n\tcurrentChange: (currentRow: any, oldCurrentRow: any): boolean => isObject(currentRow) && (isNull(oldCurrentRow) || isObject(oldCurrentRow)),\n\t/** @description 当拖动表头改变了列的宽度的时候会触发该事件 */\n\theaderDragend: (newWidth: number, oldWidth: number, column: TableColumnCtx<any>, event: MouseEvent): boolean =>\n\t\tisNumber(newWidth) && isNumber(oldWidth) && isObject(column) && event instanceof MouseEvent,\n\t/** @description 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) */\n\texpandChange: (row: any, expanded: boolean | any[]): boolean => isObject(row) && (isBoolean(expanded) || isArray(expanded)),\n\n\t/** @description 表格刷新事件 */\n\trefresh: (params: PagedInput): boolean => isObject(params),\n\t/** @description 表格重置事件 */\n\treset: (params: PagedInput): boolean => isObject(params),\n\t/** @description 分页页码改变事件 */\n\tsizeChange: (pageSize: number): boolean => isNumber(pageSize),\n\t/** @description 分页改变事件 */\n\tpaginationChange: (pageIndex: number, pageSize: number): boolean => isNumber(pageIndex) && isNumber(pageSize),\n\t/** @description 自定义单元格点击事件 */\n\tcustomCellClick: (\n\t\temitName: string,\n\t\t{ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult\n\t): boolean => (isNil(emitName) || isString(emitName)) && isObject(row) && isObject(column) && isNumber($index),\n};\n\nexport type FaTableSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n\t/** @description 插入至表格最后一行之后的内容, 如果需要对表格的内容进行无限滚动操作,可能需要用到这个 slot。 若表格有合计行,该 slot 会位于合计行之上。 */\n\tappend: never;\n\t/** @description 当数据为空时自定义的内容 */\n\tempty: never;\n\t/** @description 表格顶部插槽 */\n\ttopHeader: FaTableDefaultSlotsResult;\n\t/** @description 表格头部左侧插槽 */\n\theader: FaTableDefaultSlotsResult;\n\t/** @description 表格头部右侧功能按钮插槽 */\n\ttoolButton: FaTableDefaultSlotsResult;\n\t/** @description 表格头部右侧高级操作按钮插槽,ElDropdownMenuItem 标签 */\n\ttoolButtonAdv: FaTableDefaultSlotsResult;\n\t/** @description 表格操作列插槽 */\n\toperation: FaTableDefaultSlotsResult & {\n\t\trow: any;\n\t\tcolumn: FaTableColumnCtx;\n\t\t$index: number;\n\t};\n\t/** @description 表格分页插槽 */\n\tpagination: {\n\t\tpageIndex: number;\n\t\tpageSize: number;\n\t\ttotalRows: number;\n\t\thandleSizeChange: (val: number) => void;\n\t\thandlePaginationChange: (val: number) => void;\n\t};\n\t/** @description 表格页脚插槽 */\n\tfooter: FaTableDefaultSlotsResult;\n\t/** @description 列配置 */\n\tcolumnSetting: never;\n} & {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\t/** @description slots为表格内容的时候才会返回 */\n\t\trow?: any;\n\t\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\t\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t\t/** @description slot为非搜索项的时候才会返回 */\n\t\t$index?: number;\n\t\t/** @description slot为搜索项的时候才会返回 */\n\t\tsearch?: () => void;\n\t};\n};\n\nexport default defineComponent({\n\tname: \"FaTable\",\n\tprops: faTableProps,\n\temits: faTableEmits,\n\tslots: makeSlots<FaTableSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst {\n\t\t\t_globalSize,\n\t\t\tstate,\n\t\t\telementRef,\n\t\t\ttableRef,\n\t\t\thandleTableColumnAutoWidth,\n\t\t\tloadTableColumns,\n\t\t\thandleSizeChange,\n\t\t\thandlePaginationChange,\n\t\t\tdefaultSearchTime,\n\t\t\ttableSearch,\n\t\t\ttableReset,\n\t\t\tdoRender,\n\t\t\tdoLoading,\n\t\t\thandleCustomCellClick,\n\t\t} = useTable(props, slots, emit);\n\n\t\tconst columnSettingRef = ref<InstanceType<typeof FaTableColumnsSettingDialog>>();\n\t\tlet lastRowIndex = 0;\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\tif (index === 0) {\n\t\t\t\tlastRowIndex = 0;\n\t\t\t}\n\t\t\tif (state.spanColumns?.length > 0) {\n\t\t\t\tconst rowspan = Number(state.tableSpanData[\"__table-index\"][index]);\n\t\t\t\tif (rowspan === 0) {\n\t\t\t\t\treturn lastRowIndex + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize + 1;\n\t\t\t\t} else {\n\t\t\t\t\tlastRowIndex++;\n\t\t\t\t\treturn lastRowIndex + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn index + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize + 1;\n\t\t};\n\n\t\tconst handleSelect = (selection: any[], row: any): void => {\n\t\t\t// 判断是否开启了单选\n\t\t\tif (props.single) {\n\t\t\t\ttableRef.value.clearSelection();\n\t\t\t\tif (selection.length > 0 && row) {\n\t\t\t\t\ttableRef.value.toggleRowSelection(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"select\", selection, row);\n\t\t};\n\n\t\tconst handleSelectAll = (selection: any[]): void => {\n\t\t\tif (props.single) {\n\t\t\t\t// 判断是否已经选中数据\n\t\t\t\tif (state.selected) {\n\t\t\t\t\t// 默认选中的第一行\n\t\t\t\t\tif (state.tableData.length > 0) {\n\t\t\t\t\t\ttableRef.value.clearSelection();\n\t\t\t\t\t\ttableRef.value.toggleRowSelection(state.tableData[0]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttableRef.value.clearSelection();\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"selectAll\", selection);\n\t\t};\n\n\t\tconst handleSelectionChange = (newSelection: any[]): void => {\n\t\t\tnewSelection.length === 0 ? (state.selected = false) : (state.selected = true);\n\t\t\t// 判断是否为单选\n\t\t\tif (props.single && newSelection.length > 0) {\n\t\t\t\t// 这里获取最后一个是因为选中改变的事件会触发多次,会带入旧的数据\n\t\t\t\tstate.selectedList = [newSelection[newSelection.length - 1]];\n\t\t\t} else {\n\t\t\t\tstate.selectedList = newSelection;\n\t\t\t}\n\t\t\t// 如果已经取消选择了,那么部分选择也应该要取消\n\t\t\tstate.indeterminateSelectedListIds = state.indeterminateSelectedListIds.filter((f) => state.selectedListIds.some((s) => s === f));\n\t\t\temit(\"selectionChange\", state.selectedList);\n\t\t};\n\n\t\tconst toggleRowIndeterminateSelection = (row: any, selected?: boolean): void => {\n\t\t\tconst rowKey = isFunction(props.rowKey) ? props.rowKey(row) : row[props.rowKey];\n\t\t\tconst curRow = state.tableData.find((f) => (isFunction(props.rowKey) ? props.rowKey(f) : f[props.rowKey] === rowKey));\n\t\t\tif (selected === true) {\n\t\t\t\tif (!state.indeterminateSelectedListIds.some((s) => s === rowKey)) {\n\t\t\t\t\tstate.indeterminateSelectedListIds.push(rowKey);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(curRow, true);\n\t\t\t} else if (selected === false) {\n\t\t\t\tconst fIndex = state.indeterminateSelectedListIds.findIndex((f) => f === rowKey);\n\t\t\t\tif (fIndex >= 0) {\n\t\t\t\t\tstate.indeterminateSelectedListIds.splice(fIndex, 1);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(curRow, false);\n\t\t\t} else {\n\t\t\t\tconst fIndex = state.indeterminateSelectedListIds.findIndex((f) => f === rowKey);\n\t\t\t\tif (fIndex >= 0) {\n\t\t\t\t\tstate.indeterminateSelectedListIds.splice(fIndex, 1);\n\t\t\t\t} else {\n\t\t\t\t\tstate.indeterminateSelectedListIds.push(rowKey);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(curRow);\n\t\t\t}\n\t\t};\n\n\t\tconst handleSortChange = ({\n\t\t\tcolumn,\n\t\t\tprop,\n\t\t\torder,\n\t\t}: {\n\t\t\tcolumn: TableColumnCtx<any> & { multiOrder?: \"\" | \"ascending\" | \"descending\" };\n\t\t\tprop: string;\n\t\t\torder: any;\n\t\t}): void => {\n\t\t\tif (!column.multiOrder) {\n\t\t\t\tcolumn.multiOrder = \"descending\";\n\t\t\t} else if (column.multiOrder === \"descending\") {\n\t\t\t\tcolumn.multiOrder = \"ascending\";\n\t\t\t} else {\n\t\t\t\tcolumn.multiOrder = null;\n\t\t\t}\n\t\t\t// 排序集合非空判断\n\t\t\tstate.searchParam.sortList = [...new Set([...(props.initParam?.sortList ?? []), ...(state.searchParam?.sortList ?? [])])];\n\n\t\t\t// 去原来的列中查找表格的列数据\n\t\t\tconst orgColumn = state.orgColumns.find((f) => f.prop === prop);\n\t\t\tconst enField = orgColumn?.sortableField ?? orgColumn?.prop ?? column.property;\n\t\t\tconst fieldIndex = state.searchParam.sortList.findIndex((f: PagedSortInput) => f.enField === enField);\n\t\t\tif (!column.multiOrder) {\n\t\t\t\t// 如果是空的,删除排序\n\t\t\t\tstate.searchParam.sortList.splice(fieldIndex, 1);\n\t\t\t} else if (fieldIndex === -1) {\n\t\t\t\tstate.searchParam.sortList.push({\n\t\t\t\t\tenField,\n\t\t\t\t\tcnField: column.label,\n\t\t\t\t\tmode: column.multiOrder,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tstate.searchParam.sortList[fieldIndex].mode = column.multiOrder;\n\t\t\t}\n\t\t\t// 判断最后的排序集合中是否还存在数据,如果不存在,则删除排序集合\n\t\t\tif (state.searchParam.sortList.length === 0) {\n\t\t\t\tdelete state.searchParam.sortList;\n\t\t\t}\n\t\t\temit(\"sortChange\", { column, prop, order: column.multiOrder });\n\t\t\ttableSearch();\n\t\t};\n\n\t\tconst handleCurrentChange = (currentRow: any, oldCurrentRow: any): void => {\n\t\t\tif (!currentRow) {\n\t\t\t\t// 这里为空的时候,会导致 Header 中的不确定状态还是true的状态\n\t\t\t\t// tableRef.value.clearSelection();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (props.rowClickSelection) {\n\t\t\t\t// 判断是否为单选\n\t\t\t\tif (props.single && oldCurrentRow) {\n\t\t\t\t\ttableRef.value.toggleRowSelection(oldCurrentRow);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(currentRow);\n\t\t\t}\n\t\t\temit(\"currentChange\", currentRow, oldCurrentRow);\n\t\t};\n\n\t\tconst handleCellClassName = ({\n\t\t\trow,\n\t\t\tcolumn,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t}: {\n\t\t\trow: any;\n\t\t\tcolumn: TableColumnCtx<any>;\n\t\t\trowIndex: number;\n\t\t\tcolumnIndex: number;\n\t\t}): string => {\n\t\t\tlet localCellClassName = null;\n\t\t\t// 判断是否为选择列\n\t\t\tif (column.type === \"selection\") {\n\t\t\t\t// 判断是否在部分选中的集合中\n\t\t\t\tconst rowKey = isFunction(props.rowKey) ? props.rowKey(row) : row[props.rowKey];\n\t\t\t\tif (state.indeterminateSelectedListIds.some((s) => s === rowKey)) {\n\t\t\t\t\tlocalCellClassName = \"fa-table__selection-column__indeterminate\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst columnInfo = state.tableColumns.find((f) => f.prop === column.property);\n\t\t\tif (columnInfo?.dataDeleteField) {\n\t\t\t\tif (row && row[columnInfo.dataDeleteField] === true) {\n\t\t\t\t\tif (localCellClassName) {\n\t\t\t\t\t\tlocalCellClassName += \" fa-table__data-delete-column\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocalCellClassName = \"fa-table__data-delete-column\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.cellClassName) {\n\t\t\t\tlet cellClassName = null;\n\t\t\t\tif (isString(props.cellClassName)) {\n\t\t\t\t\tcellClassName = props.cellClassName;\n\t\t\t\t} else {\n\t\t\t\t\tcellClassName = props.cellClassName({ row, column, rowIndex, columnIndex });\n\t\t\t\t}\n\t\t\t\tif (!cellClassName) {\n\t\t\t\t\treturn localCellClassName;\n\t\t\t\t}\n\t\t\t\tif (localCellClassName) {\n\t\t\t\t\treturn `${localCellClassName} ${cellClassName}`;\n\t\t\t\t} else {\n\t\t\t\t\treturn cellClassName;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn localCellClassName;\n\t\t\t}\n\t\t};\n\n\t\tconst handleHeaderCellClassName = ({\n\t\t\trow,\n\t\t\tcolumn,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t}: {\n\t\t\trow: any;\n\t\t\tcolumn: TableColumnCtx<any> & { multiOrder?: \"\" | \"ascending\" | \"descending\" };\n\t\t\trowIndex: number;\n\t\t\tcolumnIndex: number;\n\t\t}): string => {\n\t\t\t// TODO:不晓得这里有无问题,EL 更新了还未测试\n\t\t\tcolumn.order = column.multiOrder as any;\n\t\t\tif (props.headerCellClassName) {\n\t\t\t\tif (isFunction(props.headerCellClassName)) {\n\t\t\t\t\treturn props.headerCellClassName({ row, column, rowIndex, columnIndex });\n\t\t\t\t} else {\n\t\t\t\t\treturn props.headerCellClassName;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t};\n\n\t\tconst handleSpanMethod = ({\n\t\t\trow,\n\t\t\tcolumn,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t}: {\n\t\t\trow: any;\n\t\t\tcolumn: TableColumnCtx<any>;\n\t\t\trowIndex: number;\n\t\t\tcolumnIndex: number;\n\t\t}): number[] | { rowspan: number; colspan: number } | void => {\n\t\t\t/** @description 原生的 span-method 会失效 */\n\t\t\tconst pKey = column.property ?? column.columnKey;\n\t\t\tif (state.spanColumns.findIndex((f) => f.prop === pKey) !== -1) {\n\t\t\t\tconst rowspan = Number(state.tableSpanData[pKey][rowIndex]);\n\t\t\t\tif (rowspan > 0) {\n\t\t\t\t\treturn { rowspan, colspan: 1 };\n\t\t\t\t}\n\t\t\t\treturn { rowspan: 0, colspan: 0 };\n\t\t\t}\n\t\t\treturn { rowspan: 1, colspan: 1 };\n\t\t};\n\n\t\tconst handleHeaderDragend = async (newWidth: number, oldWidth: number, column: TableColumnCtx<any>, event: MouseEvent): Promise<void> => {\n\t\t\tstate.orgColumns.forEach((f) => {\n\t\t\t\tif (column.property === f.prop) {\n\t\t\t\t\tf.width = newWidth;\n\t\t\t\t\tf.smallWidth = newWidth;\n\t\t\t\t}\n\t\t\t});\n\t\t\temit(\"headerDragend\", newWidth, oldWidth, column, event);\n\t\t\tif (!props.columnsChange) return;\n\t\t\tawait clickUtil.debounceAsync(() => props.columnsChange(state.orgColumns), 500);\n\t\t};\n\n\t\tconst handleImagePreview = (url: string): void => {\n\t\t\tstate.previewList = [url];\n\t\t\tstate.imagePreview = true;\n\t\t};\n\n\t\tonMounted(async () => {\n\t\t\tstate.initParam = props.initParam;\n\t\t\tdefaultSearchTime();\n\t\t\t// 初始化搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\t\tObject.keys(props.initParam ?? {}).forEach((key) => {\n\t\t\t\tstate.searchParam[key] = props.initParam[key];\n\t\t\t});\n\t\t\tawait tableSearch();\n\n\t\t\twatch(\n\t\t\t\t() => props.columns,\n\t\t\t\tasync () => {\n\t\t\t\t\tloadTableColumns();\n\t\t\t\t},\n\t\t\t\t{ deep: true, immediate: true }\n\t\t\t);\n\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t() => {\n\t\t\t\t\t// 如果初始化参数改变了,则需要改变对应的搜索参数\n\t\t\t\t\tObject.keys(props.initParam ?? {}).forEach((key) => {\n\t\t\t\t\t\tstate.searchParam[key] = props.initParam[key];\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi && props.autoRefresh) {\n\t\t\t\t\t\tawait tableSearch();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true, immediate: true }\n\t\t\t);\n\n\t\t\twatchEffect(async () => {\n\t\t\t\tconst element = elementRef.value;\n\t\t\t\tif (element) {\n\t\t\t\t\tconst observer = new ResizeObserver((entries) => {\n\t\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\t\tconst { width, height } = entry.contentRect;\n\t\t\t\t\t\t\tstate.tableWidth = width;\n\t\t\t\t\t\t\tstate.tableHeight = height;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclickUtil.debounceAsync(async () => {\n\t\t\t\t\t\t\tawait handleTableColumnAutoWidth();\n\t\t\t\t\t\t}, 100);\n\t\t\t\t\t});\n\t\t\t\t\tobserver.observe(element);\n\n\t\t\t\t\treturn (): void => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonActivated(async () => {\n\t\t\t// 解决 keep-alive 后自动列宽失效的问题\n\t\t\tawait handleTableColumnAutoWidth();\n\t\t});\n\n\t\tconst searchFormSlotNames = computed(() => state.searchColumns.filter((f) => f.search.slot).map((m) => m.search.slot));\n\n\t\tconst tableColumnSlotNames = computed(() => state.tableColumns.filter((f) => f.slot).map((m) => m.slot));\n\n\t\tconst tableColumnOmitNames = [\"multiOrder\", \"columnId\", \"order\", \"sortableField\", \"disabledSortable\", \"spanProp\", \"pureSearch\", \"search\"];\n\n\t\tconst elTableProps = useProps(props, tableProps, [\"data\", \"spanMethod\", \"headerCellClassName\", \"cellClassName\"]);\n\n\t\tuseRender(() => (\n\t\t\t<div\n\t\t\t\tref={elementRef}\n\t\t\t\tclass={[\n\t\t\t\t\t\"fa-table\",\n\t\t\t\t\t`fa-table-${_globalSize.value}`,\n\t\t\t\t\t`fa-table__${props.tableKey ?? \"notFound\"}`,\n\t\t\t\t\t{ fa__click__disabled: state.loading },\n\t\t\t\t]}\n\t\t\t\tstyle={{\n\t\t\t\t\t\"--fa-table-width\": `${state.tableWidth ? `${state.tableWidth}px` : \"\"}`,\n\t\t\t\t\t\"--fa-table-height\": `${state.tableHeight ? `${state.tableHeight}px` : \"\"}`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<FaTableSearchForm\n\t\t\t\t\tvSlots={pick(slots, searchFormSlotNames.value)}\n\t\t\t\t\tshow={props.searchForm && state.searchForm}\n\t\t\t\t\tcollapsedSearch={props.collapsedSearch}\n\t\t\t\t\tadvancedSearchDrawer={props.advancedSearchDrawer}\n\t\t\t\t\tcols={props.searchFormCols}\n\t\t\t\t\tsearch={tableSearch}\n\t\t\t\t\treset={tableReset}\n\t\t\t\t/>\n\t\t\t\t{slots.topHeader && (\n\t\t\t\t\t<div class=\"el-card fa-table__header\">{slots.topHeader({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}</div>\n\t\t\t\t)}\n\t\t\t\t<div class=\"el-card fa-table__main\">\n\t\t\t\t\t{props.headerCard && (\n\t\t\t\t\t\t<div class=\"fa-table__main-header\">\n\t\t\t\t\t\t\t<div class=\"fa-table__main-header-left\">\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"fa-table__main-header-right\">\n\t\t\t\t\t\t\t\t{props.toolBtn && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__main-header-right__div-search\">\n\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-table__main-header-right__input-search\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\tprefixIcon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"关键字搜索\"\n\t\t\t\t\t\t\t\t\t\t\t\tvModel_trim={state.searchParam.searchValue}\n\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\tonCompositionupdate={(e: CompositionEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstate.searchValueUpdate = e.data;\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonCompositionend={(e: CompositionEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstate.searchValueUpdate = \"\";\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={() => tableSearch()}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__main-header-right__div-search__hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t{state.searchParam.searchValue}\n\t\t\t\t\t\t\t\t\t\t\t\t{state.searchValueUpdate}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{props.requestApi && !props.hideSearchTime && (\n\t\t\t\t\t\t\t\t\t\t\t<ElDatePicker\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-table__main-header-right__data-search\"\n\t\t\t\t\t\t\t\t\t\t\t\tpopperClass=\"fa-table__main-header-right__data-search__popper\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"daterange\"\n\t\t\t\t\t\t\t\t\t\t\t\tvModel={state.searchParam.searchTimeList}\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultTime={dateUtil.getDefaultTime()}\n\t\t\t\t\t\t\t\t\t\t\t\tshortcuts={dateUtil.getShortcuts()}\n\t\t\t\t\t\t\t\t\t\t\t\tvalueFormat=\"YYYY-MM-DD HH:mm:ss\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabledDate={dateUtil.getDisabledDate}\n\t\t\t\t\t\t\t\t\t\t\t\tclearable={false}\n\t\t\t\t\t\t\t\t\t\t\t\tteleported={false}\n\t\t\t\t\t\t\t\t\t\t\t\tunlinkPanels\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={() => tableSearch()}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{props.refreshBtn && (\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Refresh}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => tableSearch()}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{props.searchBtn && state.searchColumns.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={state.searchForm ? \"隐藏搜索栏\" : \"显示搜索栏\"}\n\t\t\t\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => (state.searchForm = !state.searchForm)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{props.columnSettingBtn && props.columns && (\n\t\t\t\t\t\t\t\t\t\t\t<ElDropdown title=\"表格列配置\" trigger=\"click\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: () => <ElButton loading={state.loading} loadingIcon={Eleme} circle icon={Setting} />,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdown: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots.columnSetting && slots.columnSetting()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElDropdownItem title=\"表格列配置\" divided onClick={() => columnSettingRef.value.open()}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t表格列配置\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElDropdownItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</ElDropdown>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{slots.toolButton && slots.toolButton({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t{slots.toolButtonAdv && (\n\t\t\t\t\t\t\t\t\t\t\t<ElDropdown title=\"高级操作\" trigger=\"click\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElButton loading={state.loading} loadingIcon={Eleme} circle icon={More}></ElButton>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdown: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots.toolButtonAdv({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</ElDropdown>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<ElTable\n\t\t\t\t\t\t{...elTableProps.value}\n\t\t\t\t\t\tref={tableRef}\n\t\t\t\t\t\tvLoading={state.loading}\n\t\t\t\t\t\telement-loading-text={state.loadingText}\n\t\t\t\t\t\tdata={state.tableData}\n\t\t\t\t\t\tspanMethod={handleSpanMethod}\n\t\t\t\t\t\theaderCellClassName={handleHeaderCellClassName}\n\t\t\t\t\t\tcellClassName={handleCellClassName}\n\t\t\t\t\t\tonSelectionChange={handleSelectionChange}\n\t\t\t\t\t\tonSortChange={handleSortChange}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonSelectAll={handleSelectAll}\n\t\t\t\t\t\tonCurrentChange={handleCurrentChange}\n\t\t\t\t\t\tonHeaderDragend={handleHeaderDragend}\n\t\t\t\t\t\tonCellMouseEnter={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellMouseEnter\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellMouseLeave={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellMouseLeave\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellClick={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellClick\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellDblclick={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellDblclick\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellContextmenu={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellContextmenu\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRowClick={(row: any, column: TableColumnCtx<any>, event: Event) => emit(\"rowClick\", row, column, event)}\n\t\t\t\t\t\tonRowContextmenu={(row: any, column: TableColumnCtx<any>, event: Event) => emit(\"rowContextmenu\", row, column, event)}\n\t\t\t\t\t\tonRowDblclick={(row: any, column: TableColumnCtx<any>, event: Event) => emit(\"rowDblclick\", row, column, event)}\n\t\t\t\t\t\tonHeaderClick={(column: TableColumnCtx<any>, event: Event) => emit(\"headerClick\", column, event)}\n\t\t\t\t\t\tonHeaderContextmenu={(column: TableColumnCtx<any>, event: Event) => emit(\"headerContextmenu\", column, event)}\n\t\t\t\t\t\tonFilterChange={(newFilters: any) => emit(\"filterChange\", newFilters)}\n\t\t\t\t\t\tonExpandChange={(row: any, expanded: boolean | any[]) => emit(\"expandChange\", row, expanded)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tappend: () => slots.append && slots.append(),\n\t\t\t\t\t\t\tempty: () => (\n\t\t\t\t\t\t\t\t<div class=\"fa-table__empty\">\n\t\t\t\t\t\t\t\t\t{slots.empty ? (\n\t\t\t\t\t\t\t\t\t\tslots.empty()\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t<NotData />\n\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t<div>暂无数据</div>\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t\t\t\tclassName=\"fa-table__index-column\"\n\t\t\t\t\t\t\t\t\t\ttype=\"index\"\n\t\t\t\t\t\t\t\t\t\tfixed=\"left\"\n\t\t\t\t\t\t\t\t\t\twidth={\n\t\t\t\t\t\t\t\t\t\t\tstate.tablePagination.pageIndex * state.tablePagination.pageSize >= 100\n\t\t\t\t\t\t\t\t\t\t\t\t? state.tablePagination.pageIndex * state.tablePagination.pageSize >= 1000\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 50\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 40\n\t\t\t\t\t\t\t\t\t\t\t\t: 30\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\tindex={indexMethod}\n\t\t\t\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\t\t\t\tcolumnKey=\"__table-index\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t\t\t\tclassName=\"fa-table__selection-column\"\n\t\t\t\t\t\t\t\t\t\ttype=\"selection\"\n\t\t\t\t\t\t\t\t\t\tfixed=\"left\"\n\t\t\t\t\t\t\t\t\t\twidth={35}\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\treserveSelection\n\t\t\t\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\t\t\t\tcolumnKey=\"__table-selection\"\n\t\t\t\t\t\t\t\t\t\tselectable={props.rowSelectable}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{slots.operation && (\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t\t\t\t\tfixed=\"right\"\n\t\t\t\t\t\t\t\t\t\t\twidth={state.operationColumnWidth}\n\t\t\t\t\t\t\t\t\t\t\theaderAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\talign=\"left\"\n\t\t\t\t\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"fa-table__operation-column\"\n\t\t\t\t\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\t\t\t\t\tcolumnKey=\"__table-operation\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\theader: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__auto-width-column__cell-header __fa-table__auto-width-column__cell-header____table-operation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>操作</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__auto-width-column__cell __fa-table__auto-width-column__cell____table-operation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots.operation({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...{ search: tableSearch },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(state),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{state.tableColumns?.length === 0\n\t\t\t\t\t\t\t\t\t\t? slots.default && slots.default()\n\t\t\t\t\t\t\t\t\t\t: state.tableColumns.map(\n\t\t\t\t\t\t\t\t\t\t\t\t(col) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tcol.show &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t(col.type === \"expand\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElTableColumn {...col} width={35} fixed={col.fixed ?? \"left\"} resizable={false}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow: any;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{col.render &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.render({ row, column, $index, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{col.slot &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[col.slot] &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[col.slot]({ row, column, $index, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.prop && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FaTableColumn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvSlots={pick(slots, tableColumnSlotNames.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...omit(col, tableColumnOmitNames)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thideImage={props.hideImage}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresizable={true}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonImagePreview={handleImagePreview}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonCustomCellClick={handleCustomCellClick}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}}\n\t\t\t\t\t</ElTable>\n\t\t\t\t\t<div class=\"fa-table__main-footer\">\n\t\t\t\t\t\t<div class=\"fa-table__main-footer__left\">\n\t\t\t\t\t\t\t{slots.footer && slots.footer({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{slots.pagination ? (\n\t\t\t\t\t\t\tslots.pagination({\n\t\t\t\t\t\t\t\tpageIndex: state.tablePagination.pageIndex,\n\t\t\t\t\t\t\t\tpageSize: state.tablePagination.pageSize,\n\t\t\t\t\t\t\t\ttotalRows: state.tablePagination.totalRows,\n\t\t\t\t\t\t\t\thandleSizeChange,\n\t\t\t\t\t\t\t\thandlePaginationChange,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{props.pagination ? (\n\t\t\t\t\t\t\t\t\t<FaTablePagination onSizeChange={handleSizeChange} onCurrentChange={handlePaginationChange} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<ElPagination class=\"fa-table-pagination\" size=\"small\" layout=\"total\" total={state.tableData.length} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{state.imagePreview && (\n\t\t\t\t\t<ElImageViewer\n\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\tteleported\n\t\t\t\t\t\tonClose={() => (state.imagePreview = false)}\n\t\t\t\t\t\turlList={state.previewList}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{props.columnSettingBtn && <FaTableColumnsSettingDialog ref={columnSettingRef} change={props.columnsChange} />}\n\t\t\t</div>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 用于多选表格,清空用户的选择 */\n\t\t\tclearSelection: computed(() => tableRef.value?.clearSelection),\n\t\t\t/** @description 返回当前选中的行 */\n\t\t\tgetSelectionRows: computed(() => tableRef.value?.getSelectionRows),\n\t\t\t/** @description 用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */\n\t\t\ttoggleRowSelection: computed(() => tableRef.value?.toggleRowSelection),\n\t\t\t/** @description 用于多选表格,切换全选和全不选 */\n\t\t\ttoggleAllSelection: computed(() => tableRef.value?.toggleAllSelection),\n\t\t\t/** @description 用于可扩展的表格或树表格,如果某行被扩展,则切换。 使用第二个参数,您可以直接设置该行应该被扩展或折叠。 */\n\t\t\ttoggleRowExpansion: computed(() => tableRef.value?.toggleRowExpansion),\n\t\t\t/** @description 用于单选表格,设定某一行为选中行, 如果调用时不加参数,则会取消目前高亮行的选中状态。 */\n\t\t\tsetCurrentRow: computed(() => tableRef.value?.setCurrentRow),\n\t\t\t/** @description 用于清空排序条件,数据会恢复成未排序的状态 */\n\t\t\tclearSort: computed(() => tableRef.value?.clearSort),\n\t\t\t/** @description 传入由columnKey 组成的数组以清除指定列的过滤条件。 如果没有参数,清除所有过滤器 */\n\t\t\tclearFilter: computed(() => tableRef.value?.clearFilter),\n\t\t\t/** @description 对 Table 进行重新布局。 当表格可见性变化时,您可能需要调用此方法以获得正确的布局 */\n\t\t\tdoLayout: computed(() => tableRef.value?.doLayout),\n\t\t\t/** @description 手动排序表格。 参数 prop 属性指定排序列,order 指定排序顺序。 */\n\t\t\tsort: computed(() => tableRef.value?.sort),\n\t\t\t/** @description 滚动到一组特定坐标 */\n\t\t\tscrollTo: computed(() => tableRef.value?.scrollTo),\n\t\t\t/** @description 设置垂直滚动位置 */\n\t\t\tsetScrollTop: computed(() => tableRef.value?.setScrollTop),\n\t\t\t/** @description 设置水平滚动位置 */\n\t\t\tsetScrollLeft: computed(() => tableRef.value?.setScrollLeft),\n\t\t\t/** @description 获取表列的 context */\n\t\t\tcolumns: computed(() => tableRef.value?.columns),\n\t\t\t/** @description 适用于 lazy Table, 需要设置 rowKey, 更新 key children */\n\t\t\tupdateKeyChildren: computed(() => tableRef.value?.updateKeyChildren),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 表格数据 */\n\t\t\ttableData: computed(() => state.tableData),\n\t\t\t/** @description 分页数据 */\n\t\t\ttablePagination: computed(() => state.tablePagination),\n\t\t\t/** @description 搜索参数 */\n\t\t\tsearchParam: computed(() => state.searchParam),\n\t\t\t/** @description 选中状态 */\n\t\t\tselected: computed(() => state.selected),\n\t\t\t/** @description 选中数据列表 */\n\t\t\tselectedList: computed(() => state.selectedList),\n\t\t\t/** @description 选中数据 rowKey 列表 */\n\t\t\tselectedListIds: computed(() => state.selectedListIds),\n\t\t\t/** @description 部分选中数据 rowKey 列表 */\n\t\t\tindeterminateSelectedListIds: computed(() => state.indeterminateSelectedListIds),\n\t\t\t/** @description 表格宽度 */\n\t\t\ttableWidth: computed(() => state.tableWidth),\n\t\t\t/** @description 表格高度 */\n\t\t\ttableHeight: computed(() => state.tableHeight),\n\t\t\t/** @description 部分选中(样式不一样而已),用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */\n\t\t\ttoggleRowIndeterminateSelection,\n\t\t\t/** @description 异步方法,刷新表格 */\n\t\t\trefresh: tableSearch,\n\t\t\t/** @description 异步方法,重置表格 */\n\t\t\treset: tableReset,\n\t\t\t/** @description 对 Table 进行重新渲染。当 TableKey 发生变化的时候可以通过此方法重新渲染表格 */\n\t\t\tdoRender,\n\t\t\t/** @description Table 加载 */\n\t\t\tdoLoading,\n\t\t});\n\t},\n});\n"],"names":["tableProps","data","type","Array","default","size","useSizeProp","width","String","Number","height","maxHeight","fit","Boolean","stripe","border","rowKey","Function","showHeader","showSummary","sumText","summaryMethod","rowClassName","rowStyle","Object","cellClassName","cellStyle","headerRowClassName","headerRowStyle","headerCellClassName","headerCellStyle","highlightCurrentRow","currentRowKey","emptyText","expandRowKeys","defaultExpandAll","defaultSort","tooltipEffect","tooltipOptions","spanMethod","selectOnIndeterminate","indent","treeProps","hasChildren","children","checkStrictly","lazy","load","style","className","tableLayout","scrollbarAlwaysOn","flexible","showOverflowTooltip","scrollbarTabindex","undefined","faTableProps","validator","consoleWarn","tableKey","stringUtil","generateRandomString","definePropType","requestApi","dataCallback","initParam","columns","columnsChange","searchFormCols","xs","sm","md","lg","xl","collapsedSearch","advancedSearchDrawer","searchForm","headerCard","refreshBtn","searchBtn","columnSettingBtn","toolBtn","hideSearchTime","dataSearchRange","pagination","hideImage","single","rowClickSelection","treeData","props","span","autoRefresh","rowSelectable","faTableEmits","select","selection","row","isArray","isObject","selectAll","selectionChange","newSelection","cellMouseEnter","column","cell","event","HTMLTableCellElement","Event","cellMouseLeave","cellClick","cellDblclick","cellContextmenu","rowClick","rowContextmenu","rowDblclick","headerClick","headerContextmenu","sortChange","filterChange","newFilters","isString","isNumber","isBoolean","currentChange","currentRow","oldCurrentRow","isNull","headerDragend","newWidth","oldWidth","MouseEvent","expandChange","expanded","refresh","params","reset","sizeChange","pageSize","paginationChange","pageIndex","customCellClick","emitName","$index","isNil","Table","name","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","state","elementRef","tableRef","handleTableColumnAutoWidth","loadTableColumns","handleSizeChange","handlePaginationChange","defaultSearchTime","tableSearch","tableReset","doRender","doLoading","handleCustomCellClick","useTable","columnSettingRef","ref","lastRowIndex","indexMethod","index","spanColumns","length","tableSpanData","tablePagination","handleSelect","value","clearSelection","toggleRowSelection","handleSelectAll","selected","tableData","handleSelectionChange","selectedList","indeterminateSelectedListIds","filter","f","selectedListIds","some","s","handleSortChange","prop","order","multiOrder","searchParam","sortList","Set","orgColumn","orgColumns","find","enField","sortableField","property","fieldIndex","findIndex","push","cnField","label","mode","splice","handleCurrentChange","handleCellClassName","rowIndex","columnIndex","localCellClassName","isFunction","columnInfo","tableColumns","dataDeleteField","handleHeaderCellClassName","handleSpanMethod","pKey","columnKey","rowspan","colspan","handleHeaderDragend","async","forEach","smallWidth","clickUtil","debounceAsync","handleImagePreview","url","previewList","imagePreview","onMounted","keys","key","watch","deep","immediate","watchEffect","element","observer","ResizeObserver","entries","entry","contentRect","tableWidth","tableHeight","observe","disconnect","onActivated","searchFormSlotNames","computed","searchColumns","search","slot","map","m","tableColumnSlotNames","tableColumnOmitNames","elTableProps","useProps","useRender","_createVNode","class","fa__click__disabled","loading","FaTableSearchForm","show","cols","pick","topHeader","getTableDefaultSlots","header","_Fragment","ElInput","disabled","prefixIcon","Search","placeholder","modelValue","searchValue","modelModifiers","trim","$event","clearable","onCompositionupdate","e","searchValueUpdate","onCompositionend","onChange","ElDatePicker","popperClass","searchTimeList","defaultTime","dateUtil","getDefaultTime","shortcuts","getShortcuts","valueFormat","disabledDate","getDisabledDate","teleported","unlinkPanels","ElButton","loadingIcon","Eleme","title","circle","icon","Refresh","onClick","ElDropdown","trigger","Setting","dropdown","ElDropdownMenu","columnSetting","ElDropdownItem","divided","open","_createTextVNode","toolButton","toolButtonAdv","More","_slot","prototype","toString","call","_isVNode","_withDirectives","ElTable","_mergeProps","loadingText","onSelectionChange","onSortChange","onSelect","onSelectAll","onCurrentChange","onHeaderDragend","onCellMouseEnter","onCellMouseLeave","onCellClick","onCellDblclick","onCellContextmenu","onRowClick","onRowContextmenu","onRowDblclick","onHeaderClick","onHeaderContextmenu","onFilterChange","onExpandChange","append","empty","ElIcon","NotData","ElTableColumn","fixed","align","resizable","reserveSelection","selectable","operation","operationColumnWidth","headerAlign","col","render","FaTableColumn","omit","onImagePreview","onCustomCellClick","_resolveDirective","footer","totalRows","FaTablePagination","onSizeChange","ElPagination","layout","total","ElImageViewer","closeOnPressEscape","hideOnClickModal","onClose","urlList","FaTableColumnsSettingDialog","change","useExpose","getSelectionRows","toggleAllSelection","toggleRowExpansion","setCurrentRow","clearSort","clearFilter","doLayout","sort","scrollTo","setScrollTop","setScrollLeft","updateKeyChildren","toggleRowIndeterminateSelection","curRow","fIndex"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../../packages/components/table/src/table.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, onActivated, onMounted, ref, watch, watchEffect } from \"vue\";\nimport {\n\tElButton,\n\tElDatePicker,\n\tElDropdown,\n\tElDropdownItem,\n\tElDropdownMenu,\n\tElIcon,\n\tElImageViewer,\n\tElInput,\n\tElPagination,\n\tElTable,\n\tElTableColumn,\n\tuseSizeProp,\n} from \"element-plus\";\nimport { Eleme, More, Refresh, Search, Setting } from \"@element-plus/icons-vue\";\nimport { NotData } from \"@fast-element-plus/icons-vue\";\nimport { clickUtil, consoleWarn, dateUtil, definePropType, makeSlots, stringUtil, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isArray, isBoolean, isFunction, isNil, isNull, isNumber, isObject, isString, omit, pick } from \"lodash-unified\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport FaTableColumn from \"./tableColumn\";\nimport FaTableColumnsSettingDialog from \"./tableColumnSettingDialog\";\nimport FaTablePagination from \"./tablePagination\";\nimport FaTableSearchForm from \"./tableSearchForm\";\nimport { useTable } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDataRange, FaTableDefaultSlotsResult } from \"./table.type\";\nimport type { PagedInput, PagedResult, PagedSortInput } from \"../src/page.type\";\nimport type { FaLayoutGridBreakPoint } from \"@fast-element-plus/components/layoutGrid\";\nimport type { TableColumnCtx, TableProps } from \"element-plus\";\nimport type { CSSProperties, PropType } from \"vue\";\n\ntype DefaultRow = any;\n\ntype Layout = \"fixed\" | \"auto\";\n\n// type TreeProps = TableProps<DefaultRow>[\"treeProps\"];\ntype TreeProps = {\n\thasChildren?: string;\n\tchildren?: string;\n\tcheckStrictly?: boolean;\n};\n\nexport const tableProps = {\n\t/**\n\t * @description table data\n\t */\n\tdata: {\n\t\ttype: Array as PropType<DefaultRow[]>,\n\t\tdefault: (): DefaultRow[] => [],\n\t},\n\t/**\n\t * @description size of Table\n\t */\n\tsize: useSizeProp,\n\twidth: [String, Number],\n\t/**\n\t * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n\t */\n\theight: [String, Number],\n\t/**\n\t * @description table's max-height. The legal value is a number or the height in px\n\t */\n\tmaxHeight: [String, Number],\n\t/**\n\t * @description whether width of column automatically fits its container\n\t */\n\tfit: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description whether Table is striped\n\t */\n\tstripe: Boolean,\n\t/**\n\t * @description whether Table has vertical border\n\t */\n\tborder: Boolean,\n\t/**\n\t * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n\t */\n\trowKey: [String, Function] as PropType<TableProps<DefaultRow>[\"rowKey\"]>,\n\t/**\n\t * @description whether Table header is visible\n\t */\n\tshowHeader: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description whether to display a summary row\n\t */\n\tshowSummary: Boolean,\n\t/**\n\t * @description displayed text for the first column of summary row\n\t */\n\tsumText: String,\n\t/**\n\t * @description custom summary method\n\t */\n\tsummaryMethod: Function as PropType<TableProps<DefaultRow>[\"summaryMethod\"]>,\n\t/**\n\t * @description function that returns custom class names for a row, or a string assigning class names for every row\n\t */\n\trowClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"rowClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a row, or an object assigning custom style for every row\n\t */\n\trowStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"rowStyle\"]>,\n\t/**\n\t * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n\t */\n\tcellClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"cellClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n\t */\n\tcellStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"cellStyle\"]>,\n\t/**\n\t * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n\t */\n\theaderRowClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"headerRowClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n\t */\n\theaderRowStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"headerRowStyle\"]>,\n\t/**\n\t * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n\t */\n\theaderCellClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"headerCellClassName\"]>,\n\t/**\n\t * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n\t */\n\theaderCellStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"headerCellStyle\"]>,\n\t/**\n\t * @description whether current row is highlighted\n\t */\n\thighlightCurrentRow: Boolean,\n\t/**\n\t * @description key of current row, a set only prop\n\t */\n\tcurrentRowKey: [String, Number],\n\t/**\n\t * @description displayed text when data is empty. You can customize this area with `#empty`\n\t */\n\temptyText: String,\n\t/**\n\t * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n\t */\n\texpandRowKeys: Array as PropType<TableProps<DefaultRow>[\"expandRowKeys\"]>,\n\t/**\n\t * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n\t */\n\tdefaultExpandAll: Boolean,\n\t/**\n\t * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n\t */\n\tdefaultSort: Object as PropType<TableProps<DefaultRow>[\"defaultSort\"]>,\n\t/**\n\t * @description the `effect` of the overflow tooltip\n\t */\n\ttooltipEffect: String,\n\t/**\n\t * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n\t */\n\ttooltipOptions: Object as PropType<TableProps<DefaultRow>[\"tooltipOptions\"]>,\n\t/**\n\t * @description method that returns rowspan and colspan\n\t */\n\tspanMethod: Function as PropType<TableProps<DefaultRow>[\"spanMethod\"]>,\n\t/**\n\t * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n\t */\n\tselectOnIndeterminate: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description horizontal indentation of tree data\n\t */\n\tindent: {\n\t\ttype: Number,\n\t\tdefault: 16,\n\t},\n\t/**\n\t * @description configuration for rendering nested data\n\t */\n\ttreeProps: {\n\t\ttype: Object as PropType<TreeProps>,\n\t\tdefault: (): TreeProps => ({\n\t\t\thasChildren: \"hasChildren\",\n\t\t\tchildren: \"children\",\n\t\t\tcheckStrictly: false,\n\t\t}),\n\t},\n\t/**\n\t * @description whether to lazy loading data\n\t */\n\tlazy: Boolean,\n\t/**\n\t * @description method for loading child row data, only works when `lazy` is true\n\t */\n\tload: Function as PropType<TableProps<DefaultRow>[\"load\"]>,\n\tstyle: {\n\t\ttype: Object as PropType<CSSProperties>,\n\t\tdefault: (): CSSProperties => ({}),\n\t},\n\tclassName: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description sets the algorithm used to lay out table cells, rows, and columns\n\t */\n\ttableLayout: {\n\t\ttype: String as PropType<Layout>,\n\t\tdefault: \"fixed\",\n\t},\n\t/**\n\t * @description always show scrollbar\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * @description ensure main axis minimum-size doesn't follow the content\n\t */\n\tflexible: Boolean,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n\t */\n\tshowOverflowTooltip: [Boolean, Object] as PropType<TableProps<DefaultRow>[\"showOverflowTooltip\"]>,\n\tscrollbarTabindex: {\n\t\ttype: [Number, String],\n\t\tdefault: undefined,\n\t},\n};\n\nexport const faTableProps = {\n\t...tableProps,\n\t/** @description whether Table has vertical border */\n\tborder: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether current row is highlighted */\n\thighlightCurrentRow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used */\n\trowKey: {\n\t\ttype: [String, Function] as PropType<TableProps<any>[\"rowKey\"]>,\n\t\tdefault: \"id\",\n\t},\n\t/** @description 组件封装,原生的已经失效 method that returns rowspan and colspan */\n\tspanMethod: {\n\t\ttype: Function as PropType<TableProps<DefaultRow>[\"spanMethod\"]>,\n\t\tvalidator: (): boolean => {\n\t\t\tconsoleWarn(\"FaTable\", \"'spanMethod' 属性,组件已经封装,外部使用会失效。\");\n\t\t\treturn false;\n\t\t},\n\t},\n\t/** @description 表格Key */\n\ttableKey: {\n\t\ttype: String,\n\t\tdefault: (): string => stringUtil.generateRandomString(8),\n\t},\n\t/** @description 表格数据 */\n\tdata: {\n\t\ttype: definePropType<any[]>(Array),\n\t\tdefault: (): any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: PagedInput) => Promise<PagedResult | any[]>>(Function),\n\t},\n\t/** @description 接口请求数据回调 */\n\tdataCallback: {\n\t\ttype: definePropType<(data: any) => void>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n\t/** @description 列配置 */\n\tcolumns: {\n\t\ttype: definePropType<FaTableColumnCtx[] | false>([Array, Boolean]),\n\t\tdefault: (): FaTableColumnCtx[] | false => false,\n\t},\n\t/** @description 表格列改变 */\n\tcolumnsChange: {\n\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t},\n\t/** @description 搜索表单 Grid布局列配置 */\n\tsearchFormCols: {\n\t\ttype: definePropType<string | number | Record<FaLayoutGridBreakPoint, number>>([String, Number, Object]),\n\t\tdefault: (): string | number | Record<FaLayoutGridBreakPoint, number> => ({ xs: 3, sm: 3, md: 4, lg: 5, xl: 6 }),\n\t},\n\t/** @description 折叠搜素 */\n\tcollapsedSearch: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 高级搜素抽屉 */\n\tadvancedSearchDrawer: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t/** @description 搜索表单 */\n\tsearchForm: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 头部卡片 */\n\theaderCard: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 刷新按钮 */\n\trefreshBtn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 搜索按钮 */\n\tsearchBtn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 列配置按钮 */\n\tcolumnSettingBtn: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\t/** @description 头部卡片右侧功能按钮 */\n\ttoolBtn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 隐藏搜索时间 */\n\thideSearchTime: Boolean,\n\t/** @description 搜索时间范围 */\n\tdataSearchRange: {\n\t\ttype: definePropType<FaTableDataRange>(String),\n\t\tdefault: \"Past3D\",\n\t},\n\t/** @description 分页 */\n\tpagination: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 隐藏图片 */\n\thideImage: Boolean,\n\t/** @description 单选 */\n\tsingle: Boolean,\n\t/** @description 行点击选择 */\n\trowClickSelection: Boolean,\n\t/** @description 树形数据 */\n\ttreeData: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<{ span?: string; children?: string }>(Object),\n\t\tdefault: (): { span?: string; children?: string } => ({\n\t\t\tspan: undefined,\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 自动刷新,当传入 data 时候,如果存在更改则自动刷新 */\n\tautoRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * 等价于 Table-Column 的 selectable\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\trowSelectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n};\n\nexport const faTableEmits = {\n\t/** @description 当用户手动勾选数据行的 Checkbox 时触发的事件 */\n\tselect: (selection: any[], row: any): boolean => isArray(selection) && isObject(row),\n\t/** @description 当用户手动勾选全选 Checkbox 时触发的事件 */\n\tselectAll: (selection: any[]): boolean => isArray(selection),\n\t/** @description 当选择项发生变化时会触发该事件 */\n\tselectionChange: (newSelection: any[]): boolean => isArray(newSelection),\n\t/** @description 当单元格 hover 进入时会触发该事件 */\n\tcellMouseEnter: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当单元格 hover 退出时会触发该事件 */\n\tcellMouseLeave: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某个单元格被点击时会触发该事件 */\n\tcellClick: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某个单元格被双击击时会触发该事件 */\n\tcellDblclick: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某个单元格被鼠标右键点击时会触发该事件 */\n\tcellContextmenu: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event): boolean =>\n\t\tisObject(row) && isObject(column) && cell instanceof HTMLTableCellElement && event instanceof Event,\n\t/** @description 当某一行被点击时会触发该事件 */\n\trowClick: (row: any, column: TableColumnCtx<any>, event: Event): boolean => isObject(row) && isObject(column) && event instanceof Event,\n\t/** @description 当某一行被鼠标右键点击时会触发该事件 */\n\trowContextmenu: (row: any, column: TableColumnCtx<any>, event: Event): boolean => isObject(row) && isObject(column) && event instanceof Event,\n\t/** @description 当某一行被双击时会触发该事件 */\n\trowDblclick: (row: any, column: TableColumnCtx<any>, event: Event): boolean => isObject(row) && isObject(column) && event instanceof Event,\n\t/** @description 当某一列的表头被点击时会触发该事件 */\n\theaderClick: (column: TableColumnCtx<any>, event: Event): boolean => isObject(column) && event instanceof Event,\n\t/** @description 当某一列的表头被鼠标右键点击时触发该事件 */\n\theaderContextmenu: (column: TableColumnCtx<any>, event: Event): boolean => isObject(column) && event instanceof Event,\n\t/** @description 当表格的排序条件发生变化的时候会触发该事件 */\n\tsortChange: (data: { column: TableColumnCtx<any>; prop: string; order: \"\" | \"ascending\" | \"descending\" }): boolean => isObject(data),\n\t/** @description column 的 key, 如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件 */\n\tfilterChange: (newFilters: any): boolean => isString(newFilters) || isNumber(newFilters) || isBoolean(newFilters) || isObject(newFilters),\n\t/** @description 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 */\n\tcurrentChange: (currentRow: any, oldCurrentRow: any): boolean => isObject(currentRow) && (isNull(oldCurrentRow) || isObject(oldCurrentRow)),\n\t/** @description 当拖动表头改变了列的宽度的时候会触发该事件 */\n\theaderDragend: (newWidth: number, oldWidth: number, column: TableColumnCtx<any>, event: MouseEvent): boolean =>\n\t\tisNumber(newWidth) && isNumber(oldWidth) && isObject(column) && event instanceof MouseEvent,\n\t/** @description 当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) */\n\texpandChange: (row: any, expanded: boolean | any[]): boolean => isObject(row) && (isBoolean(expanded) || isArray(expanded)),\n\n\t/** @description 表格刷新事件 */\n\trefresh: (params: PagedInput): boolean => isObject(params),\n\t/** @description 表格重置事件 */\n\treset: (params: PagedInput): boolean => isObject(params),\n\t/** @description 分页页码改变事件 */\n\tsizeChange: (pageSize: number): boolean => isNumber(pageSize),\n\t/** @description 分页改变事件 */\n\tpaginationChange: (pageIndex: number, pageSize: number): boolean => isNumber(pageIndex) && isNumber(pageSize),\n\t/** @description 自定义单元格点击事件 */\n\tcustomCellClick: (\n\t\temitName: string,\n\t\t{ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult\n\t): boolean => (isNil(emitName) || isString(emitName)) && isObject(row) && isObject(column) && isNumber($index),\n};\n\nexport type FaTableSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n\t/** @description 插入至表格最后一行之后的内容, 如果需要对表格的内容进行无限滚动操作,可能需要用到这个 slot。 若表格有合计行,该 slot 会位于合计行之上。 */\n\tappend: never;\n\t/** @description 当数据为空时自定义的内容 */\n\tempty: never;\n\t/** @description 表格顶部插槽 */\n\ttopHeader: FaTableDefaultSlotsResult;\n\t/** @description 表格头部左侧插槽 */\n\theader: FaTableDefaultSlotsResult;\n\t/** @description 表格头部右侧功能按钮插槽 */\n\ttoolButton: FaTableDefaultSlotsResult;\n\t/** @description 表格头部右侧高级操作按钮插槽,ElDropdownMenuItem 标签 */\n\ttoolButtonAdv: FaTableDefaultSlotsResult;\n\t/** @description 表格操作列插槽 */\n\toperation: FaTableDefaultSlotsResult & {\n\t\trow: any;\n\t\tcolumn: FaTableColumnCtx;\n\t\t$index: number;\n\t};\n\t/** @description 表格分页插槽 */\n\tpagination: {\n\t\tpageIndex: number;\n\t\tpageSize: number;\n\t\ttotalRows: number;\n\t\thandleSizeChange: (val: number) => void;\n\t\thandlePaginationChange: (val: number) => void;\n\t};\n\t/** @description 表格页脚插槽 */\n\tfooter: FaTableDefaultSlotsResult;\n\t/** @description 列配置 */\n\tcolumnSetting: never;\n} & {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\t/** @description slots为表格内容的时候才会返回 */\n\t\trow?: any;\n\t\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\t\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t\t/** @description slot为非搜索项的时候才会返回 */\n\t\t$index?: number;\n\t\t/** @description slot为搜索项的时候才会返回 */\n\t\tsearch?: () => void;\n\t};\n};\n\nexport default defineComponent({\n\tname: \"FaTable\",\n\tprops: faTableProps,\n\temits: faTableEmits,\n\tslots: makeSlots<FaTableSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst {\n\t\t\t_globalSize,\n\t\t\tstate,\n\t\t\telementRef,\n\t\t\ttableRef,\n\t\t\thandleTableColumnAutoWidth,\n\t\t\tloadTableColumns,\n\t\t\thandleSizeChange,\n\t\t\thandlePaginationChange,\n\t\t\tdefaultSearchTime,\n\t\t\ttableSearch,\n\t\t\ttableReset,\n\t\t\tdoRender,\n\t\t\tdoLoading,\n\t\t\thandleCustomCellClick,\n\t\t} = useTable(props, slots, emit);\n\n\t\tconst columnSettingRef = ref<InstanceType<typeof FaTableColumnsSettingDialog>>();\n\t\tlet lastRowIndex = 0;\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\tif (index === 0) {\n\t\t\t\tlastRowIndex = 0;\n\t\t\t}\n\t\t\tif (state.spanColumns?.length > 0) {\n\t\t\t\tconst rowspan = Number(state.tableSpanData[\"__table-index\"][index]);\n\t\t\t\tif (rowspan === 0) {\n\t\t\t\t\treturn lastRowIndex + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize + 1;\n\t\t\t\t} else {\n\t\t\t\t\tlastRowIndex++;\n\t\t\t\t\treturn lastRowIndex + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn index + (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize + 1;\n\t\t};\n\n\t\tconst handleSelect = (selection: any[], row: any): void => {\n\t\t\t// 判断是否开启了单选\n\t\t\tif (props.single) {\n\t\t\t\ttableRef.value.clearSelection();\n\t\t\t\tif (selection.length > 0 && row) {\n\t\t\t\t\ttableRef.value.toggleRowSelection(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"select\", selection, row);\n\t\t};\n\n\t\tconst handleSelectAll = (selection: any[]): void => {\n\t\t\tif (props.single) {\n\t\t\t\t// 判断是否已经选中数据\n\t\t\t\tif (state.selected) {\n\t\t\t\t\t// 默认选中的第一行\n\t\t\t\t\tif (state.tableData.length > 0) {\n\t\t\t\t\t\ttableRef.value.clearSelection();\n\t\t\t\t\t\ttableRef.value.toggleRowSelection(state.tableData[0]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttableRef.value.clearSelection();\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"selectAll\", selection);\n\t\t};\n\n\t\tconst handleSelectionChange = (newSelection: any[]): void => {\n\t\t\tnewSelection.length === 0 ? (state.selected = false) : (state.selected = true);\n\t\t\t// 判断是否为单选\n\t\t\tif (props.single && newSelection.length > 0) {\n\t\t\t\t// 这里获取最后一个是因为选中改变的事件会触发多次,会带入旧的数据\n\t\t\t\tstate.selectedList = [newSelection[newSelection.length - 1]];\n\t\t\t} else {\n\t\t\t\tstate.selectedList = newSelection;\n\t\t\t}\n\t\t\t// 如果已经取消选择了,那么部分选择也应该要取消\n\t\t\tstate.indeterminateSelectedListIds = state.indeterminateSelectedListIds.filter((f) => state.selectedListIds.some((s) => s === f));\n\t\t\temit(\"selectionChange\", state.selectedList);\n\t\t};\n\n\t\tconst toggleRowIndeterminateSelection = (row: any, selected?: boolean): void => {\n\t\t\tconst rowKey = isFunction(props.rowKey) ? props.rowKey(row) : row[props.rowKey];\n\t\t\tconst curRow = state.tableData.find((f) => (isFunction(props.rowKey) ? props.rowKey(f) : f[props.rowKey] === rowKey));\n\t\t\tif (selected === true) {\n\t\t\t\tif (!state.indeterminateSelectedListIds.some((s) => s === rowKey)) {\n\t\t\t\t\tstate.indeterminateSelectedListIds.push(rowKey);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(curRow, true);\n\t\t\t} else if (selected === false) {\n\t\t\t\tconst fIndex = state.indeterminateSelectedListIds.findIndex((f) => f === rowKey);\n\t\t\t\tif (fIndex >= 0) {\n\t\t\t\t\tstate.indeterminateSelectedListIds.splice(fIndex, 1);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(curRow, false);\n\t\t\t} else {\n\t\t\t\tconst fIndex = state.indeterminateSelectedListIds.findIndex((f) => f === rowKey);\n\t\t\t\tif (fIndex >= 0) {\n\t\t\t\t\tstate.indeterminateSelectedListIds.splice(fIndex, 1);\n\t\t\t\t} else {\n\t\t\t\t\tstate.indeterminateSelectedListIds.push(rowKey);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(curRow);\n\t\t\t}\n\t\t};\n\n\t\tconst handleSortChange = ({\n\t\t\tcolumn,\n\t\t\tprop,\n\t\t\torder,\n\t\t}: {\n\t\t\tcolumn: TableColumnCtx<any> & { multiOrder?: \"\" | \"ascending\" | \"descending\" };\n\t\t\tprop: string;\n\t\t\torder: any;\n\t\t}): void => {\n\t\t\tif (!column.multiOrder) {\n\t\t\t\tcolumn.multiOrder = \"descending\";\n\t\t\t} else if (column.multiOrder === \"descending\") {\n\t\t\t\tcolumn.multiOrder = \"ascending\";\n\t\t\t} else {\n\t\t\t\tcolumn.multiOrder = null;\n\t\t\t}\n\t\t\t// 排序集合非空判断\n\t\t\tstate.searchParam.sortList = [...new Set([...(props.initParam?.sortList ?? []), ...(state.searchParam?.sortList ?? [])])];\n\n\t\t\t// 去原来的列中查找表格的列数据\n\t\t\tconst orgColumn = state.orgColumns.find((f) => f.prop === prop);\n\t\t\tconst enField = orgColumn?.sortableField ?? orgColumn?.prop ?? column.property;\n\t\t\tconst fieldIndex = state.searchParam.sortList.findIndex((f: PagedSortInput) => f.enField === enField);\n\t\t\tif (!column.multiOrder) {\n\t\t\t\t// 如果是空的,删除排序\n\t\t\t\tstate.searchParam.sortList.splice(fieldIndex, 1);\n\t\t\t} else if (fieldIndex === -1) {\n\t\t\t\tstate.searchParam.sortList.push({\n\t\t\t\t\tenField,\n\t\t\t\t\tcnField: column.label,\n\t\t\t\t\tmode: column.multiOrder,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tstate.searchParam.sortList[fieldIndex].mode = column.multiOrder;\n\t\t\t}\n\t\t\t// 判断最后的排序集合中是否还存在数据,如果不存在,则删除排序集合\n\t\t\tif (state.searchParam.sortList.length === 0) {\n\t\t\t\tdelete state.searchParam.sortList;\n\t\t\t}\n\t\t\temit(\"sortChange\", { column, prop, order: column.multiOrder });\n\t\t\ttableSearch();\n\t\t};\n\n\t\tconst handleCurrentChange = (currentRow: any, oldCurrentRow: any): void => {\n\t\t\tif (!currentRow) {\n\t\t\t\t// 这里为空的时候,会导致 Header 中的不确定状态还是true的状态\n\t\t\t\t// tableRef.value.clearSelection();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (props.rowClickSelection) {\n\t\t\t\t// 判断是否为单选\n\t\t\t\tif (props.single && oldCurrentRow) {\n\t\t\t\t\ttableRef.value.toggleRowSelection(oldCurrentRow);\n\t\t\t\t}\n\t\t\t\ttableRef.value.toggleRowSelection(currentRow);\n\t\t\t}\n\t\t\temit(\"currentChange\", currentRow, oldCurrentRow);\n\t\t};\n\n\t\tconst handleCellClassName = ({\n\t\t\trow,\n\t\t\tcolumn,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t}: {\n\t\t\trow: any;\n\t\t\tcolumn: TableColumnCtx<any>;\n\t\t\trowIndex: number;\n\t\t\tcolumnIndex: number;\n\t\t}): string => {\n\t\t\tlet localCellClassName = null;\n\t\t\t// 判断是否为选择列\n\t\t\tif (column.type === \"selection\") {\n\t\t\t\t// 判断是否在部分选中的集合中\n\t\t\t\tconst rowKey = isFunction(props.rowKey) ? props.rowKey(row) : row[props.rowKey];\n\t\t\t\tif (state.indeterminateSelectedListIds.some((s) => s === rowKey)) {\n\t\t\t\t\tlocalCellClassName = \"fa-table__selection-column__indeterminate\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst columnInfo = state.tableColumns.find((f) => f.prop === column.property);\n\t\t\tif (columnInfo?.dataDeleteField) {\n\t\t\t\tif (row && row[columnInfo.dataDeleteField] === true) {\n\t\t\t\t\tif (localCellClassName) {\n\t\t\t\t\t\tlocalCellClassName += \" fa-table__data-delete-column\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocalCellClassName = \"fa-table__data-delete-column\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (props.cellClassName) {\n\t\t\t\tlet cellClassName = null;\n\t\t\t\tif (isString(props.cellClassName)) {\n\t\t\t\t\tcellClassName = props.cellClassName;\n\t\t\t\t} else {\n\t\t\t\t\tcellClassName = props.cellClassName({ row, column, rowIndex, columnIndex });\n\t\t\t\t}\n\t\t\t\tif (!cellClassName) {\n\t\t\t\t\treturn localCellClassName;\n\t\t\t\t}\n\t\t\t\tif (localCellClassName) {\n\t\t\t\t\treturn `${localCellClassName} ${cellClassName}`;\n\t\t\t\t} else {\n\t\t\t\t\treturn cellClassName;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn localCellClassName;\n\t\t\t}\n\t\t};\n\n\t\tconst handleHeaderCellClassName = ({\n\t\t\trow,\n\t\t\tcolumn,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t}: {\n\t\t\trow: any;\n\t\t\tcolumn: TableColumnCtx<any> & { multiOrder?: \"\" | \"ascending\" | \"descending\" };\n\t\t\trowIndex: number;\n\t\t\tcolumnIndex: number;\n\t\t}): string => {\n\t\t\t// TODO:不晓得这里有无问题,EL 更新了还未测试\n\t\t\tcolumn.order = column.multiOrder as any;\n\t\t\tif (props.headerCellClassName) {\n\t\t\t\tif (isFunction(props.headerCellClassName)) {\n\t\t\t\t\treturn props.headerCellClassName({ row, column, rowIndex, columnIndex });\n\t\t\t\t} else {\n\t\t\t\t\treturn props.headerCellClassName;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t};\n\n\t\tconst handleSpanMethod = ({\n\t\t\trow,\n\t\t\tcolumn,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t}: {\n\t\t\trow: any;\n\t\t\tcolumn: TableColumnCtx<any>;\n\t\t\trowIndex: number;\n\t\t\tcolumnIndex: number;\n\t\t}): number[] | { rowspan: number; colspan: number } | void => {\n\t\t\t/** @description 原生的 span-method 会失效 */\n\t\t\tconst pKey = column.property ?? column.columnKey;\n\t\t\tif (state.spanColumns.findIndex((f) => f.prop === pKey) !== -1) {\n\t\t\t\tconst rowspan = Number(state.tableSpanData[pKey][rowIndex]);\n\t\t\t\tif (rowspan > 0) {\n\t\t\t\t\treturn { rowspan, colspan: 1 };\n\t\t\t\t}\n\t\t\t\treturn { rowspan: 0, colspan: 0 };\n\t\t\t}\n\t\t\treturn { rowspan: 1, colspan: 1 };\n\t\t};\n\n\t\tconst handleHeaderDragend = async (newWidth: number, oldWidth: number, column: TableColumnCtx<any>, event: MouseEvent): Promise<void> => {\n\t\t\tstate.orgColumns.forEach((f) => {\n\t\t\t\tif (column.property === f.prop) {\n\t\t\t\t\tf.width = newWidth;\n\t\t\t\t\tf.smallWidth = newWidth;\n\t\t\t\t}\n\t\t\t});\n\t\t\temit(\"headerDragend\", newWidth, oldWidth, column, event);\n\t\t\tif (!props.columnsChange) return;\n\t\t\tawait clickUtil.debounceAsync(() => props.columnsChange(state.orgColumns), 500);\n\t\t};\n\n\t\tconst handleImagePreview = (url: string): void => {\n\t\t\tstate.previewList = [url];\n\t\t\tstate.imagePreview = true;\n\t\t};\n\n\t\tonMounted(async () => {\n\t\t\tstate.initParam = props.initParam;\n\t\t\tdefaultSearchTime();\n\t\t\t// 初始化搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\t\tObject.keys(props.initParam ?? {}).forEach((key) => {\n\t\t\t\tstate.searchParam[key] = props.initParam[key];\n\t\t\t});\n\t\t\tawait tableSearch();\n\n\t\t\twatch(\n\t\t\t\t() => props.columns,\n\t\t\t\tasync () => {\n\t\t\t\t\tloadTableColumns();\n\t\t\t\t},\n\t\t\t\t{ deep: true, immediate: true }\n\t\t\t);\n\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t() => {\n\t\t\t\t\t// 如果初始化参数改变了,则需要改变对应的搜索参数\n\t\t\t\t\tObject.keys(props.initParam ?? {}).forEach((key) => {\n\t\t\t\t\t\tstate.searchParam[key] = props.initParam[key];\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi && props.autoRefresh) {\n\t\t\t\t\t\tawait tableSearch();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true, immediate: true }\n\t\t\t);\n\n\t\t\twatchEffect(async () => {\n\t\t\t\tconst element = elementRef.value;\n\t\t\t\tif (element) {\n\t\t\t\t\tconst observer = new ResizeObserver((entries) => {\n\t\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\t\tconst { width, height } = entry.contentRect;\n\t\t\t\t\t\t\tstate.tableWidth = width;\n\t\t\t\t\t\t\tstate.tableHeight = height;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclickUtil.debounceAsync(async () => {\n\t\t\t\t\t\t\tawait handleTableColumnAutoWidth();\n\t\t\t\t\t\t}, 100);\n\t\t\t\t\t});\n\t\t\t\t\tobserver.observe(element);\n\n\t\t\t\t\treturn (): void => {\n\t\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tonActivated(async () => {\n\t\t\t// 解决 keep-alive 后自动列宽失效的问题\n\t\t\tawait handleTableColumnAutoWidth();\n\t\t});\n\n\t\tconst searchFormSlotNames = computed(() => state.searchColumns.filter((f) => f.search.slot).map((m) => m.search.slot));\n\n\t\tconst tableColumnSlotNames = computed(() => state.tableColumns.filter((f) => f.slot).map((m) => m.slot));\n\n\t\tconst tableColumnOmitNames = [\"multiOrder\", \"columnId\", \"order\", \"sortableField\", \"disabledSortable\", \"spanProp\", \"pureSearch\", \"search\"];\n\n\t\tconst elTableProps = useProps(props, tableProps, [\"data\", \"spanMethod\", \"headerCellClassName\", \"cellClassName\"]);\n\n\t\tuseRender(() => (\n\t\t\t<div\n\t\t\t\tref={elementRef}\n\t\t\t\tclass={[\n\t\t\t\t\t\"fa-table\",\n\t\t\t\t\t`fa-table-${_globalSize.value}`,\n\t\t\t\t\t`fa-table__${props.tableKey ?? \"notFound\"}`,\n\t\t\t\t\t{ fa__click__disabled: state.loading },\n\t\t\t\t]}\n\t\t\t\tstyle={{\n\t\t\t\t\t\"--fa-table-width\": `${state.tableWidth ? `${state.tableWidth}px` : \"\"}`,\n\t\t\t\t\t\"--fa-table-height\": `${state.tableHeight ? `${state.tableHeight}px` : \"\"}`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<FaTableSearchForm\n\t\t\t\t\tvSlots={pick(slots, searchFormSlotNames.value)}\n\t\t\t\t\tshow={props.searchForm && state.searchForm}\n\t\t\t\t\tcollapsedSearch={props.collapsedSearch}\n\t\t\t\t\tadvancedSearchDrawer={props.advancedSearchDrawer}\n\t\t\t\t\tcols={props.searchFormCols}\n\t\t\t\t\tsearch={tableSearch}\n\t\t\t\t\treset={tableReset}\n\t\t\t\t/>\n\t\t\t\t{slots.topHeader && (\n\t\t\t\t\t<div class=\"el-card fa-table__header\">{slots.topHeader({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}</div>\n\t\t\t\t)}\n\t\t\t\t<div class=\"el-card fa-table__main\">\n\t\t\t\t\t{props.headerCard && (\n\t\t\t\t\t\t<div class=\"fa-table__main-header\">\n\t\t\t\t\t\t\t<div class=\"fa-table__main-header-left\">\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"fa-table__main-header-right\">\n\t\t\t\t\t\t\t\t{props.toolBtn && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__main-header-right__div-search\">\n\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-table__main-header-right__input-search\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\tprefixIcon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"关键字搜索\"\n\t\t\t\t\t\t\t\t\t\t\t\tvModel_trim={state.searchParam.searchValue}\n\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\tonCompositionupdate={(e: CompositionEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstate.searchValueUpdate = e.data;\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonCompositionend={(e: CompositionEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstate.searchValueUpdate = \"\";\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={() => tableSearch()}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__main-header-right__div-search__hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t{state.searchParam.searchValue}\n\t\t\t\t\t\t\t\t\t\t\t\t{state.searchValueUpdate}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{props.requestApi && !props.hideSearchTime && (\n\t\t\t\t\t\t\t\t\t\t\t<ElDatePicker\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-table__main-header-right__data-search\"\n\t\t\t\t\t\t\t\t\t\t\t\tpopperClass=\"fa-table__main-header-right__data-search__popper\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"daterange\"\n\t\t\t\t\t\t\t\t\t\t\t\tvModel={state.searchParam.searchTimeList}\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultTime={dateUtil.getDefaultTime()}\n\t\t\t\t\t\t\t\t\t\t\t\tshortcuts={dateUtil.getShortcuts()}\n\t\t\t\t\t\t\t\t\t\t\t\tvalueFormat=\"YYYY-MM-DD HH:mm:ss\"\n\t\t\t\t\t\t\t\t\t\t\t\tclearable={false}\n\t\t\t\t\t\t\t\t\t\t\t\tteleported={false}\n\t\t\t\t\t\t\t\t\t\t\t\tunlinkPanels\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={() => tableSearch()}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{props.refreshBtn && (\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Refresh}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => tableSearch()}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{props.searchBtn && state.searchColumns.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={state.searchForm ? \"隐藏搜索栏\" : \"显示搜索栏\"}\n\t\t\t\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => (state.searchForm = !state.searchForm)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{props.columnSettingBtn && props.columns && (\n\t\t\t\t\t\t\t\t\t\t\t<ElDropdown title=\"表格列配置\" trigger=\"click\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: () => <ElButton loading={state.loading} loadingIcon={Eleme} circle icon={Setting} />,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdown: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots.columnSetting && slots.columnSetting()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElDropdownItem title=\"表格列配置\" divided onClick={() => columnSettingRef.value.open()}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t表格列配置\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElDropdownItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</ElDropdown>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{slots.toolButton && slots.toolButton({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t{slots.toolButtonAdv && (\n\t\t\t\t\t\t\t\t\t\t\t<ElDropdown title=\"高级操作\" trigger=\"click\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElButton loading={state.loading} loadingIcon={Eleme} circle icon={More}></ElButton>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropdown: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots.toolButtonAdv({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElDropdownMenu>\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</ElDropdown>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<ElTable\n\t\t\t\t\t\t{...elTableProps.value}\n\t\t\t\t\t\tref={tableRef}\n\t\t\t\t\t\tvLoading={state.loading}\n\t\t\t\t\t\telement-loading-text={state.loadingText}\n\t\t\t\t\t\tdata={state.tableData}\n\t\t\t\t\t\tspanMethod={handleSpanMethod}\n\t\t\t\t\t\theaderCellClassName={handleHeaderCellClassName}\n\t\t\t\t\t\tcellClassName={handleCellClassName}\n\t\t\t\t\t\tonSelectionChange={handleSelectionChange}\n\t\t\t\t\t\tonSortChange={handleSortChange}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonSelectAll={handleSelectAll}\n\t\t\t\t\t\tonCurrentChange={handleCurrentChange}\n\t\t\t\t\t\tonHeaderDragend={handleHeaderDragend}\n\t\t\t\t\t\tonCellMouseEnter={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellMouseEnter\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellMouseLeave={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellMouseLeave\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellClick={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellClick\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellDblclick={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellDblclick\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonCellContextmenu={(row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) =>\n\t\t\t\t\t\t\temit(\"cellContextmenu\", row, column, cell, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRowClick={(row: any, column: TableColumnCtx<any>, event: Event) => emit(\"rowClick\", row, column, event)}\n\t\t\t\t\t\tonRowContextmenu={(row: any, column: TableColumnCtx<any>, event: Event) => emit(\"rowContextmenu\", row, column, event)}\n\t\t\t\t\t\tonRowDblclick={(row: any, column: TableColumnCtx<any>, event: Event) => emit(\"rowDblclick\", row, column, event)}\n\t\t\t\t\t\tonHeaderClick={(column: TableColumnCtx<any>, event: Event) => emit(\"headerClick\", column, event)}\n\t\t\t\t\t\tonHeaderContextmenu={(column: TableColumnCtx<any>, event: Event) => emit(\"headerContextmenu\", column, event)}\n\t\t\t\t\t\tonFilterChange={(newFilters: any) => emit(\"filterChange\", newFilters)}\n\t\t\t\t\t\tonExpandChange={(row: any, expanded: boolean | any[]) => emit(\"expandChange\", row, expanded)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tappend: () => slots.append && slots.append(),\n\t\t\t\t\t\t\tempty: () => (\n\t\t\t\t\t\t\t\t<div class=\"fa-table__empty\">\n\t\t\t\t\t\t\t\t\t{slots.empty ? (\n\t\t\t\t\t\t\t\t\t\tslots.empty()\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t<NotData />\n\t\t\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t\t\t\t<div>暂无数据</div>\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t\t\t\tclassName=\"fa-table__index-column\"\n\t\t\t\t\t\t\t\t\t\ttype=\"index\"\n\t\t\t\t\t\t\t\t\t\tfixed=\"left\"\n\t\t\t\t\t\t\t\t\t\twidth={\n\t\t\t\t\t\t\t\t\t\t\tstate.tablePagination.pageIndex * state.tablePagination.pageSize >= 100\n\t\t\t\t\t\t\t\t\t\t\t\t? state.tablePagination.pageIndex * state.tablePagination.pageSize >= 1000\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 50\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 40\n\t\t\t\t\t\t\t\t\t\t\t\t: 30\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\tindex={indexMethod}\n\t\t\t\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\t\t\t\tcolumnKey=\"__table-index\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t\t\t\tclassName=\"fa-table__selection-column\"\n\t\t\t\t\t\t\t\t\t\ttype=\"selection\"\n\t\t\t\t\t\t\t\t\t\tfixed=\"left\"\n\t\t\t\t\t\t\t\t\t\twidth={35}\n\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\treserveSelection\n\t\t\t\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\t\t\t\tcolumnKey=\"__table-selection\"\n\t\t\t\t\t\t\t\t\t\tselectable={props.rowSelectable}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{slots.operation && (\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t\t\t\t\tfixed=\"right\"\n\t\t\t\t\t\t\t\t\t\t\twidth={state.operationColumnWidth}\n\t\t\t\t\t\t\t\t\t\t\theaderAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\talign=\"left\"\n\t\t\t\t\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"fa-table__operation-column\"\n\t\t\t\t\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\t\t\t\t\tcolumnKey=\"__table-operation\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\theader: () => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__auto-width-column__cell-header __fa-table__auto-width-column__cell-header____table-operation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>操作</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"fa-table__auto-width-column__cell __fa-table__auto-width-column__cell____table-operation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{slots.operation({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...{ search: tableSearch },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(state),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{state.tableColumns?.length === 0\n\t\t\t\t\t\t\t\t\t\t? slots.default && slots.default()\n\t\t\t\t\t\t\t\t\t\t: state.tableColumns.map(\n\t\t\t\t\t\t\t\t\t\t\t\t(col) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tcol.show &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t(col.type === \"expand\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElTableColumn {...col} width={35} fixed={col.fixed ?? \"left\"} resizable={false}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefault: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow: any;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn: FaTableColumnCtx;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$index: number;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{col.render &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.render({ row, column, $index, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{col.slot &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[col.slot] &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tslots[col.slot]({ row, column, $index, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.prop && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FaTableColumn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvSlots={pick(slots, tableColumnSlotNames.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...omit(col, tableColumnOmitNames)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thideImage={props.hideImage}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresizable={true}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonImagePreview={handleImagePreview}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonCustomCellClick={handleCustomCellClick}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}}\n\t\t\t\t\t</ElTable>\n\t\t\t\t\t<div class=\"fa-table__main-footer\">\n\t\t\t\t\t\t<div class=\"fa-table__main-footer__left\">\n\t\t\t\t\t\t\t{slots.footer && slots.footer({ ...{ search: tableSearch }, ...getTableDefaultSlots(state) })}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{slots.pagination ? (\n\t\t\t\t\t\t\tslots.pagination({\n\t\t\t\t\t\t\t\tpageIndex: state.tablePagination.pageIndex,\n\t\t\t\t\t\t\t\tpageSize: state.tablePagination.pageSize,\n\t\t\t\t\t\t\t\ttotalRows: state.tablePagination.totalRows,\n\t\t\t\t\t\t\t\thandleSizeChange,\n\t\t\t\t\t\t\t\thandlePaginationChange,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{props.pagination ? (\n\t\t\t\t\t\t\t\t\t<FaTablePagination onSizeChange={handleSizeChange} onCurrentChange={handlePaginationChange} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<ElPagination class=\"fa-table-pagination\" size=\"small\" layout=\"total\" total={state.tableData.length} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{state.imagePreview && (\n\t\t\t\t\t<ElImageViewer\n\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\tteleported\n\t\t\t\t\t\tonClose={() => (state.imagePreview = false)}\n\t\t\t\t\t\turlList={state.previewList}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{props.columnSettingBtn && <FaTableColumnsSettingDialog ref={columnSettingRef} change={props.columnsChange} />}\n\t\t\t</div>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 用于多选表格,清空用户的选择 */\n\t\t\tclearSelection: computed(() => tableRef.value?.clearSelection),\n\t\t\t/** @description 返回当前选中的行 */\n\t\t\tgetSelectionRows: computed(() => tableRef.value?.getSelectionRows),\n\t\t\t/** @description 用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */\n\t\t\ttoggleRowSelection: computed(() => tableRef.value?.toggleRowSelection),\n\t\t\t/** @description 用于多选表格,切换全选和全不选 */\n\t\t\ttoggleAllSelection: computed(() => tableRef.value?.toggleAllSelection),\n\t\t\t/** @description 用于可扩展的表格或树表格,如果某行被扩展,则切换。 使用第二个参数,您可以直接设置该行应该被扩展或折叠。 */\n\t\t\ttoggleRowExpansion: computed(() => tableRef.value?.toggleRowExpansion),\n\t\t\t/** @description 用于单选表格,设定某一行为选中行, 如果调用时不加参数,则会取消目前高亮行的选中状态。 */\n\t\t\tsetCurrentRow: computed(() => tableRef.value?.setCurrentRow),\n\t\t\t/** @description 用于清空排序条件,数据会恢复成未排序的状态 */\n\t\t\tclearSort: computed(() => tableRef.value?.clearSort),\n\t\t\t/** @description 传入由columnKey 组成的数组以清除指定列的过滤条件。 如果没有参数,清除所有过滤器 */\n\t\t\tclearFilter: computed(() => tableRef.value?.clearFilter),\n\t\t\t/** @description 对 Table 进行重新布局。 当表格可见性变化时,您可能需要调用此方法以获得正确的布局 */\n\t\t\tdoLayout: computed(() => tableRef.value?.doLayout),\n\t\t\t/** @description 手动排序表格。 参数 prop 属性指定排序列,order 指定排序顺序。 */\n\t\t\tsort: computed(() => tableRef.value?.sort),\n\t\t\t/** @description 滚动到一组特定坐标 */\n\t\t\tscrollTo: computed(() => tableRef.value?.scrollTo),\n\t\t\t/** @description 设置垂直滚动位置 */\n\t\t\tsetScrollTop: computed(() => tableRef.value?.setScrollTop),\n\t\t\t/** @description 设置水平滚动位置 */\n\t\t\tsetScrollLeft: computed(() => tableRef.value?.setScrollLeft),\n\t\t\t/** @description 获取表列的 context */\n\t\t\tcolumns: computed(() => tableRef.value?.columns),\n\t\t\t/** @description 适用于 lazy Table, 需要设置 rowKey, 更新 key children */\n\t\t\tupdateKeyChildren: computed(() => tableRef.value?.updateKeyChildren),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 表格数据 */\n\t\t\ttableData: computed(() => state.tableData),\n\t\t\t/** @description 分页数据 */\n\t\t\ttablePagination: computed(() => state.tablePagination),\n\t\t\t/** @description 搜索参数 */\n\t\t\tsearchParam: computed(() => state.searchParam),\n\t\t\t/** @description 选中状态 */\n\t\t\tselected: computed(() => state.selected),\n\t\t\t/** @description 选中数据列表 */\n\t\t\tselectedList: computed(() => state.selectedList),\n\t\t\t/** @description 选中数据 rowKey 列表 */\n\t\t\tselectedListIds: computed(() => state.selectedListIds),\n\t\t\t/** @description 部分选中数据 rowKey 列表 */\n\t\t\tindeterminateSelectedListIds: computed(() => state.indeterminateSelectedListIds),\n\t\t\t/** @description 表格宽度 */\n\t\t\ttableWidth: computed(() => state.tableWidth),\n\t\t\t/** @description 表格高度 */\n\t\t\ttableHeight: computed(() => state.tableHeight),\n\t\t\t/** @description 部分选中(样式不一样而已),用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否 */\n\t\t\ttoggleRowIndeterminateSelection,\n\t\t\t/** @description 异步方法,刷新表格 */\n\t\t\trefresh: tableSearch,\n\t\t\t/** @description 异步方法,重置表格 */\n\t\t\treset: tableReset,\n\t\t\t/** @description 对 Table 进行重新渲染。当 TableKey 发生变化的时候可以通过此方法重新渲染表格 */\n\t\t\tdoRender,\n\t\t\t/** @description Table 加载 */\n\t\t\tdoLoading,\n\t\t});\n\t},\n});\n"],"names":["tableProps","data","type","Array","default","size","useSizeProp","width","String","Number","height","maxHeight","fit","Boolean","stripe","border","rowKey","Function","showHeader","showSummary","sumText","summaryMethod","rowClassName","rowStyle","Object","cellClassName","cellStyle","headerRowClassName","headerRowStyle","headerCellClassName","headerCellStyle","highlightCurrentRow","currentRowKey","emptyText","expandRowKeys","defaultExpandAll","defaultSort","tooltipEffect","tooltipOptions","spanMethod","selectOnIndeterminate","indent","treeProps","hasChildren","children","checkStrictly","lazy","load","style","className","tableLayout","scrollbarAlwaysOn","flexible","showOverflowTooltip","scrollbarTabindex","undefined","faTableProps","validator","consoleWarn","tableKey","stringUtil","generateRandomString","definePropType","requestApi","dataCallback","initParam","columns","columnsChange","searchFormCols","xs","sm","md","lg","xl","collapsedSearch","advancedSearchDrawer","searchForm","headerCard","refreshBtn","searchBtn","columnSettingBtn","toolBtn","hideSearchTime","dataSearchRange","pagination","hideImage","single","rowClickSelection","treeData","props","span","autoRefresh","rowSelectable","faTableEmits","select","selection","row","isArray","isObject","selectAll","selectionChange","newSelection","cellMouseEnter","column","cell","event","HTMLTableCellElement","Event","cellMouseLeave","cellClick","cellDblclick","cellContextmenu","rowClick","rowContextmenu","rowDblclick","headerClick","headerContextmenu","sortChange","filterChange","newFilters","isString","isNumber","isBoolean","currentChange","currentRow","oldCurrentRow","isNull","headerDragend","newWidth","oldWidth","MouseEvent","expandChange","expanded","refresh","params","reset","sizeChange","pageSize","paginationChange","pageIndex","customCellClick","emitName","$index","isNil","Table","name","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","state","elementRef","tableRef","handleTableColumnAutoWidth","loadTableColumns","handleSizeChange","handlePaginationChange","defaultSearchTime","tableSearch","tableReset","doRender","doLoading","handleCustomCellClick","useTable","columnSettingRef","ref","lastRowIndex","indexMethod","index","spanColumns","length","tableSpanData","tablePagination","handleSelect","value","clearSelection","toggleRowSelection","handleSelectAll","selected","tableData","handleSelectionChange","selectedList","indeterminateSelectedListIds","filter","f","selectedListIds","some","s","handleSortChange","prop","order","multiOrder","searchParam","sortList","Set","orgColumn","orgColumns","find","enField","sortableField","property","fieldIndex","findIndex","push","cnField","label","mode","splice","handleCurrentChange","handleCellClassName","rowIndex","columnIndex","localCellClassName","isFunction","columnInfo","tableColumns","dataDeleteField","handleHeaderCellClassName","handleSpanMethod","pKey","columnKey","rowspan","colspan","handleHeaderDragend","async","forEach","smallWidth","clickUtil","debounceAsync","handleImagePreview","url","previewList","imagePreview","onMounted","keys","key","watch","deep","immediate","watchEffect","element","observer","ResizeObserver","entries","entry","contentRect","tableWidth","tableHeight","observe","disconnect","onActivated","searchFormSlotNames","computed","searchColumns","search","slot","map","m","tableColumnSlotNames","tableColumnOmitNames","elTableProps","useProps","useRender","_createVNode","class","fa__click__disabled","loading","FaTableSearchForm","show","cols","pick","topHeader","getTableDefaultSlots","header","_Fragment","ElInput","disabled","prefixIcon","Search","placeholder","modelValue","searchValue","modelModifiers","trim","$event","clearable","onCompositionupdate","e","searchValueUpdate","onCompositionend","onChange","ElDatePicker","popperClass","searchTimeList","defaultTime","dateUtil","getDefaultTime","shortcuts","getShortcuts","valueFormat","teleported","unlinkPanels","ElButton","loadingIcon","Eleme","title","circle","icon","Refresh","onClick","ElDropdown","trigger","Setting","dropdown","ElDropdownMenu","columnSetting","ElDropdownItem","divided","open","_createTextVNode","toolButton","toolButtonAdv","More","_slot","prototype","toString","call","_isVNode","_withDirectives","ElTable","_mergeProps","loadingText","onSelectionChange","onSortChange","onSelect","onSelectAll","onCurrentChange","onHeaderDragend","onCellMouseEnter","onCellMouseLeave","onCellClick","onCellDblclick","onCellContextmenu","onRowClick","onRowContextmenu","onRowDblclick","onHeaderClick","onHeaderContextmenu","onFilterChange","onExpandChange","append","empty","ElIcon","NotData","ElTableColumn","fixed","align","resizable","reserveSelection","selectable","operation","operationColumnWidth","headerAlign","col","render","FaTableColumn","omit","onImagePreview","onCustomCellClick","_resolveDirective","footer","totalRows","FaTablePagination","onSizeChange","ElPagination","layout","total","ElImageViewer","closeOnPressEscape","hideOnClickModal","onClose","urlList","FaTableColumnsSettingDialog","change","useExpose","getSelectionRows","toggleAllSelection","toggleRowExpansion","setCurrentRow","clearSort","clearFilter","doLayout","sort","scrollTo","setScrollTop","setScrollLeft","updateKeyChildren","toggleRowIndeterminateSelection","curRow","fIndex"],"mappings":"4eA0CO,MAAMA,EAAa,CAIzBC,KAAM,CACLC,KAAMC,MACNC,QAASA,IAAoB,IAK9BC,KAAMC,EAAAA,YACNC,MAAO,CAACC,OAAQC,QAIhBC,OAAQ,CAACF,OAAQC,QAIjBE,UAAW,CAACH,OAAQC,QAIpBG,IAAK,CACJV,KAAMW,QACNT,SAAS,GAKVU,OAAQD,QAIRE,OAAQF,QAIRG,OAAQ,CAACR,OAAQS,UAIjBC,WAAY,CACXhB,KAAMW,QACNT,SAAS,GAKVe,YAAaN,QAIbO,QAASZ,OAITa,cAAeJ,SAIfK,aAAc,CAACd,OAAQS,UAIvBM,SAAU,CAACC,OAAQP,UAInBQ,cAAe,CAACjB,OAAQS,UAIxBS,UAAW,CAACF,OAAQP,UAIpBU,mBAAoB,CAACnB,OAAQS,UAI7BW,eAAgB,CAACJ,OAAQP,UAIzBY,oBAAqB,CAACrB,OAAQS,UAI9Ba,gBAAiB,CAACN,OAAQP,UAI1Bc,oBAAqBlB,QAIrBmB,cAAe,CAACxB,OAAQC,QAIxBwB,UAAWzB,OAIX0B,cAAe/B,MAIfgC,iBAAkBtB,QAIlBuB,YAAaZ,OAIba,cAAe7B,OAIf8B,eAAgBd,OAIhBe,WAAYtB,SAIZuB,sBAAuB,CACtBtC,KAAMW,QACNT,SAAS,GAKVqC,OAAQ,CACPvC,KAAMO,OACNL,QAAS,IAKVsC,UAAW,CACVxC,KAAMsB,OACNpB,QAASA,KAAAA,CACRuC,YAAa,cACbC,SAAU,WACVC,eAAe,KAMjBC,KAAMjC,QAINkC,KAAM9B,SACN+B,MAAO,CACN9C,KAAMsB,OACNpB,QAASA,MAAsB,IAEhC6C,UAAW,CACV/C,KAAMM,OACNJ,QAAS,IAKV8C,YAAa,CACZhD,KAAMM,OACNJ,QAAS,SAKV+C,kBAAmBtC,QAInBuC,SAAUvC,QAIVwC,oBAAqB,CAACxC,QAASW,QAC/B8B,kBAAmB,CAClBpD,KAAM,CAACO,OAAQD,QACfJ,aAASmD,IAIEC,EAAe,IACxBxD,EAEHe,OAAQ,CACPb,KAAMW,QACNT,SAAS,GAGV2B,oBAAqB,CACpB7B,KAAMW,QACNT,SAAS,GAGVY,OAAQ,CACPd,KAAM,CAACM,OAAQS,UACfb,QAAS,MAGVmC,WAAY,CACXrC,KAAMe,SACNwC,UAAWA,KACVC,EAAAA,YAAY,UAAW,oCAChB,IAITC,SAAU,CACTzD,KAAMM,OACNJ,QAASA,IAAcwD,aAAWC,qBAAqB,IAGxD5D,KAAM,CACLC,KAAM4D,EAAAA,eAAsB3D,OAC5BC,QAASA,IAAa,IAGvB2D,WAAY,CACX7D,KAAM4D,EAAAA,eAAsE7C,WAG7E+C,aAAc,CACb9D,KAAM4D,EAAAA,eAAoC7C,WAG3CgD,UAAWH,EAAAA,eAAsC,CAACtD,OAAQC,OAAQe,SAElE0C,QAAS,CACRhE,KAAM4D,EAAAA,eAA2C,CAAC3D,MAAOU,UACzDT,QAASA,KAAkC,GAG5C+D,cAAe,CACdjE,KAAM4D,EAAAA,eAA+D7C,WAGtEmD,eAAgB,CACflE,KAAM4D,EAAAA,eAAyE,CAACtD,OAAQC,OAAQe,SAChGpB,QAASA,KAAAA,CAAmEiE,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,KAG7GC,gBAAiB,CAChBxE,KAAMW,QACNT,SAAS,GAGVuE,qBAAsB,CACrBzE,KAAMW,QACNT,SAAS,GAGVwE,WAAY,CACX1E,KAAMW,QACNT,SAAS,GAGVyE,WAAY,CACX3E,KAAMW,QACNT,SAAS,GAGV0E,WAAY,CACX5E,KAAMW,QACNT,SAAS,GAGV2E,UAAW,CACV7E,KAAMW,QACNT,SAAS,GAGV4E,iBAAkB,CACjB9E,KAAMW,QACNT,SAAS,GAGV6E,QAAS,CACR/E,KAAMW,QACNT,SAAS,GAGV8E,eAAgBrE,QAEhBsE,gBAAiB,CAChBjF,KAAM4D,EAAAA,eAAiCtD,QACvCJ,QAAS,UAGVgF,WAAY,CACXlF,KAAMW,QACNT,SAAS,GAGViF,UAAWxE,QAEXyE,OAAQzE,QAER0E,kBAAmB1E,QAEnB2E,SAAU3E,QAEV4E,MAAO,CACNvF,KAAM4D,EAAAA,eAAqDtC,QAC3DpB,QAASA,KAAAA,CACRsF,UAAMnC,EACNX,SAAU,cAIZ+C,YAAa,CACZzF,KAAMW,QACNT,SAAS,GAMVwF,cAAe3E,UAGH4E,EAAe,CAE3BC,OAAQA,CAACC,EAAkBC,IAAsBC,EAAAA,QAAQF,IAAcG,EAAAA,SAASF,GAEhFG,UAAYJ,GAA8BE,EAAAA,QAAQF,GAElDK,gBAAkBC,GAAiCJ,EAAAA,QAAQI,GAE3DC,eAAgBA,CAACN,EAAUO,EAA6BC,EAA4BC,IACnFP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWC,aAAgBE,sBAAwBD,aAAiBE,MAE/FC,eAAgBA,CAACZ,EAAUO,EAA6BC,EAA4BC,IACnFP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWC,aAAgBE,sBAAwBD,aAAiBE,MAE/FE,UAAWA,CAACb,EAAUO,EAA6BC,EAA4BC,IAC9EP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWC,aAAgBE,sBAAwBD,aAAiBE,MAE/FG,aAAcA,CAACd,EAAUO,EAA6BC,EAA4BC,IACjFP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWC,aAAgBE,sBAAwBD,aAAiBE,MAE/FI,gBAAiBA,CAACf,EAAUO,EAA6BC,EAA4BC,IACpFP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWC,aAAgBE,sBAAwBD,aAAiBE,MAE/FK,SAAUA,CAAChB,EAAUO,EAA6BE,IAA0BP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWE,aAAiBE,MAElIM,eAAgBA,CAACjB,EAAUO,EAA6BE,IAA0BP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWE,aAAiBE,MAExIO,YAAaA,CAAClB,EAAUO,EAA6BE,IAA0BP,EAAAA,SAASF,IAAQE,EAAAA,SAASK,IAAWE,aAAiBE,MAErIQ,YAAaA,CAACZ,EAA6BE,IAA0BP,EAAAA,SAASK,IAAWE,aAAiBE,MAE1GS,kBAAmBA,CAACb,EAA6BE,IAA0BP,EAAAA,SAASK,IAAWE,aAAiBE,MAEhHU,WAAapH,GAAyGiG,EAAAA,SAASjG,GAE/HqH,aAAeC,GAA6BC,WAASD,IAAeE,EAAAA,SAASF,IAAeG,YAAUH,IAAerB,EAAAA,SAASqB,GAE9HI,cAAeA,CAACC,EAAiBC,IAAgC3B,WAAS0B,KAAgBE,EAAAA,OAAOD,IAAkB3B,EAAAA,SAAS2B,IAE5HE,cAAeA,CAACC,EAAkBC,EAAkB1B,EAA6BE,IAChFgB,EAAAA,SAASO,IAAaP,EAAAA,SAASQ,IAAa/B,EAAAA,SAASK,IAAWE,aAAiByB,WAElFC,aAAcA,CAACnC,EAAUoC,IAAuClC,WAASF,KAAS0B,EAAAA,UAAUU,IAAanC,EAAAA,QAAQmC,IAGjHC,QAAUC,GAAgCpC,EAAAA,SAASoC,GAEnDC,MAAQD,GAAgCpC,EAAAA,SAASoC,GAEjDE,WAAaC,GAA8BhB,EAAAA,SAASgB,GAEpDC,iBAAkBA,CAACC,EAAmBF,IAA8BhB,EAAAA,SAASkB,IAAclB,EAAAA,SAASgB,GAEpGG,gBAAiBA,CAChBC,GACE7C,MAAKO,SAAQuC,aACDC,EAAAA,MAAMF,IAAarB,EAAAA,SAASqB,KAAc3C,WAASF,IAAQE,EAAAA,SAASK,IAAWkB,EAAAA,SAASqB,IAiDxGE,oBAA+B,CAC9BC,KAAM,UACNxD,MAAOjC,EACP0F,MAAOrD,EACPsD,MAAOC,EAAAA,YACPC,KAAAA,CAAM5D,GAAO6D,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,YACLA,EAAAA,MACAC,EAAAA,WACAC,EAAAA,SACAC,EAAAA,2BACAC,EAAAA,iBACAC,EAAAA,iBACAC,EAAAA,uBACAC,EAAAA,kBACAC,EAAAA,YACAC,EAAAA,WACAC,EAAAA,SACAC,EAAAA,UACAC,EAAAA,sBACAC,GACGC,WAAS9E,EAAO0D,EAAOI,GAErBiB,EAAmBC,EAAAA,MACzB,IAAIC,EAAe,EAEnB,MAAMC,EAAeC,IAIpB,GAHc,IAAVA,IACHF,EAAe,GAEZhB,EAAMmB,aAAaC,OAAS,EAAG,CAElC,OAAgB,IADArK,OAAOiJ,EAAMqB,cAAc,iBAAiBH,IAEpDF,GAAgBhB,EAAMsB,gBAAgBrC,UAAY,GAAKe,EAAMsB,gBAAgBvC,SAAW,GAE/FiC,IACOA,GAAgBhB,EAAMsB,gBAAgBrC,UAAY,GAAKe,EAAMsB,gBAAgBvC,SAEtF,CACA,OAAOmC,GAASlB,EAAMsB,gBAAgBrC,UAAY,GAAKe,EAAMsB,gBAAgBvC,SAAW,GAGnFwC,EAAeA,CAAClF,EAAkBC,KAEnCP,EAAMH,SACTsE,EAASsB,MAAMC,iBACXpF,EAAU+E,OAAS,GAAK9E,GAC3B4D,EAASsB,MAAME,mBAAmBpF,IAGpCuD,EAAK,SAAUxD,EAAWC,IAGrBqF,EAAmBtF,IACpBN,EAAMH,SAELoE,EAAM4B,SAEL5B,EAAM6B,UAAUT,OAAS,IAC5BlB,EAASsB,MAAMC,iBACfvB,EAASsB,MAAME,mBAAmB1B,EAAM6B,UAAU,KAGnD3B,EAASsB,MAAMC,kBAGjB5B,EAAK,YAAaxD,IAGbyF,EAAyBnF,IACN,IAAxBA,EAAayE,OAAgBpB,EAAM4B,UAAW,EAAU5B,EAAM4B,UAAW,EAErE7F,EAAMH,QAAUe,EAAayE,OAAS,EAEzCpB,EAAM+B,aAAe,CAACpF,EAAaA,EAAayE,OAAS,IAEzDpB,EAAM+B,aAAepF,EAGtBqD,EAAMgC,6BAA+BhC,EAAMgC,6BAA6BC,OAAQC,GAAMlC,EAAMmC,gBAAgBC,KAAMC,GAAMA,IAAMH,IAC9HrC,EAAK,kBAAmBG,EAAM+B,eA4BzBO,EAAmBA,EACxBzF,SACA0F,OACAC,YAMK3F,EAAO4F,WAEqB,eAAtB5F,EAAO4F,WACjB5F,EAAO4F,WAAa,YAEpB5F,EAAO4F,WAAa,KAJpB5F,EAAO4F,WAAa,aAOrBzC,EAAM0C,YAAYC,SAAW,QAAQC,IAAI,IAAK7G,EAAMxB,WAAWoI,UAAY,MAAS3C,EAAM0C,aAAaC,UAAY,MAGnH,MAAME,EAAY7C,EAAM8C,WAAWC,KAAMb,GAAMA,EAAEK,OAASA,GACpDS,EAAUH,GAAWI,eAAiBJ,GAAWN,MAAQ1F,EAAOqG,SAChEC,EAAanD,EAAM0C,YAAYC,SAASS,UAAWlB,GAAsBA,EAAEc,UAAYA,GACxFnG,EAAO4F,YAGc,IAAfU,EACVnD,EAAM0C,YAAYC,SAASU,KAAK,CAC/BL,UACAM,QAASzG,EAAO0G,MAChBC,KAAM3G,EAAO4F,aAGdzC,EAAM0C,YAAYC,SAASQ,GAAYK,KAAO3G,EAAO4F,WARrDzC,EAAM0C,YAAYC,SAASc,OAAON,EAAY,GAWL,IAAtCnD,EAAM0C,YAAYC,SAASvB,eACvBpB,EAAM0C,YAAYC,SAE1B9C,EAAK,aAAc,CAAEhD,SAAQ0F,OAAMC,MAAO3F,EAAO4F,aACjDjC,KAGKkD,EAAsBA,CAACxF,EAAiBC,KACxCD,IAKDnC,EAAMF,oBAELE,EAAMH,QAAUuC,GACnB+B,EAASsB,MAAME,mBAAmBvD,GAEnC+B,EAASsB,MAAME,mBAAmBxD,IAEnC2B,EAAK,gBAAiB3B,EAAYC,KAG7BwF,EAAsBA,EAC3BrH,MACAO,SACA+G,WACAC,kBAOA,IAAIC,EAAqB,KAEzB,GAAoB,cAAhBjH,EAAOrG,KAAsB,CAEhC,MAAMc,EAASyM,EAAAA,WAAWhI,EAAMzE,QAAUyE,EAAMzE,OAAOgF,GAAOA,EAAIP,EAAMzE,QACpE0I,EAAMgC,6BAA6BI,KAAMC,GAAMA,IAAM/K,KACxDwM,EAAqB,4CAEvB,CACA,MAAME,EAAahE,EAAMiE,aAAalB,QAAYb,EAAEK,OAAS1F,EAAOqG,UAUpE,GATIc,GAAYE,iBACX5H,IAA2C,IAApCA,EAAI0H,EAAWE,mBACrBJ,EACHA,GAAsB,gCAEtBA,EAAqB,gCAIpB/H,EAAMhE,cAAe,CACxB,IAAIA,EAAgB,KAMpB,OAJCA,EADG+F,EAAAA,SAAS/B,EAAMhE,eACFgE,EAAMhE,cAENgE,EAAMhE,cAAc,CAAEuE,MAAKO,SAAQ+G,WAAUC,gBAEzD9L,EAGD+L,EACI,GAAGA,KAAsB/L,IAEzBA,EALA+L,CAOT,CACC,OAAOA,GAIHK,EAA4BA,EACjC7H,MACAO,SACA+G,WACAC,kBAQAhH,EAAO2F,MAAQ3F,EAAO4F,WAClB1G,EAAM5D,oBACL4L,EAAAA,WAAWhI,EAAM5D,qBACb4D,EAAM5D,oBAAoB,CAAEmE,MAAKO,SAAQ+G,WAAUC,gBAEnD9H,EAAM5D,oBAGR,MAGFiM,EAAmBA,EACxB9H,MACAO,SACA+G,WACAC,kBAQA,MAAMQ,EAAOxH,EAAOqG,UAAYrG,EAAOyH,UACvC,IAA4D,IAAxDtE,EAAMmB,YAAYiC,UAAWlB,GAAMA,EAAEK,OAAS8B,GAAc,CAC/D,MAAME,EAAUxN,OAAOiJ,EAAMqB,cAAcgD,GAAMT,IACjD,OAAIW,EAAU,EACN,CAAEA,UAASC,QAAS,GAErB,CAAED,QAAS,EAAGC,QAAS,EAC/B,CACA,MAAO,CAAED,QAAS,EAAGC,QAAS,IAGzBC,EAAsBC,MAAOpG,EAAkBC,EAAkB1B,EAA6BE,KACnGiD,EAAM8C,WAAW6B,QAASzC,IACrBrF,EAAOqG,WAAahB,EAAEK,OACzBL,EAAErL,MAAQyH,EACV4D,EAAE0C,WAAatG,KAGjBuB,EAAK,gBAAiBvB,EAAUC,EAAU1B,EAAQE,GAC7ChB,EAAMtB,qBACLoK,EAAAA,UAAUC,cAAc,IAAM/I,EAAMtB,cAAcuF,EAAM8C,YAAa,MAGtEiC,EAAsBC,IAC3BhF,EAAMiF,YAAc,CAACD,GACrBhF,EAAMkF,cAAe,GAGtBC,EAAAA,UAAUT,UACT1E,EAAMzF,UAAYwB,EAAMxB,UACxBgG,IAEAzI,OAAOsN,KAAKrJ,EAAMxB,WAAa,CAAA,GAAIoK,QAASU,IAC3CrF,EAAM0C,YAAY2C,GAAOtJ,EAAMxB,UAAU8K,WAEpC7E,IAEN8E,QACC,IAAMvJ,EAAMvB,QACZkK,UACCtE,KAED,CAAEmF,MAAM,EAAMC,WAAW,IAG1BF,QACC,IAAMvJ,EAAMxB,UACZ,KAECzC,OAAOsN,KAAKrJ,EAAMxB,WAAa,CAAA,GAAIoK,QAASU,IAC3CrF,EAAM0C,YAAY2C,GAAOtJ,EAAMxB,UAAU8K,MAG3C,CAAEE,MAAM,IAGTD,QACC,IAAMvJ,EAAMxF,KACZmO,WACM3I,EAAM1B,YAAc0B,EAAME,mBACxBuE,KAGR,CAAE+E,MAAM,EAAMC,WAAW,IAG1BC,EAAAA,YAAYf,UACX,MAAMgB,EAAUzF,EAAWuB,MAC3B,GAAIkE,EAAS,CACZ,MAAMC,EAAW,IAAIC,eAAgBC,IACpC,IAAA,MAAWC,KAASD,EAAS,CAC5B,MAAMhP,MAAEA,EAAAA,OAAOG,GAAW8O,EAAMC,YAChC/F,EAAMgG,WAAanP,EACnBmJ,EAAMiG,YAAcjP,CACrB,CACA6N,EAAAA,UAAUC,cAAcJ,gBACjBvE,KACJ,OAIJ,OAFAwF,EAASO,QAAQR,GAEV,KACNC,EAASQ,aAEX,MAIFC,EAAAA,YAAY1B,gBAELvE,MAGP,MAAMkG,EAAsBC,EAAAA,SAAS,IAAMtG,EAAMuG,cAActE,OAAQC,GAAMA,EAAEsE,OAAOC,MAAMC,OAAWC,EAAEH,OAAOC,OAE1GG,EAAuBN,EAAAA,SAAS,IAAMtG,EAAMiE,aAAahC,OAAQC,GAAMA,EAAEuE,MAAMC,IAAKC,GAAMA,EAAEF,OAE5FI,EAAuB,CAAC,aAAc,WAAY,QAAS,gBAAiB,mBAAoB,WAAY,aAAc,UAE1HC,EAAeC,WAAShL,EAAOzF,EAAY,CAAC,OAAQ,aAAc,sBAAuB,kBAqU/F,OAnUA0Q,YAAU,IAAAC,EAAAA,YAAA,MAAA,CAAAlG,IAEHd,EAAUiH,MACR,CACN,WACA,YAAYnH,EAAYyB,QACxB,aAAazF,EAAM9B,UAAY,aAC/B,CAAEkN,oBAAqBnH,EAAMoH,UAC7B9N,MACM,CACN,mBAAoB,IAAG0G,EAAMgG,WAAa,GAAGhG,EAAMgG,eAAiB,IACpE,oBAAqB,IAAGhG,EAAMiG,YAAc,GAAGjG,EAAMiG,gBAAkB,MACvE,CAAAgB,EAAAA,YAAAI,UAAA,CAAAC,KAIMvL,EAAMb,YAAc8E,EAAM9E,WAAUF,gBACzBe,EAAMf,gBAAeC,qBAChBc,EAAMd,qBAAoBsM,KAC1CxL,EAAMrB,eAAc8L,OAClBhG,EAAW3B,MACZ4B,GANC+G,EAAAA,KAAK/H,EAAO4G,EAAoB7E,QAQxC/B,EAAMgI,WAASR,EAAAA,YAAA,MAAA,CAAAC,MAAA,4BAAA,CACwBzH,EAAMgI,UAAU,CAAOjB,OAAQhG,KAAkBkH,EAAAA,qBAAqB1H,OAC7GiH,EAAAA,YAAA,MAAA,CAAAC,MAAA,0BAAA,CAECnL,EAAMZ,YAAU8L,EAAAA,YAAA,MAAA,CAAAC,MAAA,yBAAA,CAAAD,EAAAA,YAAA,MAAA,CAAAC,MAAA,8BAAA,CAGbzH,EAAMkI,QAAUlI,EAAMkI,OAAO,CAAOnB,OAAQhG,KAAkBkH,EAAAA,qBAAqB1H,OAASiH,EAAAA,YAAA,MAAA,CAAAC,MAAA,+BAAA,CAG5FnL,EAAMR,SAAO0L,EAAAA,YAAAW,EAAAA,eAAAX,EAAAA,YAAA,MAAA,CAAAC,MAAA,2CAAA,CAAAD,EAAAA,YAAAY,UAAA,CAAAX,MAAA,4CAAAY,SAKA9H,EAAMoH,QAAOW,WACXC,EAAAA,OAAMC,YAAA,QAAAC,WAELlI,EAAM0C,YAAYyF,YAAWC,eAAA,CAAAC,MAAA,GAAA,sBAAAC,GAA7BtI,EAAM0C,YAAYyF,YAAWG,EAAAC,WAAA,EAAAC,oBAEpBC,IACrBzI,EAAM0I,kBAAoBD,EAAElS,MAC5BoS,iBACkBF,IAClBzI,EAAM0I,kBAAoB,IAC1BE,SACSA,IAAMpI,KAAa,MAAAyG,EAAAA,YAAA,MAAA,CAAAC,MAAA,mDAAA,CAG5BlH,EAAM0C,YAAYyF,YAClBnI,EAAM0I,sBAGR3M,EAAM1B,aAAe0B,EAAMP,gBAAcyL,EAAAA,YAAA4B,EAAAA,aAAA,CAAA3B,MAAA,2CAAA4B,YAAA,mDAAAhB,SAI9B9H,EAAMoH,QAAO5Q,KAAA,YAAA0R,WAEflI,EAAM0C,YAAYqG,eAAc,sBAAAT,GAAhCtI,EAAM0C,YAAYqG,eAAcT,EAAAU,YAC3BC,EAAAA,SAASC,iBAAgBC,UAC3BF,EAAAA,SAASG,eAAcC,YAAA,sBAAAd,WAEvB,EAAKe,YACJ,EAAKC,cAAA,EAAAX,SAEPA,IAAMpI,KAAa,MAG9BzE,EAAMX,YAAU6L,EAAAA,YAAAuC,EAAAA,SAAA,CAAApC,QAENpH,EAAMoH,QAAOqC,YACTC,EAAAA,MAAKC,MAAA,KAAAC,QAAA,EAAAC,KAGZC,EAAAA,QAAOC,QACJA,IAAMvJ,KAAa,MAG7BzE,EAAMV,WAAa2E,EAAMuG,cAAcnF,OAAS,GAAC6F,EAAAA,YAAAuC,WAAA,CAAApC,QAEvCpH,EAAMoH,QAAOqC,YACTC,EAAAA,MAAKC,MACX3J,EAAM9E,WAAa,QAAU,QAAO0O,QAAA,EAAAC,KAErC7B,EAAAA,OAAM+B,QACHA,IAAO/J,EAAM9E,YAAc8E,EAAM9E,YAAW,MAGtDa,EAAMT,kBAAoBS,EAAMvB,SAAOyM,EAAAA,YAAA+C,aAAA,CAAAL,MAAA,QAAAM,QAAA,SAAA,CAGrCvT,QAASA,IAAAuQ,EAAAA,YAAAuC,WAAA,CAAApC,QAAyBpH,EAAMoH,QAAOqC,YAAeC,EAAAA,MAAKE,QAAA,EAAAC,KAAeK,EAAAA,SAAO,MACzFC,SAAUA,IAAAlD,EAAAA,YAAAmD,EAAAA,eAAA,KAAA,CAAA1T,QAAAA,IAAA,CAEP+I,EAAM4K,eAAiB5K,EAAM4K,gBAAepD,EAAAA,YAAAqD,iBAAA,CAAAX,MAAA,QAAAY,SAAA,EAAAR,QACEA,IAAMjJ,EAAiBU,MAAMgJ,QAAM,CAAA9T,QAAAA,IAAA,CAAA+T,EAAAA,gBAAA,iBAQtFhL,EAAMiL,YAAcjL,EAAMiL,WAAW,CAAOlE,OAAQhG,KAAkBkH,EAAAA,qBAAqB1H,KAC3FP,EAAMkL,eAAa1D,EAAAA,YAAA+C,EAAAA,WAAA,CAAAL,MAAA,OAAAM,QAAA,SAAA,CAGjBvT,QAASA,IAAAuQ,EAAAA,YAAAuC,WAAA,CAAApC,QACWpH,EAAMoH,QAAOqC,YAAeC,EAAAA,MAAKE,QAAA,EAAAC,KAAee,EAAAA,MAAI,MAExET,SAAUA,KAAA,IAAAU,EAAA,OAAA5D,EAAAA,YAAAmD,EAAAA,eAAA,KA/4BvB,mBAAA/H,EA+4BuBwI,EAEPpL,EAAMkL,cAAc,CAAOnE,OAAQhG,KAAkBkH,EAAAA,qBAAqB1H,OAj5B1F,oBAAAlI,OAAAgT,UAAAC,SAAAC,KAAA3I,KAAA4I,EAAAA,QAAA5I,GAi5BmGwI,EAAA,CAAAnU,QAAAA,IAAA,CAAAmU,KAj5BnG,IAAAxI,WA25BM6I,EAAAA,eAAAjE,EAAAA,YAAAkE,UAAAC,EAAAA,WAEItE,EAAatF,MAAK,CAAAT,IACjBb,EAAQ,uBAESF,EAAMqL,YAAW9U,KACjCyJ,EAAM6B,UAAShJ,WACTuL,EAAgBjM,oBACPgM,EAAyBpM,cAC/B4L,EAAmB2H,kBACfxJ,EAAqByJ,aAC1BjJ,EAAgBkJ,SACpBjK,EAAYkK,YACT9J,EAAe+J,gBACXhI,EAAmBiI,gBACnBlH,EAAmBmH,iBAClBA,CAACtP,EAAUO,EAA6BC,EAA4BC,IACrF8C,EAAK,iBAAkBvD,EAAKO,EAAQC,EAAMC,GAAM8O,iBAE/BA,CAACvP,EAAUO,EAA6BC,EAA4BC,IACrF8C,EAAK,iBAAkBvD,EAAKO,EAAQC,EAAMC,GAAM+O,YAEpCA,CAACxP,EAAUO,EAA6BC,EAA4BC,IAChF8C,EAAK,YAAavD,EAAKO,EAAQC,EAAMC,GAAMgP,eAE5BA,CAACzP,EAAUO,EAA6BC,EAA4BC,IACnF8C,EAAK,eAAgBvD,EAAKO,EAAQC,EAAMC,GAAMiP,kBAE5BA,CAAC1P,EAAUO,EAA6BC,EAA4BC,IACtF8C,EAAK,kBAAmBvD,EAAKO,EAAQC,EAAMC,GAAMkP,WAEtCA,CAAC3P,EAAUO,EAA6BE,IAAiB8C,EAAK,WAAYvD,EAAKO,EAAQE,GAAMmP,iBACvFA,CAAC5P,EAAUO,EAA6BE,IAAiB8C,EAAK,iBAAkBvD,EAAKO,EAAQE,GAAMoP,cACtGA,CAAC7P,EAAUO,EAA6BE,IAAiB8C,EAAK,cAAevD,EAAKO,EAAQE,GAAMqP,cAChGA,CAACvP,EAA6BE,IAAiB8C,EAAK,cAAehD,EAAQE,GAAMsP,oBAC3EA,CAACxP,EAA6BE,IAAiB8C,EAAK,oBAAqBhD,EAAQE,GAAMuP,eAC3FzO,GAAoBgC,EAAK,eAAgBhC,GAAW0O,eACrDA,CAACjQ,EAAUoC,IAA8BmB,EAAK,eAAgBvD,EAAKoC,KAAS,CAG3F8N,OAAQA,IAAM/M,EAAM+M,QAAU/M,EAAM+M,SACpCC,MAAOA,IAAAxF,EAAAA,YAAA,MAAA,CAAAC,MAAA,mBAAA,CAEJzH,EAAMgN,MACNhN,EAAMgN,QAAOxF,cAAAW,EAAAA,SAAA,KAAA,CAAAX,cAAAyF,EAAAA,OAAA,KAAA,CAAAhW,QAAAA,IAAA,CAAAuQ,EAAAA,YAAA0F,EAAAA,QAAA,KAAA,SAAA1F,EAAAA,YAAA,MAAA,KAAA,CAAAwD,EAAAA,gBAAA,cAWhB/T,QAASA,IAAAuQ,EAAAA,YAAAW,EAAAA,SAAA,KAAA,CAAAX,EAAAA,YAAA2F,gBAAA,CAAArT,UAAA,yBAAA/C,KAAA,QAAAqW,MAAA,OAAAhW,MAOLmJ,EAAMsB,gBAAgBrC,UAAYe,EAAMsB,gBAAgBvC,UAAY,IACjEiB,EAAMsB,gBAAgBrC,UAAYe,EAAMsB,gBAAgBvC,UAAY,IACnE,GACA,GACD,GAAE+N,MAAA,SAAA5L,MAGCD,EAAWtH,qBACG,EAAKoT,WACf,EAAKzI,UAAA,iBAAA,MAAA2C,EAAAA,YAAA2F,gBAAA,CAAArT,UAAA,6BAAA/C,KAAA,YAAAqW,MAAA,OAAAhW,MAOT,GAAEiW,MAAA,SAAAE,kBAAA,EAAArT,qBAGY,EAAKoT,WACf,EAAKzI,UAAA,oBAAA2I,WAEJlR,EAAMG,eAAa,MAE/BuD,EAAMyN,WAASjG,EAAAA,YAAA2F,EAAAA,cAAA,CAAAC,MAAA,QAAAhW,MAGPmJ,EAAMmN,qBAAoBC,YAAA,SAAAN,MAAA,OAAAnT,qBAGZ,EAAKJ,UAAA,6BAAAwT,WAEf,EAAKzI,UAAA,qBAAA,CAIfqD,OAAQA,IAAAV,EAAAA,YAAA,MAAA,CAAAC,MAAA,0GAAA,CAAAD,EAAAA,YAAA,OAAA,KAAA,CAAAwD,EAAAA,gBAAA,UAKR/T,QAASA,EAAG4F,MAAKO,SAAQuC,YAAgE6H,EAAAA,YAAA,MAAA,CAAAC,MAAA,4FAAA,CAEtFzH,EAAMyN,UAAU,CAChB5Q,MACAO,SACAuC,SACKoH,OAAQhG,KACVkH,EAAAA,qBAAqB1H,SAOE,IAA/BA,EAAMiE,cAAc7C,OAClB3B,EAAM/I,SAAW+I,EAAM/I,UACvBsJ,EAAMiE,aAAayC,IAClB2G,GACAA,EAAI/F,OACU,WAAb+F,EAAI7W,KAAiByQ,cAAA2F,EAAAA,cAAAxB,EAAAA,WACFiC,EAAG,CAAAxW,MAAS,GAAEgW,MAASQ,EAAIR,OAAS,OAAME,WAAa,IAAK,CAE7ErW,QAASA,EACR4F,MACAO,SACAuC,YAKA6H,EAAAA,YAAAW,EAAAA,SAAA,KAAA,CAEEyF,EAAIC,QACJD,EAAIC,OAAO,CAAEhR,MAAKO,SAAQuC,YAAWsI,EAAAA,qBAAqB1H,KAC1DqN,EAAI5G,MACJhH,EAAM4N,EAAI5G,OACVhH,EAAM4N,EAAI5G,MAAM,CAAEnK,MAAKO,SAAQuC,YAAWsI,EAAAA,qBAAqB1H,SAMpEqN,EAAI9K,MAAI0E,cAAAsG,EAAAA,QAAAnC,EAAAA,WAGFoC,EAAAA,KAAKH,EAAKxG,GAAqB,CAAAlL,UACxBI,EAAMJ,UAASoR,WACf,EAAIU,eACC1I,EAAkB2I,kBACf9M,IALX4G,EAAAA,KAAK/H,EAAOmH,EAAqBpF,cAWjD,CAAA,CAAAmM,EAAAA,iBAAA,WA1JQ3N,EAAMoH,WAAOH,EAAAA,YAAA,MAAA,CAAAC,MAAA,yBAAA,CAAAD,EAAAA,YAAA,MAAA,CAAAC,MAAA,+BAAA,CA+JrBzH,EAAMmO,QAAUnO,EAAMmO,OAAO,CAAOpH,OAAQhG,KAAkBkH,EAAAA,qBAAqB1H,OAEpFP,EAAM/D,WACN+D,EAAM/D,WAAW,CAChBuD,UAAWe,EAAMsB,gBAAgBrC,UACjCF,SAAUiB,EAAMsB,gBAAgBvC,SAChC8O,UAAW7N,EAAMsB,gBAAgBuM,UACjCxN,mBACAC,2BACC2G,EAAAA,YAAAW,EAAAA,SAAA,KAAA,CAGA7L,EAAML,WAAUuL,EAAAA,YAAA6G,UAAA,CAAAC,aACiB1N,EAAgBqL,gBAAmBpL,GAAsB,MAAA2G,EAAAA,YAAA+G,eAAA,CAAA9G,MAAA,sBAAAvQ,KAAA,QAAAsX,OAAA,QAAAC,MAEblO,EAAM6B,UAAUT,QAAM,YAMvGpB,EAAMkF,cAAY+B,EAAAA,YAAAkH,gBAAA,CAAAC,oBAAA,EAAAC,kBAAA,EAAA/E,YAAA,EAAAgF,QAKRA,IAAOtO,EAAMkF,cAAe,EAAMqJ,QAClCvO,EAAMiF,aAAW,MAG3BlJ,EAAMT,kBAAgB2L,EAAAA,YAAAuH,EAAAA,QAAA,CAAAzN,IAAsCD,EAAgB2N,OAAU1S,EAAMtB,eAAa,SAIrGiU,EAAAA,UAAU5O,EAAQ,CAExB2B,eAAgB6E,EAAAA,SAAS,IAAMpG,EAASsB,OAAOC,gBAE/CkN,iBAAkBrI,EAAAA,SAAS,IAAMpG,EAASsB,OAAOmN,kBAEjDjN,mBAAoB4E,EAAAA,SAAS,IAAMpG,EAASsB,OAAOE,oBAEnDkN,mBAAoBtI,EAAAA,SAAS,IAAMpG,EAASsB,OAAOoN,oBAEnDC,mBAAoBvI,EAAAA,SAAS,IAAMpG,EAASsB,OAAOqN,oBAEnDC,cAAexI,EAAAA,SAAS,IAAMpG,EAASsB,OAAOsN,eAE9CC,UAAWzI,EAAAA,SAAS,IAAMpG,EAASsB,OAAOuN,WAE1CC,YAAa1I,EAAAA,SAAS,IAAMpG,EAASsB,OAAOwN,aAE5CC,SAAU3I,EAAAA,SAAS,IAAMpG,EAASsB,OAAOyN,UAEzCC,KAAM5I,EAAAA,SAAS,IAAMpG,EAASsB,OAAO0N,MAErCC,SAAU7I,EAAAA,SAAS,IAAMpG,EAASsB,OAAO2N,UAEzCC,aAAc9I,EAAAA,SAAS,IAAMpG,EAASsB,OAAO4N,cAE7CC,cAAe/I,EAAAA,SAAS,IAAMpG,EAASsB,OAAO6N,eAE9C7U,QAAS8L,EAAAA,SAAS,IAAMpG,EAASsB,OAAOhH,SAExC8U,kBAAmBhJ,EAAAA,SAAS,IAAMpG,EAASsB,OAAO8N,mBAElDlI,QAASd,EAAAA,SAAS,IAAMtG,EAAMoH,SAE9BvF,UAAWyE,EAAAA,SAAS,IAAMtG,EAAM6B,WAEhCP,gBAAiBgF,EAAAA,SAAS,IAAMtG,EAAMsB,iBAEtCoB,YAAa4D,EAAAA,SAAS,IAAMtG,EAAM0C,aAElCd,SAAU0E,EAAAA,SAAS,IAAMtG,EAAM4B,UAE/BG,aAAcuE,EAAAA,SAAS,IAAMtG,EAAM+B,cAEnCI,gBAAiBmE,EAAAA,SAAS,IAAMtG,EAAMmC,iBAEtCH,6BAA8BsE,EAAAA,SAAS,IAAMtG,EAAMgC,8BAEnDgE,WAAYM,EAAAA,SAAS,IAAMtG,EAAMgG,YAEjCC,YAAaK,EAAAA,SAAS,IAAMtG,EAAMiG,aAElCsJ,gCAroBuCA,CAACjT,EAAUsF,KAClD,MAAMtK,EAASyM,EAAAA,WAAWhI,EAAMzE,QAAUyE,EAAMzE,OAAOgF,GAAOA,EAAIP,EAAMzE,QAClEkY,EAASxP,EAAM6B,UAAUkB,KAAMb,GAAO6B,EAAAA,WAAWhI,EAAMzE,QAAUyE,EAAMzE,OAAO4K,GAAKA,EAAEnG,EAAMzE,UAAYA,GAC7G,IAAiB,IAAbsK,EACE5B,EAAMgC,6BAA6BI,KAAMC,GAAMA,IAAM/K,IACzD0I,EAAMgC,6BAA6BqB,KAAK/L,GAEzC4I,EAASsB,MAAME,mBAAmB8N,GAAQ,QAC3C,IAAwB,IAAb5N,EAAoB,CAC9B,MAAM6N,EAASzP,EAAMgC,6BAA6BoB,UAAWlB,GAAMA,IAAM5K,GACrEmY,GAAU,GACbzP,EAAMgC,6BAA6ByB,OAAOgM,EAAQ,GAEnDvP,EAASsB,MAAME,mBAAmB8N,GAAQ,EAC3C,KAAO,CACN,MAAMC,EAASzP,EAAMgC,6BAA6BoB,UAAWlB,GAAMA,IAAM5K,GACrEmY,GAAU,EACbzP,EAAMgC,6BAA6ByB,OAAOgM,EAAQ,GAElDzP,EAAMgC,6BAA6BqB,KAAK/L,GAEzC4I,EAASsB,MAAME,mBAAmB8N,EACnC,GAinBA7Q,QAAS6B,EAET3B,MAAO4B,EAEPC,WAEAC,aAEF"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("element-plus"),l=require("@element-plus/icons-vue"),r=require("../../image/index.js"),a=require("@fast-china/utils"),o=require("lodash-unified"),n=require("../images/artwork.png.js"),i=require("../images/notImage.png.js"),d=require("../utils/table.js"),s=require("./table.type.js"),u=require("./useTable.js");function c(t){return"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!e.isVNode(t)}const m={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(e=>["ascending","descending",null].includes(e))}},p=e.defineComponent({name:"FaTableColumn",props:{...m,type:{type:a.definePropType(String),default:"default"},width:{type:[String,Number],default:"auto"},align:{type:String,default:"left"},headerAlign:{type:String,default:"left"},show:Boolean,smallWidth:{type:[String,Number]},autoWidth:Boolean,slot:String,headerSlot:String,headerRender:{type:a.definePropType(Function)},render:{type:a.definePropType(Function)},_children:{type:a.definePropType(Array)},hideImage:Boolean,copy:Boolean,link:Boolean,spanProp:String,click:{type:a.definePropType(Function)},clickEmit:String,originalImage:Boolean,dateFix:Boolean,dateFormat:{type:a.definePropType(String)},tag:Boolean,enum:{type:a.definePropType([Array,Function])},dataDeleteField:String,timeInfoField:{type:a.definePropType(Object),default:()=>({userName:"createdUserName",time:"createdTime"})}},emits:{imagePreview:e=>o.isString(e),customCellClick:(e,{row:t,column:l,$index:r})=>(o.isNil(e)||o.isString(e))&&o.isObject(t)&&o.isObject(l)&&o.isNumber(r)},slots:a.makeSlots(),setup(p,{slots:g,emit:f}){const y=t.useGlobalSize(),h=e.inject(u.tableStateKey),b=e.inject(u.enumMapKey),S=e.computed(()=>p),w=()=>{let e="";return"timeInfo"===p.type&&(e+="fa-table__line-height-normal-column"),"date"!==p.type&&"time"!==p.type&&"dateTime"!==p.type||p.dateFix&&(e+="fa-table__line-height-normal-column"),p.className?`${e} ${p.className}`:e||void 0},N=t=>p.autoWidth?e.computed(()=>{const e=h.autoColumnWidth.find(e=>e.prop===p.prop);return e?`${e.width}px`:"auto"}).value:"small"===y.value?p.smallWidth??p.width??p.minWidth??t??"auto":p.width??p.minWidth??t??"auto",T=t=>p.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell-header",`__fa-table__auto-width-column__cell-header__${p.prop}`]},[t]):t,x=t=>p.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell",`__fa-table__auto-width-column__cell__${p.prop}`]},[t]):t,_=({column:t,$index:l})=>p.headerRender?T(p.headerRender({column:t,$index:l,...s.getTableDefaultSlots(h)})):p.headerSlot?T(g[p.headerSlot]&&g[p.headerSlot]({column:t,$index:l,...s.getTableDefaultSlots(h)})):T(e.createVNode("span",null,[p.label])),v=(r,o)=>(p.copy||o)&&r&&e.createVNode(t.ElIcon,{class:"fa__copy-icon",title:"复制",onClick:async()=>{try{await a.stringUtil.copy(String(r)),t.ElMessage({type:"success",message:"复制成功"})}catch(e){a.consoleError("FaTableColumn",e),t.ElMessage({type:"error",message:"复制失败"})}}},{default:()=>[e.createVNode(l.CopyDocument,null,null)]}),F=(e,t,l,r)=>t.formatter?t.formatter(e,t,l,r):l,V=(l,r,a)=>{const n=F(l,r,(({row:e})=>{const t=d.tableUtil.handleRowAccordingToProp(e,p.prop);let l,r=p.prop;return o.isString(p.enum)?(r=p.enum,l=b.get(r)):o.isArray(p.enum)?l=p.enum:o.isFunction(p.enum)&&(l=p.enum({row:e})),l?d.tableUtil.filterEnum(t,l):d.tableUtil.formatValue(t)})({row:l}),a);let i=p.prop;o.isString(p.enum)&&(i=p.enum);const s=b.get(i),u=d.tableUtil.filterEnum(d.tableUtil.handleRowAccordingToProp(l,p.prop),s,null,"tag");return e.createVNode(e.Fragment,null,[v(n),n?e.createVNode(t.ElTag,{type:u},c(n)?n:{default:()=>[n]}):null])},O=({row:l,column:r,$index:n})=>{if("timeInfo"===p.type)return(l=>{let r;const o=l[p.timeInfoField?.userName??"createdUserName"],n=l[p.timeInfoField?.time??"createdTime"];return e.createVNode(e.Fragment,null,[e.createVNode("div",{style:"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",title:n},[o&&e.createVNode("span",{style:"margin-right: 5px;"},[o]),e.createVNode("span",null,[n])]),n&&e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(r=a.dateUtil.dateTimeFix(String(n)))?r:{default:()=>[r]})])})(l);if(p.tag)return V(l,r,n);if("date"===p.type||"time"===p.type||"dateTime"===p.type)return((l,r,o)=>{let n,i;switch(p.type){case"date":i="YYYY-MM-DD";break;case"time":i="HH:mm:ss";break;case"dateTime":i="YYYY-MM-DD HH:mm:ss"}const d=l[p.prop]?F(l,r,t.dayjs(l[p.prop]).format(p.dateFormat??i),o):null;return e.createVNode(e.Fragment,null,[v(d),d,p.dateFix&&d&&e.createVNode(e.Fragment,null,[e.createVNode("br",null,null),e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(n=a.dateUtil.dateTimeFix(String(d)))?n:{default:()=>[n]})])])})(l,r,n);if("d2"===p.type||"d4"===p.type||"d6"===p.type||"gd2"===p.type||"gd4"===p.type||"gd6"===p.type)return((e,t,l)=>{const r=e[p.prop];if(!r||!o.isNumber(r))return F(e,t,r,l);let a,n=!1;switch(p.type){case"d2":a=2;break;case"d4":a=4;break;case"d6":a=6;break;case"gd2":a=2,n=!0;break;case"gd4":a=4,n=!0;break;case"gd6":a=6,n=!0}return F(e,t,r.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:a,useGrouping:n}),l)})(l,r,n);if(p.link)return((l,r,a)=>{const o=F(l,r,l[p.prop],a);return x(e.createVNode(e.Fragment,null,[v(o),o&&e.createVNode(t.ElText,{class:"el-link is-hover-underline fa-table__link-column__text",onClick:()=>{p.dataDeleteField&&!0===l[p.dataDeleteField]||(p.click?p.click({row:l,$index:a}):f("customCellClick",p.clickEmit,{row:l,column:S.value,$index:a}))}},c(o)?o:{default:()=>[o]})]))})(l,r,n);if(p.render)return x(p.render({row:l,column:S.value,$index:n,...s.getTableDefaultSlots(h)}));if(p.slot)return x(g[p.slot]&&g[p.slot]({row:l,column:S.value,$index:n,...s.getTableDefaultSlots(h)}));const i=F(l,r,l[p.prop],n);return x(e.createVNode(e.Fragment,null,[v(i),i]))};let $=a.useProps(p,m,["type","width","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"]);e.watch(()=>p,()=>{$=a.useProps(p,m,["type","className","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"])}),a.useRender(()=>e.createVNode(e.Fragment,null,[p._children?.length?e.createVNode(t.ElTableColumn,e.mergeProps($.value,{className:w(),minWidth:N("auto"),sortable:!!p.sortable&&"custom",sortOrders:p.sortOrders??["descending","ascending",null],resizable:p.resizable&&!p.autoWidth,showOverflowTooltip:(p.showOverflowTooltip??!0)&&!p.autoWidth&&"default"==p.type}),{header:({column:e,$index:t})=>_({column:e,$index:t}),default:()=>p._children.map(t=>e.h(e.resolveComponent("FaTableColumn"),{...t},g))}):"image"===p.type?e.createVNode(t.ElTableColumn,e.mergeProps($.value,{align:"center",className:"fa-table__image-column",minWidth:"50px",sortable:!1,resizable:!1,showOverflowTooltip:!1}),{header:({column:e,$index:t})=>_({column:e,$index:t}),default:({row:l})=>l[p.prop]?p.hideImage?e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:n.default,fit:"cover",previewSrcList:[l[p.prop]],closeOnPressEscape:!0,hideOnClickModal:!0,previewTeleported:!0},null):e.createVNode(r.FaImage,{lazy:!0,src:l[p.prop],fit:"cover",original:p.originalImage,thumb:!0},null):e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:i.default,fit:"cover"},null)}):e.createVNode(t.ElTableColumn,e.mergeProps($.value,{className:w(),minWidth:N("auto"),sortable:!!p.sortable&&"custom",sortOrders:p.sortOrders??["descending","ascending",null],resizable:p.resizable&&!p.autoWidth,showOverflowTooltip:(p.showOverflowTooltip??!0)&&!p.autoWidth&&"default"==p.type}),{header:({column:e,$index:t})=>g.header?g.header({column:S.value,$index:t,...s.getTableDefaultSlots(h)}):_({column:e,$index:t}),default:({row:e,column:t,$index:l})=>g.default?g.default({row:e,column:S.value,$index:l,...s.getTableDefaultSlots(h)}):O({row:e,column:t,$index:l}),filterIcon:({filterOpened:e})=>g.filterIcon&&g.filterIcon({filterOpened:e,...s.getTableDefaultSlots(h)}),expand:({expanded:e})=>g.expand&&g.expand({expanded:e,...s.getTableDefaultSlots(h)})})]))}});exports.default=p,exports.tableColumnProps=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("element-plus"),l=require("@element-plus/icons-vue"),r=require("../../image/index.js"),a=require("@fast-china/utils"),o=require("lodash-unified"),n=require("../images/artwork.png.js"),i=require("../images/notImage.png.js"),d=require("../utils/table.js"),u=require("./table.type.js"),s=require("./useTable.js");function c(t){return"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!e.isVNode(t)}const m={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(e=>["ascending","descending",null].includes(e))}},p=e.defineComponent({name:"FaTableColumn",props:{...m,type:{type:a.definePropType(String),default:"default"},width:{type:[String,Number],default:"auto"},align:{type:String,default:"left"},headerAlign:{type:String,default:"left"},show:Boolean,smallWidth:{type:[String,Number]},autoWidth:Boolean,slot:String,headerSlot:String,headerRender:{type:a.definePropType(Function)},render:{type:a.definePropType(Function)},_children:{type:a.definePropType(Array)},hideImage:Boolean,copy:Boolean,link:Boolean,spanProp:String,click:{type:a.definePropType(Function)},clickEmit:String,originalImage:Boolean,dateFix:Boolean,dateFormat:{type:a.definePropType(String)},tag:Boolean,enum:{type:a.definePropType([String,Array,Function])},dataDeleteField:String,timeInfoField:{type:a.definePropType(Object),default:()=>({userName:"createdUserName",time:"createdTime"})}},emits:{imagePreview:e=>o.isString(e),customCellClick:(e,{row:t,column:l,$index:r})=>(o.isNil(e)||o.isString(e))&&o.isObject(t)&&o.isObject(l)&&o.isNumber(r)},slots:a.makeSlots(),setup(p,{slots:g,emit:f}){const y=t.useGlobalSize(),h=e.inject(s.tableStateKey),b=e.inject(s.enumMapKey),S=e.computed(()=>p),w=()=>{let e="";return"timeInfo"===p.type&&(e+="fa-table__line-height-normal-column"),"date"!==p.type&&"time"!==p.type&&"dateTime"!==p.type||p.dateFix&&(e+="fa-table__line-height-normal-column"),p.className?`${e} ${p.className}`:e||void 0},N=t=>p.autoWidth?e.computed(()=>{const e=h.autoColumnWidth.find(e=>e.prop===p.prop);return e?`${e.width}px`:"auto"}).value:"small"===y.value?p.smallWidth??p.width??p.minWidth??t??"auto":p.width??p.minWidth??t??"auto",T=t=>p.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell-header",`__fa-table__auto-width-column__cell-header__${p.prop}`]},[t]):t,x=t=>p.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell",`__fa-table__auto-width-column__cell__${p.prop}`]},[t]):t,_=({column:t,$index:l})=>p.headerRender?T(p.headerRender({column:t,$index:l,...u.getTableDefaultSlots(h)})):p.headerSlot?T(g[p.headerSlot]&&g[p.headerSlot]({column:t,$index:l,...u.getTableDefaultSlots(h)})):T(e.createVNode("span",null,[p.label])),v=(r,o)=>(p.copy||o)&&r&&e.createVNode(t.ElIcon,{class:"fa__copy-icon",title:"复制",onClick:async()=>{try{await a.stringUtil.copy(String(r)),t.ElMessage({type:"success",message:"复制成功"})}catch(e){a.consoleError("FaTableColumn",e),t.ElMessage({type:"error",message:"复制失败"})}}},{default:()=>[e.createVNode(l.CopyDocument,null,null)]}),F=(e,t,l,r)=>t.formatter?t.formatter(e,t,l,r):l,V=(l,r,a)=>{const n=F(l,r,(({row:e})=>{const t=d.tableUtil.handleRowAccordingToProp(e,p.prop);let l,r=p.prop;return o.isString(p.enum)?(r=p.enum,l=b.get(r)):o.isArray(p.enum)?l=p.enum:o.isFunction(p.enum)&&(l=p.enum({row:e})),l?d.tableUtil.filterEnum(t,l):d.tableUtil.formatValue(t)})({row:l}),a);let i,u=p.prop;o.isString(p.enum)?(u=p.enum,i=b.get(u)):o.isArray(p.enum)?i=p.enum:o.isFunction(p.enum)&&(i=p.enum({row:l}));const s=d.tableUtil.filterEnum(d.tableUtil.handleRowAccordingToProp(l,p.prop),i,null,"tag");return e.createVNode(e.Fragment,null,[v(n),n?e.createVNode(t.ElTag,{type:s},c(n)?n:{default:()=>[n]}):null])},O=({row:l,column:r,$index:n})=>{if("timeInfo"===p.type)return(l=>{let r;const o=l[p.timeInfoField?.userName??"createdUserName"],n=l[p.timeInfoField?.time??"createdTime"];return e.createVNode(e.Fragment,null,[e.createVNode("div",{style:"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",title:n},[o&&e.createVNode("span",{style:"margin-right: 5px;"},[o]),e.createVNode("span",null,[n])]),n&&e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(r=a.dateUtil.dateTimeFix(String(n)))?r:{default:()=>[r]})])})(l);if(p.tag)return V(l,r,n);if("date"===p.type||"time"===p.type||"dateTime"===p.type)return((l,r,o)=>{let n,i;switch(p.type){case"date":i="YYYY-MM-DD";break;case"time":i="HH:mm:ss";break;case"dateTime":i="YYYY-MM-DD HH:mm:ss"}const d=l[p.prop]?F(l,r,t.dayjs(l[p.prop]).format(p.dateFormat??i),o):null;return e.createVNode(e.Fragment,null,[v(d),d,p.dateFix&&d&&e.createVNode(e.Fragment,null,[e.createVNode("br",null,null),e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(n=a.dateUtil.dateTimeFix(String(d)))?n:{default:()=>[n]})])])})(l,r,n);if("d2"===p.type||"d4"===p.type||"d6"===p.type||"gd2"===p.type||"gd4"===p.type||"gd6"===p.type)return((e,t,l)=>{const r=e[p.prop];if(!r||!o.isNumber(r))return F(e,t,r,l);let a,n=!1;switch(p.type){case"d2":a=2;break;case"d4":a=4;break;case"d6":a=6;break;case"gd2":a=2,n=!0;break;case"gd4":a=4,n=!0;break;case"gd6":a=6,n=!0}return F(e,t,r.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:a,useGrouping:n}),l)})(l,r,n);if(p.link)return((l,r,a)=>{const o=F(l,r,l[p.prop],a);return x(e.createVNode(e.Fragment,null,[v(o),o&&e.createVNode(t.ElText,{class:"el-link is-hover-underline fa-table__link-column__text",onClick:()=>{p.dataDeleteField&&!0===l[p.dataDeleteField]||(p.click?p.click({row:l,$index:a}):f("customCellClick",p.clickEmit,{row:l,column:S.value,$index:a}))}},c(o)?o:{default:()=>[o]})]))})(l,r,n);if(p.render)return x(p.render({row:l,column:S.value,$index:n,...u.getTableDefaultSlots(h)}));if(p.slot)return x(g[p.slot]&&g[p.slot]({row:l,column:S.value,$index:n,...u.getTableDefaultSlots(h)}));const i=F(l,r,l[p.prop],n);return x(e.createVNode(e.Fragment,null,[v(i),i]))};let $=a.useProps(p,m,["type","width","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"]);e.watch(()=>p,()=>{$=a.useProps(p,m,["type","className","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"])}),a.useRender(()=>e.createVNode(e.Fragment,null,[p._children?.length?e.createVNode(t.ElTableColumn,e.mergeProps($.value,{className:w(),minWidth:N("auto"),sortable:!!p.sortable&&"custom",sortOrders:p.sortOrders??["descending","ascending",null],resizable:p.resizable&&!p.autoWidth,showOverflowTooltip:(p.showOverflowTooltip??!0)&&!p.autoWidth&&"default"==p.type}),{header:({column:e,$index:t})=>_({column:e,$index:t}),default:()=>p._children.map(t=>e.h(e.resolveComponent("FaTableColumn"),{...t},g))}):"image"===p.type?e.createVNode(t.ElTableColumn,e.mergeProps($.value,{align:"center",className:"fa-table__image-column",minWidth:"50px",sortable:!1,resizable:!1,showOverflowTooltip:!1}),{header:({column:e,$index:t})=>_({column:e,$index:t}),default:({row:l})=>l[p.prop]?p.hideImage?e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:n.default,fit:"cover",previewSrcList:[l[p.prop]],closeOnPressEscape:!0,hideOnClickModal:!0,previewTeleported:!0},null):e.createVNode(r.FaImage,{lazy:!0,src:l[p.prop],fit:"cover",original:p.originalImage,thumb:!0},null):e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:i.default,fit:"cover"},null)}):e.createVNode(t.ElTableColumn,e.mergeProps($.value,{className:w(),minWidth:N("auto"),sortable:!!p.sortable&&"custom",sortOrders:p.sortOrders??["descending","ascending",null],resizable:p.resizable&&!p.autoWidth,showOverflowTooltip:(p.showOverflowTooltip??!0)&&!p.autoWidth&&"default"==p.type}),{header:({column:e,$index:t})=>g.header?g.header({column:S.value,$index:t,...u.getTableDefaultSlots(h)}):_({column:e,$index:t}),default:({row:e,column:t,$index:l})=>g.default?g.default({row:e,column:S.value,$index:l,...u.getTableDefaultSlots(h)}):O({row:e,column:t,$index:l}),filterIcon:({filterOpened:e})=>g.filterIcon&&g.filterIcon({filterOpened:e,...u.getTableDefaultSlots(h)}),expand:({expanded:e})=>g.expand&&g.expand({expanded:e,...u.getTableDefaultSlots(h)})})]))}});exports.default=p,exports.tableColumnProps=m;
2
2
  //# sourceMappingURL=tableColumn.js.map