fast-element-plus 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +159 -104
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +159 -104
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +1 -1
- package/es/components/avatar/src/avatar.d.ts +10 -9
- package/es/components/avatar/src/avatar.mjs +1 -1
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +4 -4
- package/es/components/carNumber/src/carNumber.d.ts +3 -3
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/drawer/src/drawer.mjs +1 -1
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/form/src/formItem.d.ts +18 -4
- package/es/components/image/src/image.d.ts +7 -0
- package/es/components/image/src/image.mjs +1 -1
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/table/index.d.ts +2 -2
- package/es/components/table/index.mjs +1 -1
- package/es/components/table/index.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +45 -11
- package/es/components/table/src/table.mjs +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.state.d.ts +0 -4
- package/es/components/table/src/table.type.d.ts +3 -62
- package/es/components/table/src/table.type.mjs.map +1 -1
- package/es/components/table/src/tableColumn.d.ts +9 -0
- package/es/components/table/src/tableColumn.mjs +1 -1
- package/es/components/table/src/tableColumn.mjs.map +1 -1
- package/es/components/table/src/tableColumnSettingDialog.d.ts +3 -3
- package/es/components/table/src/tableColumnSettingDialog.mjs +1 -1
- package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
- package/es/components/table/src/useTable.mjs +1 -1
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/table/utils/table.mjs +1 -1
- package/es/components/table/utils/table.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +4 -4
- package/es/components/uploadImage/src/uploadImage.d.ts +4 -4
- package/es/components/uploadImages/src/uploadImages.d.ts +4 -4
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +10 -9
- package/lib/components/avatar/src/avatar.js +1 -1
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/button/src/button.d.ts +4 -4
- package/lib/components/carNumber/src/carNumber.d.ts +3 -3
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/drawer/src/drawer.js +1 -1
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/form/src/formItem.d.ts +18 -4
- package/lib/components/image/src/image.d.ts +7 -0
- package/lib/components/image/src/image.js +1 -1
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/table/index.d.ts +2 -2
- package/lib/components/table/index.js +1 -1
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/src/table.d.ts +45 -11
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.state.d.ts +0 -4
- package/lib/components/table/src/table.type.d.ts +3 -62
- package/lib/components/table/src/table.type.js.map +1 -1
- package/lib/components/table/src/tableColumn.d.ts +9 -0
- package/lib/components/table/src/tableColumn.js +1 -1
- package/lib/components/table/src/tableColumn.js.map +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.d.ts +3 -3
- package/lib/components/table/src/tableColumnSettingDialog.js +1 -1
- package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
- package/lib/components/table/src/useTable.js +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/table/utils/table.js +1 -1
- package/lib/components/table/utils/table.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +4 -4
- package/lib/components/uploadImage/src/uploadImage.d.ts +4 -4
- package/lib/components/uploadImages/src/uploadImages.d.ts +4 -4
- package/lib/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +5 -5
- package/styles/components/table.scss +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"),l=require("@element-plus/icons-vue"),r=require("../../image/index.js"),
|
|
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"),i=require("../images/artwork.png.js"),n=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 p={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))}},m=e.defineComponent({name:"FaTableColumn",props:{...p,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,dateFix:Boolean,dateFormat:{type:a.definePropType(String)},tag:Boolean,enum:{type:a.definePropType([Array,Function])},dataDeleteField:String,submitInfoField:{type:a.definePropType(Object),default:()=>({submitClerkName:"createdUserName",submitTime:"createdTime"})}},emits:{imagePreview:e=>o.isString(e),customCellClick:(e,{row:t,column:l,$index:r})=>o.isString(e)&&o.isObject(t)&&o.isObject(l)&&o.isNumber(r)},slots:a.makeSlots(),setup(m,{slots:g,emit:f}){const b=t.useGlobalSize(),y=e.inject(u.tableStateKey),h=e.inject(u.enumMapKey),w=e.computed(()=>m),S=({row:e})=>{let t=m.prop;o.isString(m.enum)&&(t=m.enum);const l=h.get(t);return d.tableUtil.filterEnum(d.tableUtil.handleRowAccordingToProp(e,m.prop),l,null,"tag")},T=t=>m.autoWidth?e.computed(()=>{const e=y.autoColumnWidth.find(e=>e.prop===m.prop);return e?`${e.width}px`:"auto"}).value:"small"===b.value?m.smallWidth??m.width??m.minWidth??t??"auto":m.width??m.minWidth??t??"auto",N=t=>m.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell-header",`__fa-table__auto-width-column__cell-header__${m.prop}`]},[t]):t,x=({column:t,$index:l})=>m.headerRender?N(m.headerRender({column:t,$index:l,...s.getTableDefaultSlots(y)})):m.headerSlot?N(g[m.headerSlot]&&g[m.headerSlot]({column:t,$index:l,...s.getTableDefaultSlots(y)})):N(e.createVNode("span",null,[m.label])),v=t=>m.autoWidth?e.createVNode("div",{class:["fa-table__auto-width-column__cell",`__fa-table__auto-width-column__cell__${m.prop}`]},[t]):t,_=(r,o)=>(m.copy||o)&&r&&e.createVNode(t.ElIcon,{class:"fa__copy-icon",title:"复制",onClick:()=>(async e=>{try{await a.stringUtil.copy(String(e)),t.ElMessage({type:"success",message:"复制成功"})}catch(l){a.consoleError("FaTableColumn",l),t.ElMessage({type:"error",message:"复制失败"})}})(r)},{default:()=>[e.createVNode(l.CopyDocument,null,null)]}),F=(e,t,l,r)=>t.formatter?t.formatter(e,t,l,r):l,V=({row:l,column:r,$index:i})=>{if("submitInfo"===m.type){let r;const o=l[m.submitInfoField?.submitClerkName??"createdUserName"],i=l[m.submitInfoField?.submitTime??"createdTime"];return e.createVNode(e.Fragment,null,[e.createVNode("div",{style:"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",title:i},[o&&e.createVNode("span",{style:"margin-right: 5px;"},[o]),e.createVNode("span",null,[i])]),i&&e.createVNode(t.ElTag,{type:"info",round:!0,effect:"light",size:"small"},c(r=a.dateUtil.dateTimeFix(String(i)))?r:{default:()=>[r]})])}if(m.tag){const a=F(l,r,(({row:e})=>{let t=m.prop;o.isString(m.enum)&&(t=m.enum);const l=h.get(t);return l?d.tableUtil.filterEnum(d.tableUtil.handleRowAccordingToProp(e,m.prop),l):d.tableUtil.formatValue(d.tableUtil.handleRowAccordingToProp(e,m.prop))})({row:l}),i);return e.createVNode(e.Fragment,null,[_(a),a?e.createVNode(t.ElTag,{type:S({row:l})},c(a)?a:{default:()=>[a]}):null])}if("date"===m.type||"time"===m.type||"dateTime"===m.type){let o,n;switch(m.type){case"date":n="YYYY-MM-DD";break;case"time":n="HH:mm:ss";break;case"dateTime":n="YYYY-MM-DD HH:mm:ss"}const d=l[m.prop]?F(l,r,t.dayjs(l[m.prop]).format(m.dateFormat??n),i):null;return e.createVNode(e.Fragment,null,[_(d),d,m.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(o=a.dateUtil.dateTimeFix(String(d)))?o:{default:()=>[o]})])])}if("d2"===m.type||"d4"===m.type||"d6"===m.type||"gd2"===m.type||"gd4"===m.type||"gd6"===m.type){const e=l[m.prop];if(e&&o.isNumber(e)){let t,l=!1;switch(m.type){case"d2":t=2;break;case"d4":t=4;break;case"d6":t=6;break;case"gd2":t=2,l=!0;break;case"gd4":t=4,l=!0;break;case"gd6":t=6,l=!0}return e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:t,useGrouping:l})}return e}if(m.link){const a=F(l,r,l[m.prop],i);return v(e.createVNode(e.Fragment,null,[_(a),a&&e.createVNode(t.ElText,{class:"el-link is-hover-underline fa-table__link-column__text",onClick:()=>{m.dataDeleteField&&!0===l[m.dataDeleteField]||(m.click?m.click({row:l,$index:i}):f("customCellClick",m.clickEmit,{row:l,column:w.value,$index:i}))}},c(a)?a:{default:()=>[a]})]))}if(m.render)return v(m.render({row:l,column:w.value,$index:i,...s.getTableDefaultSlots(y)}));if(m.slot)return v(g[m.slot]&&g[m.slot]({row:l,column:w.value,$index:i,...s.getTableDefaultSlots(y)}));{const t=F(l,r,l[m.prop],i);return v(e.createVNode(e.Fragment,null,[_(t),t]))}};let O=a.useProps(m,p,["type","width","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"]);e.watch(()=>m,()=>{O=a.useProps(m,p,["type","minWidth","sortable","sortOrders","resizable","showOverflowTooltip"])}),a.useRender(()=>e.createVNode(e.Fragment,null,[m._children?.length?e.createVNode(t.ElTableColumn,e.mergeProps(O.value,{minWidth:T("auto"),sortable:!!m.sortable&&"custom",sortOrders:m.sortOrders??["descending","ascending",null],resizable:m.resizable&&!m.autoWidth,showOverflowTooltip:(m.showOverflowTooltip??!0)&&!m.autoWidth&&"default"==m.type}),{header:({column:e,$index:t})=>x({column:e,$index:t}),default:()=>m._children.map(t=>e.h(e.resolveComponent("FaTableColumn"),{...t},g))}):"image"===m.type?e.createVNode(t.ElTableColumn,e.mergeProps(O.value,{align:"center",className:"fa-table__image-column",minWidth:"50px",sortable:!1,resizable:!1,showOverflowTooltip:!1}),{header:({column:e,$index:t})=>x({column:e,$index:t}),default:({row:l})=>l[m.prop]?m.hideImage?e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:i.default,fit:"cover",previewSrcList:[l[m.prop]],closeOnPressEscape:!0,hideOnClickModal:!0,previewTeleported:!0},null):e.createVNode(r.FaImage,{lazy:!0,src:l[m.prop],fit:"cover",original:!0},null):e.createVNode(t.ElImage,{class:"fa-image",lazy:!0,src:n.default,fit:"cover"},null)}):e.createVNode(t.ElTableColumn,e.mergeProps(O.value,{minWidth:T("auto"),sortable:!!m.sortable&&"custom",sortOrders:m.sortOrders??["descending","ascending",null],resizable:m.resizable&&!m.autoWidth,showOverflowTooltip:(m.showOverflowTooltip??!0)&&!m.autoWidth&&"default"==m.type}),{header:({column:e,$index:t})=>g.header?g.header({column:w.value,$index:t,...s.getTableDefaultSlots(y)}):x({column:e,$index:t}),default:({row:e,column:t,$index:l})=>g.default?g.default({row:e,column:w.value,$index:l,...s.getTableDefaultSlots(y)}):V({row:e,column:t,$index:l}),filterIcon:({filterOpened:e})=>g.filterIcon&&g.filterIcon({filterOpened:e,...s.getTableDefaultSlots(y)}),expand:({expanded:e})=>g.expand&&g.expand({expanded:e,...s.getTableDefaultSlots(y)})})]))}});exports.default=m,exports.tableColumnProps=p;
|
|
2
2
|
//# sourceMappingURL=tableColumn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumn.js","sources":["../../../../../packages/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport FaImage from \"@fast-element-plus/components/image\";\nimport { consoleError, dateUtil, definePropType, makeSlots, stringUtil, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber, isObject, isString } from \"lodash-unified\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = any;\n\nexport const tableColumnProps = {\n\t/**\n\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * @description column label\n\t */\n\tlabel: String,\n\t/**\n\t * @description class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * @description class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t * @description\n\t */\n\tproperty: String,\n\t/**\n\t * @description field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * @description column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * @description whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * @description function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * @description placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * @description whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * @description customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): TableColumnCtx<DefaultRow>[\"sortOrders\"] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: TableColumnCtx<unknown>[\"sortOrders\"]): boolean => {\n\t\t\treturn val.every((order: string) => [\"ascending\", \"descending\", null].includes(order));\n\t\t},\n\t},\n};\n\ntype FaTableColumnSlotsResult = {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: any;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t$index?: number;\n};\n\ntype FaTableColumnDefaultSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & FaTableColumnSlotsResult;\n};\n\ntype FaTableColumnSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: any; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t\t */\n\t\ttype: {\n\t\t\ttype: definePropType<FaTableColumnType>(String),\n\t\t\tdefault: \"default\",\n\t\t},\n\t\t/**\n\t\t * @description column width\n\t\t */\n\t\twidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: \"auto\",\n\t\t},\n\t\t/** @description alignment, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\talign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\theaderAlign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** @description 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** @description 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** @description 插槽名称 */\n\t\tslot: String,\n\t\t/** @description 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** @description 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<any>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** @description 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** @description 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** @description 复制 */\n\t\tcopy: Boolean,\n\t\t/** @description 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** @description 合并行字段 */\n\t\tspanProp: String,\n\t\t/** @description Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: any; $index?: number }) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** @description 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** @description 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** @description 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** @description 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 制单信息计算 */\n\t\tsubmitInfoField: {\n\t\t\ttype: definePropType<{ submitClerkName?: string; submitTime?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tsubmitClerkName: \"createdUserName\",\n\t\t\t\tsubmitTime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** @description 图片预览 */\n\t\timagePreview: (url: string): boolean => isString(url),\n\t\t/** @description 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\tisString(emitName) && isObject(row) && isObject(column) && isNumber($index),\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst _globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\tconst renderCellData = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(tableUtil.handleRowAccordingToProp(row, props.prop));\n\t\t\t}\n\t\t};\n\n\t\tconst getTagType = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData, null, \"tag\") as any;\n\t\t};\n\n\t\tconst getWidth = (defAttr: string): string | number => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn computed(() => {\n\t\t\t\t\tconst findInfo = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\treturn `${findInfo.width}px`;\n\t\t\t\t\t}\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}).value;\n\t\t\t}\n\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth ?? props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t\t}\n\t\t\treturn props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t};\n\n\t\tconst autoWidthHeaderRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn (\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(\n\t\t\t\t\tslots[props.headerSlot] && slots[props.headerSlot]({ column, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender(<span>{props.label}</span>);\n\t\t\t}\n\t\t};\n\n\t\tconst autoWidthRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn <div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>;\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\tconst handleCopyClick = async (value): Promise<void> => {\n\t\t\ttry {\n\t\t\t\tawait stringUtil.copy(String(value));\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTableColumn\", error);\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst copyRender = (value, copy?: boolean): VNode[] => {\n\t\t\treturn (\n\t\t\t\t(props.copy || copy) &&\n\t\t\t\tvalue && (\n\t\t\t\t\t<ElIcon class=\"fa__copy-icon\" title=\"复制\" onClick={() => handleCopyClick(value)}>\n\t\t\t\t\t\t<CopyDocument />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tconst formatterRender = (row: any, column: TableColumnCtx<any>, cellValue: any, index: number): any => {\n\t\t\tif (column.formatter) {\n\t\t\t\treturn column.formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn cellValue;\n\t\t\t}\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"submitInfo\") {\n\t\t\t\tconst submitClerkName = row[props.submitInfoField?.submitClerkName ?? \"createdUserName\"];\n\t\t\t\tconst submitTime = row[props.submitInfoField?.submitTime ?? \"createdTime\"];\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={submitTime}>\n\t\t\t\t\t\t\t{submitClerkName && <span style=\"margin-right: 5px;\">{submitClerkName}</span>}\n\t\t\t\t\t\t\t<span>{submitTime}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{submitTime && (\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(submitTime))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.tag) {\n\t\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue ? <ElTag type={getTagType({ row })}>{renderValue}</ElTag> : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tlet dateFormat;\n\t\t\t\tswitch (props.type) {\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst renderValue = row[props.prop]\n\t\t\t\t\t? formatterRender(row, column, dayjs(row[props.prop]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t\t: null;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(renderValue))}\n\t\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\tconst renderValue = row[props.prop];\n\t\t\t\tif (renderValue) {\n\t\t\t\t\tif (isNumber(renderValue)) {\n\t\t\t\t\t\tlet useGrouping = false;\n\t\t\t\t\t\tlet maximumFractionDigits: number;\n\t\t\t\t\t\tswitch (props.type) {\n\t\t\t\t\t\t\tcase \"d2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn renderValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}) as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn renderValue;\n\t\t\t} else if (props.link) {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\t\tprops.click({ row, $index });\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit, {\n\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t\t</ElText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.slot) {\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\tslots[props.slot] && slots[props.slot]({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<any>> = useProps(props, tableColumnProps, [\n\t\t\t\"type\",\n\t\t\t\"width\",\n\t\t\t\"minWidth\",\n\t\t\t\"sortable\",\n\t\t\t\"sortOrders\",\n\t\t\t\"resizable\",\n\t\t\t\"showOverflowTooltip\",\n\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\n\t\twatch(\n\t\t\t() => props,\n\t\t\t() => {\n\t\t\t\telTableColumnProps = useProps(props, tableColumnProps, [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"minWidth\",\n\t\t\t\t\t\"sortable\",\n\t\t\t\t\t\"sortOrders\",\n\t\t\t\t\t\"resizable\",\n\t\t\t\t\t\"showOverflowTooltip\",\n\t\t\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\tprops._children.map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\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},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop] ? (\n\t\t\t\t\t\t\t\t\t\ttableState.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[row[props.prop]]}\n\t\t\t\t\t\t\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\t\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewTeleported\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\t<FaImage lazy src={row[props.prop]} fit=\"cover\" original />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tdefaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableColumnProps","type","String","default","label","className","labelClassName","property","prop","width","Number","minWidth","renderHeader","Function","sortable","Boolean","sortMethod","sortBy","Array","resizable","columnKey","align","headerAlign","showOverflowTooltip","undefined","fixed","formatter","selectable","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","filterClassName","index","sortOrders","validator","val","every","order","includes","TableColumn","name","props","definePropType","show","smallWidth","autoWidth","slot","headerSlot","headerRender","render","_children","copy","link","spanProp","click","clickEmit","dateFix","dateFormat","tag","enum","dataDeleteField","submitInfoField","submitClerkName","submitTime","emits","imagePreview","url","isString","customCellClick","emitName","row","column","$index","isObject","isNumber","slots","makeSlots","setup","emit","_globalSize","useGlobalSize","tableState","inject","tableStateKey","enumMap","enumMapKey","columnCtx","computed","getTagType","enumKey","enumData","get","tableUtil","filterEnum","handleRowAccordingToProp","getWidth","defAttr","findInfo","autoColumnWidth","find","f","value","autoWidthHeaderRender","el","_createVNode","class","getTableDefaultSlots","autoWidthRender","copyRender","ElIcon","title","onClick","async","stringUtil","ElMessage","message","error","consoleError","handleCopyClick","CopyDocument","formatterRender","cellValue","defaultRender","_slot","_Fragment","style","ElTag","round","effect","size","dateUtil","dateTimeFix","renderValue","renderCellData","formatValue","_slot2","dayjs","format","maximumFractionDigits","useGrouping","toLocaleString","minimumFractionDigits","ElText","elTableColumnProps","useProps","watch","useRender","length","ElTableColumn","_mergeProps","header","map","col","h","resolveComponent","hideImage","ElImage","lazy","src","artwork","fit","previewSrcList","closeOnPressEscape","hideOnClickModal","previewTeleported","FaImage","original","notImage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableColumn.js","sources":["../../../../../packages/components/table/src/tableColumn.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { ElIcon, ElImage, ElMessage, ElTableColumn, ElTag, ElText, dayjs, useGlobalSize } from \"element-plus\";\nimport { CopyDocument } from \"@element-plus/icons-vue\";\nimport FaImage from \"@fast-element-plus/components/image\";\nimport { consoleError, dateUtil, definePropType, makeSlots, stringUtil, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber, isObject, isString } from \"lodash-unified\";\nimport artwork from \"../images/artwork.png\";\nimport notImage from \"../images/notImage.png\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from \"./table.type\";\nimport type { TableColumnCtx } from \"element-plus\";\nimport type { ComputedRef, PropType, VNode } from \"vue\";\n\ntype DefaultRow = any;\n\nexport const tableColumnProps = {\n\t/**\n\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * @description column label\n\t */\n\tlabel: String,\n\t/**\n\t * @description class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * @description class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t * @description\n\t */\n\tproperty: String,\n\t/**\n\t * @description field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * @description column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * @description whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * @description function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * @description placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * @description whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * @description customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): TableColumnCtx<DefaultRow>[\"sortOrders\"] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: TableColumnCtx<unknown>[\"sortOrders\"]): boolean => {\n\t\t\treturn val.every((order: string) => [\"ascending\", \"descending\", null].includes(order));\n\t\t},\n\t},\n};\n\ntype FaTableColumnSlotsResult = {\n\t/** @description slots为表格内容的时候才会返回 */\n\trow?: any;\n\t/** @description slot为表头内容的时候返回 'TableColumnCtx<any>' 否则返回 'FaTableColumnCtx' */\n\tcolumn?: TableColumnCtx<any> | FaTableColumnCtx;\n\t$index?: number;\n};\n\ntype FaTableColumnDefaultSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & FaTableColumnSlotsResult;\n};\n\ntype FaTableColumnSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: FaTableDefaultSlotsResult & { row: any; column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义表头的内容 */\n\theader: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number };\n\t/** @description 自定义 filter 图标 */\n\tfilterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean };\n\t/** @description 展开列的自定义内容 */\n\texpand: FaTableDefaultSlotsResult & { expanded: boolean };\n} & FaTableColumnDefaultSlots;\n\nexport default defineComponent({\n\tname: \"FaTableColumn\",\n\tprops: {\n\t\t...tableColumnProps,\n\t\t/**\n\t\t * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t\t */\n\t\ttype: {\n\t\t\ttype: definePropType<FaTableColumnType>(String),\n\t\t\tdefault: \"default\",\n\t\t},\n\t\t/**\n\t\t * @description column width\n\t\t */\n\t\twidth: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: \"auto\",\n\t\t},\n\t\t/** @description alignment, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\talign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right' */\n\t\theaderAlign: {\n\t\t\ttype: String,\n\t\t\tdefault: \"left\",\n\t\t},\n\t\t/** @description 是否显示在表格当中 */\n\t\tshow: Boolean,\n\t\t/** @description 小页面的宽度,如果为空,则继承默认宽度 */\n\t\tsmallWidth: {\n\t\t\ttype: [String, Number],\n\t\t},\n\t\t/** @description 自适应宽度 */\n\t\tautoWidth: Boolean,\n\t\t/** @description 插槽名称 */\n\t\tslot: String,\n\t\t/** @description 表格头部插槽名称 */\n\t\theaderSlot: String,\n\t\t/** @description 自定义表头内容渲染(tsx语法) */\n\t\theaderRender: {\n\t\t\ttype: definePropType<({ column, $index }: { column: TableColumnCtx<any>; $index: number } & FaTableDefaultSlotsResult) => VNode[]>(\n\t\t\t\tFunction\n\t\t\t),\n\t\t},\n\t\t/** @description 自定义单元格内容渲染(tsx语法) */\n\t\trender: {\n\t\t\ttype: definePropType<\n\t\t\t\t({ row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number } & FaTableDefaultSlotsResult) => VNode[]\n\t\t\t>(Function),\n\t\t},\n\t\t/** @description 多级表头 */\n\t\t_children: {\n\t\t\ttype: definePropType<FaTableColumnCtx[]>(Array),\n\t\t},\n\t\t/** @description 隐藏图片 */\n\t\thideImage: Boolean,\n\t\t/** @description 复制 */\n\t\tcopy: Boolean,\n\t\t/** @description 是否为 Link Button */\n\t\tlink: Boolean,\n\t\t/** @description 合并行字段 */\n\t\tspanProp: String,\n\t\t/** @description Link 按钮的点击事件,优先级最高 */\n\t\tclick: {\n\t\t\ttype: definePropType<({ row, $index }: { row: any; $index?: number }) => void>(Function),\n\t\t},\n\t\t/** @description 点击Emits事件回调 */\n\t\tclickEmit: String,\n\t\t/** @description 显示时间格式化字符串 */\n\t\tdateFix: Boolean,\n\t\t/** @description 显示在页面中的日期格式 */\n\t\tdateFormat: {\n\t\t\ttype: definePropType<FaTableColumnDateFormat>(String),\n\t\t},\n\t\t/** @description 是否是标签展示 */\n\t\ttag: Boolean,\n\t\t/** @description 枚举类型(渲染值的字典) */\n\t\tenum: {\n\t\t\ttype: definePropType<FaTableEnumColumnType>([Array, Function]),\n\t\t},\n\t\t/** @description 数据删除字段,如果为 true 会显示遮罩层 */\n\t\tdataDeleteField: String,\n\t\t/** @description 制单信息计算 */\n\t\tsubmitInfoField: {\n\t\t\ttype: definePropType<{ submitClerkName?: string; submitTime?: string }>(Object),\n\t\t\tdefault: () => ({\n\t\t\t\tsubmitClerkName: \"createdUserName\",\n\t\t\t\tsubmitTime: \"createdTime\",\n\t\t\t}),\n\t\t},\n\t},\n\temits: {\n\t\t/** @description 图片预览 */\n\t\timagePreview: (url: string): boolean => isString(url),\n\t\t/** @description 自定义单元格点击事件 */\n\t\tcustomCellClick: (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): boolean =>\n\t\t\tisString(emitName) && isObject(row) && isObject(column) && isNumber($index),\n\t},\n\tslots: makeSlots<FaTableColumnSlots>(),\n\tsetup(props, { slots, emit }) {\n\t\tconst _globalSize = useGlobalSize();\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst columnCtx = computed(() => props as unknown as FaTableColumnCtx);\n\n\t\tconst renderCellData = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\tif (enumData) {\n\t\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData);\n\t\t\t} else {\n\t\t\t\treturn tableUtil.formatValue(tableUtil.handleRowAccordingToProp(row, props.prop));\n\t\t\t}\n\t\t};\n\n\t\tconst getTagType = ({ row }: { row: any }): any => {\n\t\t\tlet enumKey = props.prop;\n\t\t\tif (isString(props.enum)) {\n\t\t\t\tenumKey = props.enum;\n\t\t\t}\n\t\t\tconst enumData = enumMap.get(enumKey);\n\t\t\treturn tableUtil.filterEnum(tableUtil.handleRowAccordingToProp(row, props.prop), enumData, null, \"tag\") as any;\n\t\t};\n\n\t\tconst getWidth = (defAttr: string): string | number => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn computed(() => {\n\t\t\t\t\tconst findInfo = tableState.autoColumnWidth.find((f) => f.prop === props.prop);\n\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\treturn `${findInfo.width}px`;\n\t\t\t\t\t}\n\t\t\t\t\treturn \"auto\";\n\t\t\t\t}).value;\n\t\t\t}\n\t\t\tif (_globalSize.value === \"small\") {\n\t\t\t\treturn props.smallWidth ?? props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t\t}\n\t\t\treturn props.width ?? props.minWidth ?? defAttr ?? \"auto\";\n\t\t};\n\n\t\tconst autoWidthHeaderRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn (\n\t\t\t\t\t<div class={[\"fa-table__auto-width-column__cell-header\", `__fa-table__auto-width-column__cell-header__${props.prop}`]}>{el}</div>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\tconst headerRender = ({ column, $index }: { column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.headerRender) {\n\t\t\t\treturn autoWidthHeaderRender(props.headerRender({ column, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.headerSlot) {\n\t\t\t\treturn autoWidthHeaderRender(\n\t\t\t\t\tslots[props.headerSlot] && slots[props.headerSlot]({ column, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn autoWidthHeaderRender(<span>{props.label}</span>);\n\t\t\t}\n\t\t};\n\n\t\tconst autoWidthRender = (el: VNode[]): VNode[] => {\n\t\t\tif (props.autoWidth) {\n\t\t\t\treturn <div class={[\"fa-table__auto-width-column__cell\", `__fa-table__auto-width-column__cell__${props.prop}`]}>{el}</div>;\n\t\t\t} else {\n\t\t\t\treturn el;\n\t\t\t}\n\t\t};\n\n\t\tconst handleCopyClick = async (value): Promise<void> => {\n\t\t\ttry {\n\t\t\t\tawait stringUtil.copy(String(value));\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tmessage: \"复制成功\",\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTableColumn\", error);\n\t\t\t\tElMessage({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: \"复制失败\",\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst copyRender = (value, copy?: boolean): VNode[] => {\n\t\t\treturn (\n\t\t\t\t(props.copy || copy) &&\n\t\t\t\tvalue && (\n\t\t\t\t\t<ElIcon class=\"fa__copy-icon\" title=\"复制\" onClick={() => handleCopyClick(value)}>\n\t\t\t\t\t\t<CopyDocument />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\tconst formatterRender = (row: any, column: TableColumnCtx<any>, cellValue: any, index: number): any => {\n\t\t\tif (column.formatter) {\n\t\t\t\treturn column.formatter(row, column, cellValue, index);\n\t\t\t} else {\n\t\t\t\treturn cellValue;\n\t\t\t}\n\t\t};\n\n\t\tconst defaultRender = ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }): VNode[] => {\n\t\t\tif (props.type === \"submitInfo\") {\n\t\t\t\tconst submitClerkName = row[props.submitInfoField?.submitClerkName ?? \"createdUserName\"];\n\t\t\t\tconst submitTime = row[props.submitInfoField?.submitTime ?? \"createdTime\"];\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\" title={submitTime}>\n\t\t\t\t\t\t\t{submitClerkName && <span style=\"margin-right: 5px;\">{submitClerkName}</span>}\n\t\t\t\t\t\t\t<span>{submitTime}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{submitTime && (\n\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(submitTime))}\n\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.tag) {\n\t\t\t\tconst renderValue = formatterRender(row, column, renderCellData({ row }), $index);\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue ? <ElTag type={getTagType({ row })}>{renderValue}</ElTag> : null}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.type === \"date\" || props.type === \"time\" || props.type === \"dateTime\") {\n\t\t\t\tlet dateFormat;\n\t\t\t\tswitch (props.type) {\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\t\tdateFormat = \"HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tdateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst renderValue = row[props.prop]\n\t\t\t\t\t? formatterRender(row, column, dayjs(row[props.prop]).format(props.dateFormat ?? dateFormat), $index)\n\t\t\t\t\t: null;\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t{props.dateFix && renderValue && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t<ElTag type=\"info\" round effect=\"light\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{dateUtil.dateTimeFix(String(renderValue))}\n\t\t\t\t\t\t\t\t</ElTag>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (\n\t\t\t\tprops.type === \"d2\" ||\n\t\t\t\tprops.type === \"d4\" ||\n\t\t\t\tprops.type === \"d6\" ||\n\t\t\t\tprops.type === \"gd2\" ||\n\t\t\t\tprops.type === \"gd4\" ||\n\t\t\t\tprops.type === \"gd6\"\n\t\t\t) {\n\t\t\t\tconst renderValue = row[props.prop];\n\t\t\t\tif (renderValue) {\n\t\t\t\t\tif (isNumber(renderValue)) {\n\t\t\t\t\t\tlet useGrouping = false;\n\t\t\t\t\t\tlet maximumFractionDigits: number;\n\t\t\t\t\t\tswitch (props.type) {\n\t\t\t\t\t\t\tcase \"d2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"d6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd2\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 2;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd4\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 4;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"gd6\":\n\t\t\t\t\t\t\t\tmaximumFractionDigits = 6;\n\t\t\t\t\t\t\t\tuseGrouping = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn renderValue.toLocaleString(\"zh-CN\", {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits,\n\t\t\t\t\t\t\tuseGrouping,\n\t\t\t\t\t\t}) as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn renderValue;\n\t\t\t} else if (props.link) {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue && (\n\t\t\t\t\t\t\t<ElText\n\t\t\t\t\t\t\t\tclass={\"el-link is-hover-underline fa-table__link-column__text\"}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t// 数据删除拦截点击\n\t\t\t\t\t\t\t\t\tif (props.dataDeleteField && row[props.dataDeleteField] === true) return;\n\t\t\t\t\t\t\t\t\tif (props.click) {\n\t\t\t\t\t\t\t\t\t\tprops.click({ row, $index });\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\temit(\"customCellClick\", props.clickEmit, {\n\t\t\t\t\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\t\t\t\t\tcolumn: columnCtx.value,\n\t\t\t\t\t\t\t\t\t\t\t$index,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t\t\t</ElText>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t} else if (props.render) {\n\t\t\t\treturn autoWidthRender(props.render({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) }));\n\t\t\t} else if (props.slot) {\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\tslots[props.slot] && slots[props.slot]({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst renderValue = formatterRender(row, column, row[props.prop], $index);\n\t\t\t\treturn autoWidthRender(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{copyRender(renderValue)}\n\t\t\t\t\t\t{renderValue}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tlet elTableColumnProps: ComputedRef<TableColumnCtx<any>> = useProps(props, tableColumnProps, [\n\t\t\t\"type\",\n\t\t\t\"width\",\n\t\t\t\"minWidth\",\n\t\t\t\"sortable\",\n\t\t\t\"sortOrders\",\n\t\t\t\"resizable\",\n\t\t\t\"showOverflowTooltip\",\n\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\n\t\twatch(\n\t\t\t() => props,\n\t\t\t() => {\n\t\t\t\telTableColumnProps = useProps(props, tableColumnProps, [\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"minWidth\",\n\t\t\t\t\t\"sortable\",\n\t\t\t\t\t\"sortOrders\",\n\t\t\t\t\t\"resizable\",\n\t\t\t\t\t\"showOverflowTooltip\",\n\t\t\t\t]) as unknown as ComputedRef<TableColumnCtx<any>>;\n\t\t\t}\n\t\t);\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{\n\t\t\t\t\t// 如果有配置多级表头的数据,则递归该组件\n\t\t\t\t\tprops._children?.length ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t\tprops._children.map((col: FaTableColumnCtx) =>\n\t\t\t\t\t\t\t\t\t\th(\n\t\t\t\t\t\t\t\t\t\t\tresolveComponent(\"FaTableColumn\"),\n\t\t\t\t\t\t\t\t\t\t\t{\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},\n\t\t\t\t\t\t\t\t\t\t\tslots\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : props.type === \"image\" ? (\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"fa-table__image-column\"\n\t\t\t\t\t\t\tminWidth=\"50px\"\n\t\t\t\t\t\t\tsortable={false}\n\t\t\t\t\t\t\tresizable={false}\n\t\t\t\t\t\t\tshowOverflowTooltip={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) => headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\trow[props.prop] ? (\n\t\t\t\t\t\t\t\t\t\tprops.hideImage ? (\n\t\t\t\t\t\t\t\t\t\t\t<ElImage\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa-image\"\n\t\t\t\t\t\t\t\t\t\t\t\tlazy\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={artwork}\n\t\t\t\t\t\t\t\t\t\t\t\tfit=\"cover\"\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewSrcList={[row[props.prop]]}\n\t\t\t\t\t\t\t\t\t\t\t\tcloseOnPressEscape\n\t\t\t\t\t\t\t\t\t\t\t\thideOnClickModal\n\t\t\t\t\t\t\t\t\t\t\t\tpreviewTeleported\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\t<FaImage lazy src={row[props.prop]} fit=\"cover\" original />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ElImage class=\"fa-image\" lazy src={notImage} fit=\"cover\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// 其他正常的列\n\t\t\t\t\t\t<ElTableColumn\n\t\t\t\t\t\t\t{...elTableColumnProps.value}\n\t\t\t\t\t\t\tminWidth={getWidth(\"auto\")}\n\t\t\t\t\t\t\tsortable={props.sortable ? \"custom\" : false}\n\t\t\t\t\t\t\tsortOrders={props.sortOrders ?? [\"descending\", \"ascending\", null]}\n\t\t\t\t\t\t\tresizable={props.resizable && !props.autoWidth}\n\t\t\t\t\t\t\tshowOverflowTooltip={(props.showOverflowTooltip ?? true) && !props.autoWidth && props.type == \"default\"}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\theader: ({ column, $index }: { column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.header\n\t\t\t\t\t\t\t\t\t\t? slots.header({ column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: headerRender({ column, $index }),\n\t\t\t\t\t\t\t\tdefault: ({ row, column, $index }: { row: any; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\tslots.default\n\t\t\t\t\t\t\t\t\t\t? slots.default({ row, column: columnCtx.value, $index, ...getTableDefaultSlots(tableState) })\n\t\t\t\t\t\t\t\t\t\t: defaultRender({ row, column, $index }),\n\t\t\t\t\t\t\t\tfilterIcon: ({ filterOpened }: { filterOpened: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.filterIcon && slots.filterIcon({ filterOpened, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t\texpand: ({ expanded }: { expanded: boolean }) =>\n\t\t\t\t\t\t\t\t\tslots.expand && slots.expand({ expanded, ...getTableDefaultSlots(tableState) }),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","tableColumnProps","type","String","default","label","className","labelClassName","property","prop","width","Number","minWidth","renderHeader","Function","sortable","Boolean","sortMethod","sortBy","Array","resizable","columnKey","align","headerAlign","showOverflowTooltip","undefined","fixed","formatter","selectable","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","filterClassName","index","sortOrders","validator","val","every","order","includes","TableColumn","name","props","definePropType","show","smallWidth","autoWidth","slot","headerSlot","headerRender","render","_children","hideImage","copy","link","spanProp","click","clickEmit","dateFix","dateFormat","tag","enum","dataDeleteField","submitInfoField","submitClerkName","submitTime","emits","imagePreview","url","isString","customCellClick","emitName","row","column","$index","isObject","isNumber","slots","makeSlots","setup","emit","_globalSize","useGlobalSize","tableState","inject","tableStateKey","enumMap","enumMapKey","columnCtx","computed","getTagType","enumKey","enumData","get","tableUtil","filterEnum","handleRowAccordingToProp","getWidth","defAttr","findInfo","autoColumnWidth","find","f","value","autoWidthHeaderRender","el","_createVNode","class","getTableDefaultSlots","autoWidthRender","copyRender","ElIcon","title","onClick","async","stringUtil","ElMessage","message","error","consoleError","handleCopyClick","CopyDocument","formatterRender","cellValue","defaultRender","_slot","_Fragment","style","ElTag","round","effect","size","dateUtil","dateTimeFix","renderValue","renderCellData","formatValue","_slot2","dayjs","format","maximumFractionDigits","useGrouping","toLocaleString","minimumFractionDigits","ElText","elTableColumnProps","useProps","watch","useRender","length","ElTableColumn","_mergeProps","header","map","col","h","resolveComponent","ElImage","lazy","src","artwork","fit","previewSrcList","closeOnPressEscape","hideOnClickModal","previewTeleported","FaImage","original","notImage","filterIcon","filterOpened","expand","expanded"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FaTableColumnCtx } from './table.type';
|
|
2
2
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
3
|
/** @description 改变 */
|
|
4
4
|
change: {
|
|
5
|
-
type: import('vue').PropType<(columns:
|
|
5
|
+
type: import('vue').PropType<(columns: FaTableColumnCtx[]) => Promise<void>>;
|
|
6
6
|
};
|
|
7
7
|
}>, {
|
|
8
8
|
/** @description 打开 */
|
|
@@ -12,7 +12,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
12
12
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
13
13
|
/** @description 改变 */
|
|
14
14
|
change: {
|
|
15
|
-
type: import('vue').PropType<(columns:
|
|
15
|
+
type: import('vue').PropType<(columns: FaTableColumnCtx[]) => Promise<void>>;
|
|
16
16
|
};
|
|
17
17
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
18
18
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),a=require("../../dialog/index.js"),o=require("@fast-china/utils"),t=require("sortablejs"),d=require("./useTable.js"),r=e.defineComponent({name:"FaTableColumnsSettingDialog",props:{change:{type:o.definePropType(Function)}},setup(r,{expose:n}){const c=e.inject(d.tableStateKey),i=e.reactive({tableKey:o.stringUtil.generateRandomString(8),sortableInstance:void 0,change:!1}),u=e.ref(),s=e=>e+1,m=async()=>{r.change&&
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),a=require("../../dialog/index.js"),o=require("@fast-china/utils"),t=require("sortablejs"),d=require("./useTable.js"),r=e.defineComponent({name:"FaTableColumnsSettingDialog",props:{change:{type:o.definePropType(Function)}},setup(r,{expose:n}){const c=e.inject(d.tableStateKey),i=e.reactive({tableKey:o.stringUtil.generateRandomString(8),sortableInstance:void 0,change:!1}),u=e.ref(),s=e=>e+1,m=async()=>{i.change?r.change&&await r.change(c.orgColumns):l.ElMessage.info("列配置未发生变化")},p=()=>{u.value.close(async()=>{await m()})},b=()=>{i.change=!0;let e=c.orgColumns.filter(e=>!e?.pureSearch);e=e.sort((l,a)=>l.order!==a.order?l.order-a.order:e.indexOf(a)-e.indexOf(l)),c.orgColumns=[...e,...c.orgColumns.filter(e=>e?.pureSearch)],c.orgColumns.forEach((e,l)=>{e.order=l+1})},h=()=>{i.change=!0},V=(e,l=!1)=>{const a={modelValue:void 0,disabled:!1,placeholder:void 0};if(e?.type)switch(e?.type){case"expand":a.disabled=!0,a.placeholder="暂不支持宽度配置";break;case"image":a.disabled=!0,a.placeholder="图片列无需配置";break;case"date":case"time":case"dateTime":a.disabled=!0,a.placeholder="时间/日期列无需配置";break;case"submitInfo":a.disabled=!0,a.placeholder="当前列无需配置"}else e?.tag?(a.disabled=!0,a.placeholder="标签列无需配置"):e?.autoWidth&&(a.disabled=!0,a.placeholder="自动列宽无需配置");return a.disabled||(delete a.disabled,delete a.modelValue,delete a.placeholder),l&&delete a.placeholder,a},g=(e,l=!1,a=!1,o=!1)=>{const t={modelValue:void 0,disabled:!1,placeholder:void 0};return e?.pureSearch&&(t.disabled=!0,t.placeholder="搜索列无需配置"),t.disabled?o&&delete t.modelValue:(delete t.disabled,delete t.modelValue,delete t.placeholder),l&&delete t.placeholder,a&&(t.placeholder="999"),t};return o.useRender(()=>e.createVNode(a.FaDialog,{ref:u,class:"fa-table__column-setting-dialog",onConfirmClick:p,showFullscreen:!1,confirmButtonText:i.change?"保存更改":"确认",fillHeight:!0},{header:()=>e.createVNode(e.Fragment,null,[e.createTextVNode("列表配置(留空则恢复默认配置)"),e.createVNode(e.resolveComponent("el-text"),{type:"info"},{default:()=>[e.createTextVNode("点击保存才会进行数据缓存,点击取消为本此生效")]})]),default:()=>e.createVNode(l.ElTable,{class:["fa-table__column-setting",`fa-table__column-setting-${i.tableKey}`],data:c.orgColumns,rowKey:"prop",border:!0},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(l.ElTableColumn,{type:"index",fixed:"left",align:"center",width:45,index:s},null),e.createVNode(l.ElTableColumn,{label:"列显示名称",minWidth:200},{default:({row:a})=>"image"===a.type?e.createVNode(l.ElInput,{disabled:!0,readonly:!0,modelValue:a.label,"onUpdate:modelValue":e=>a.label=e,placeholder:"请输入列显示名称",onChange:h},null):e.createVNode(l.ElInput,e.mergeProps({modelValue:a.label,"onUpdate:modelValue":e=>a.label=e,placeholder:"请输入列显示名称"},g(a),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"固定",width:230},{default:({row:a})=>e.createVNode(l.ElRadioGroup,e.mergeProps({modelValue:a.fixed,"onUpdate:modelValue":e=>a.fixed=e},g(a,!1,!1,!0),{onChange:h}),{default:()=>[e.createVNode(l.ElRadio,{value:!1},{default:()=>[e.createTextVNode("无")]}),e.createVNode(l.ElRadio,{value:"left"},{default:()=>[e.createTextVNode("左侧")]}),e.createVNode(l.ElRadio,{value:"right"},{default:()=>[e.createTextVNode("右侧")]})]})}),e.createVNode(l.ElTableColumn,{label:"宽度",width:200},{default:({row:a})=>e.createVNode(l.ElInputNumber,e.mergeProps({modelValue:a.width,"onUpdate:modelValue":e=>a.width=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入宽度"},V(a),g(a),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"小的宽度",width:200},{default:({row:a})=>e.createVNode(l.ElInputNumber,e.mergeProps({modelValue:a.smallWidth,"onUpdate:modelValue":e=>a.smallWidth=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入小的宽度"},V(a),g(a),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"顺序",width:100},{default:({row:a})=>e.createVNode(l.ElInputNumber,e.mergeProps({modelValue:a.order,"onUpdate:modelValue":e=>a.order=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入顺序"},g(a,!1,!0),{onChange:b}),null)}),e.createVNode(l.ElTableColumn,{label:"排序",width:65},{default:({row:a})=>e.createVNode(l.ElSwitch,e.mergeProps({modelValue:a.sortable,"onUpdate:modelValue":e=>a.sortable=e,inlinePrompt:!0,activeText:"是",inactiveText:"否",disabled:a.disabledSortable||"image"===a?.type},g(a,!0),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"复制",width:65},{default:({row:a})=>e.createVNode(l.ElSwitch,e.mergeProps({modelValue:a.copy,"onUpdate:modelValue":e=>a.copy=e,inlinePrompt:!0,activeText:"是",inactiveText:"否",disabled:!!a?.type||!!a?.slot},g(a,!0),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"自动宽度",width:85},{default:({row:a})=>e.createVNode(l.ElSwitch,e.mergeProps({modelValue:a.autoWidth,"onUpdate:modelValue":e=>a.autoWidth=e,inlinePrompt:!0,activeText:"是",inactiveText:"否",disabled:!!a?.type},g(a,!0),{onChange:h}),null)}),e.createVNode(l.ElTableColumn,{label:"显示",width:75},{default:({row:a})=>e.createVNode(l.ElSwitch,{modelValue:a.show,"onUpdate:modelValue":e=>a.show=e,inlinePrompt:!0,activeText:"显示",inactiveText:"隐藏",onChange:h},null)}),e.createVNode(l.ElTableColumn,{label:"搜索框名称",minWidth:200},{default:({row:a})=>a.search?e.createVNode(l.ElInput,{modelValue:a.search.label,"onUpdate:modelValue":e=>a.search.label=e,placeholder:"请输入搜索框名称",onChange:h},null):e.createVNode(l.ElInput,{disabled:!0,placeholder:"当前列暂无搜索项配置"},null)}),e.createVNode(l.ElTableColumn,{label:"搜索框顺序",width:200},{default:({row:a})=>a.search?e.createVNode(l.ElInputNumber,{modelValue:a.search.order,"onUpdate:modelValue":e=>a.search.order=e,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"请输入搜索框顺序",onChange:h},null):e.createVNode(l.ElInputNumber,{disabled:!0,min:1,max:999,stepStrictly:!0,controls:!1,clearable:!0,placeholder:"当前列暂无搜索项配置"},null)})])})})),o.useExpose(n,{open:()=>{u.value.open(()=>{(()=>{const e=document.querySelector(`.fa-table__column-setting-${i.tableKey} .el-table__body-wrapper tbody`);i.sortableInstance&&i.sortableInstance.destroy(),i.sortableInstance=new t(e,{animation:150,delay:0,onEnd(e){const{newIndex:l,oldIndex:a}=e;if(l!==a){i.change=!0;const e=c.orgColumns.splice(a,1)[0];c.orgColumns.splice(l,0,e),c.orgColumns=c.orgColumns.map((e,l)=>({...e,order:l+1}))}}})})(),l.ElNotification({message:"点击保存才会进行数据缓存,点击取消为本此生效",type:"info"})})},change:m})}});exports.default=r;
|
|
2
2
|
//# sourceMappingURL=tableColumnSettingDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableColumnSettingDialog.js","sources":["../../../../../packages/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, reactive, ref } from \"vue\";\nimport { ElInput, ElInputNumber, ElMessage, ElNotification, ElRadio, ElRadioGroup, ElSwitch, ElTable, ElTableColumn } from \"element-plus\";\nimport { FaDialog } from \"@fast-element-plus/components/dialog\";\nimport { definePropType, stringUtil, useExpose, useRender } from \"@fast-china/utils\";\nimport Sortable from \"sortablejs\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaTableChangeColumnsCtx, FaTableColumnCtx } from \"./table.type\";\nimport type { FaDialogInstance } from \"@fast-element-plus/components/dialog\";\nimport type { TableColumnCtx } from \"element-plus\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** @description 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableChangeColumnsCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\n\t\tconst state = reactive({\n\t\t\ttableKey: stringUtil.generateRandomString(8),\n\t\t\tsortableInstance: undefined,\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst faDialogRef = ref<FaDialogInstance>();\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\treturn index + 1;\n\t\t};\n\n\t\t// /**\n\t\t// * 处理固定行ClassName\n\t\t// */\n\t\t// const handleFixedRowClassName = (row: FaTableColumnCtx) => {\n\t\t// \tif (row.fixed) {\n\t\t// \t\treturn \"fa-table__setting-fixed-column\";\n\t\t// \t}\n\t\t// };\n\n\t\tconst tableRowDrop = (): void => {\n\t\t\tconst tBody = document.querySelector(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`) as any;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tif (state.sortableInstance) {\n\t\t\t\tstate.sortableInstance.destroy();\n\t\t\t}\n\n\t\t\tstate.sortableInstance = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\tdelay: 0,\n\t\t\t\t// filter: \".fa-table__setting-fixed-column\",\n\t\t\t\t// onMove(evt: any) {\n\t\t\t\t// \tconst { related } = evt;\n\t\t\t\t// \treturn !related.classList.contains(\"fa-table__setting-fixed-column\");\n\t\t\t\t// },\n\t\t\t\tonEnd(evt: any): void {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\ttableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = (): void => {\n\t\t\tfaDialogRef.value.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleChange = async (): Promise<void> => {\n\t\t\tif (props.change) {\n\t\t\t\tif (state.change) {\n\t\t\t\t\tawait props.change(\n\t\t\t\t\t\ttableState.orgColumns.map((m) => ({\n\t\t\t\t\t\t\tcolumnID: m.columnID,\n\t\t\t\t\t\t\tlabel: m.label,\n\t\t\t\t\t\t\tfixed: m.fixed,\n\t\t\t\t\t\t\twidth: m.width,\n\t\t\t\t\t\t\tsmallWidth: m.smallWidth,\n\t\t\t\t\t\t\torder: m.order,\n\t\t\t\t\t\t\tsortable: m.sortable,\n\t\t\t\t\t\t\tcopy: m.copy,\n\t\t\t\t\t\t\tautoWidth: m.autoWidth,\n\t\t\t\t\t\t\tshow: m.show,\n\t\t\t\t\t\t\tsearch: {\n\t\t\t\t\t\t\t\tlabel: m.search?.label,\n\t\t\t\t\t\t\t\torder: m.search?.order,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}))\n\t\t\t\t\t);\n\t\t\t\t\tElMessage.success(\"保存列配置成功\");\n\t\t\t\t} else {\n\t\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tfaDialogRef.value.close(async () => {\n\t\t\t\tawait handleChange();\n\t\t\t});\n\t\t};\n\n\t\tconst handleOrderChange = (): void => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f?.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn a.order - b.order;\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f?.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = (): void => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.type) {\n\t\t\t\tswitch (row?.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"submitInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row?.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row?.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false,\n\t\t\torderEl = false,\n\t\t\tradioEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t} else {\n\t\t\t\tif (radioEl) {\n\t\t\t\t\tdelete result.modelValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfillHeight\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<el-text type=\"info\">点击保存才会进行数据缓存,点击取消为本此生效</el-text>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t\t// rowClassName={handleFixedRowClassName}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\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\t<ElTableColumn label=\"宽度\" width={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={row.disabledSortable || row?.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type || !!row?.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\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\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\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\t\t</ElTableColumn>\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}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 打开 */\n\t\t\topen,\n\t\t\t/** @description 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"names":["TableColumnsSettingDialog","name","props","change","type","definePropType","Function","setup","expose","tableState","inject","tableStateKey","state","reactive","tableKey","stringUtil","generateRandomString","sortableInstance","undefined","faDialogRef","ref","indexMethod","index","handleChange","async","orgColumns","map","m","columnID","label","fixed","width","smallWidth","order","sortable","copy","autoWidth","show","search","ElMessage","success","info","handleConfirmClick","value","close","handleOrderChange","orderColumns","filter","f","pureSearch","sort","a","b","indexOf","forEach","item","handleColumnChange","autoWidthDisabled","row","switchEl","result","modelValue","disabled","placeholder","tag","pureSearchDisabled","orderEl","radioEl","useRender","_createVNode","FaDialog","class","onConfirmClick","showFullscreen","confirmButtonText","fillHeight","header","_Fragment","_createTextVNode","_resolveComponent","default","ElTable","data","rowKey","border","ElTableColumn","align","minWidth","ElInput","readonly","$event","onChange","_mergeProps","ElRadioGroup","ElRadio","ElInputNumber","min","max","stepStrictly","controls","clearable","ElSwitch","inlinePrompt","activeText","inactiveText","disabledSortable","slot","useExpose","open","tableRowDrop","tBody","document","querySelector","destroy","Sortable","animation","delay","onEnd","evt","newIndex","oldIndex","curRow","splice","ElNotification","message"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tableColumnSettingDialog.js","sources":["../../../../../packages/components/table/src/tableColumnSettingDialog.tsx"],"sourcesContent":["import { Fragment, defineComponent, inject, reactive, ref } from \"vue\";\nimport { ElInput, ElInputNumber, ElMessage, ElNotification, ElRadio, ElRadioGroup, ElSwitch, ElTable, ElTableColumn } from \"element-plus\";\nimport { FaDialog } from \"@fast-element-plus/components/dialog\";\nimport { definePropType, stringUtil, useExpose, useRender } from \"@fast-china/utils\";\nimport Sortable from \"sortablejs\";\nimport { tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx } from \"./table.type\";\nimport type { FaDialogInstance } from \"@fast-element-plus/components/dialog\";\nimport type { TableColumnCtx } from \"element-plus\";\n\nexport default defineComponent({\n\tname: \"FaTableColumnsSettingDialog\",\n\tprops: {\n\t\t/** @description 改变 */\n\t\tchange: {\n\t\t\ttype: definePropType<(columns: FaTableColumnCtx[]) => Promise<void>>(Function),\n\t\t},\n\t},\n\tsetup(props, { expose }) {\n\t\tconst tableState = inject(tableStateKey);\n\n\t\tconst state = reactive({\n\t\t\ttableKey: stringUtil.generateRandomString(8),\n\t\t\tsortableInstance: undefined,\n\t\t\tchange: false,\n\t\t});\n\n\t\tconst faDialogRef = ref<FaDialogInstance>();\n\n\t\tconst indexMethod = (index: number): number => {\n\t\t\treturn index + 1;\n\t\t};\n\n\t\t// /**\n\t\t// * 处理固定行ClassName\n\t\t// */\n\t\t// const handleFixedRowClassName = (row: FaTableColumnCtx) => {\n\t\t// \tif (row.fixed) {\n\t\t// \t\treturn \"fa-table__setting-fixed-column\";\n\t\t// \t}\n\t\t// };\n\n\t\tconst tableRowDrop = (): void => {\n\t\t\tconst tBody = document.querySelector(`.fa-table__column-setting-${state.tableKey} .el-table__body-wrapper tbody`) as any;\n\n\t\t\t// 销毁现有Sortable实例(如果存在)\n\t\t\tif (state.sortableInstance) {\n\t\t\t\tstate.sortableInstance.destroy();\n\t\t\t}\n\n\t\t\tstate.sortableInstance = new Sortable(tBody, {\n\t\t\t\t// ms, number 单位:ms,定义排序动画的时间\n\t\t\t\tanimation: 150,\n\t\t\t\tdelay: 0,\n\t\t\t\t// filter: \".fa-table__setting-fixed-column\",\n\t\t\t\t// onMove(evt: any) {\n\t\t\t\t// \tconst { related } = evt;\n\t\t\t\t// \treturn !related.classList.contains(\"fa-table__setting-fixed-column\");\n\t\t\t\t// },\n\t\t\t\tonEnd(evt: any): void {\n\t\t\t\t\tconst { newIndex, oldIndex } = evt;\n\t\t\t\t\tif (newIndex !== oldIndex) {\n\t\t\t\t\t\tstate.change = true;\n\t\t\t\t\t\tconst curRow = tableState.orgColumns.splice(oldIndex, 1)[0];\n\t\t\t\t\t\ttableState.orgColumns.splice(newIndex, 0, curRow);\n\t\t\t\t\t\ttableState.orgColumns = tableState.orgColumns.map((item, index) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\t\torder: index + 1,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tconst open = (): void => {\n\t\t\tfaDialogRef.value.open(() => {\n\t\t\t\ttableRowDrop();\n\t\t\t\tElNotification({\n\t\t\t\t\tmessage: \"点击保存才会进行数据缓存,点击取消为本此生效\",\n\t\t\t\t\ttype: \"info\",\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleChange = async (): Promise<void> => {\n\t\t\tif (state.change) {\n\t\t\t\tprops.change && (await props.change(tableState.orgColumns));\n\t\t\t} else {\n\t\t\t\tElMessage.info(\"列配置未发生变化\");\n\t\t\t}\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tfaDialogRef.value.close(async () => {\n\t\t\t\tawait handleChange();\n\t\t\t});\n\t\t};\n\n\t\tconst handleOrderChange = (): void => {\n\t\t\tstate.change = true;\n\t\t\tlet orderColumns = tableState.orgColumns.filter((f) => !f?.pureSearch);\n\t\t\torderColumns = orderColumns.sort((a, b) => {\n\t\t\t\tif (a.order !== b.order) {\n\t\t\t\t\treturn a.order - b.order;\n\t\t\t\t} else {\n\t\t\t\t\treturn orderColumns.indexOf(b) - orderColumns.indexOf(a);\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableState.orgColumns = [...orderColumns, ...tableState.orgColumns.filter((f) => f?.pureSearch)];\n\t\t\ttableState.orgColumns.forEach((item, index) => {\n\t\t\t\titem.order = index + 1;\n\t\t\t});\n\t\t};\n\n\t\tconst handleColumnChange = (): void => {\n\t\t\tstate.change = true;\n\t\t};\n\n\t\tconst autoWidthDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.type) {\n\t\t\t\tswitch (row?.type) {\n\t\t\t\t\tcase \"expand\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"暂不支持宽度配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"图片列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"date\":\n\t\t\t\t\tcase \"time\":\n\t\t\t\t\tcase \"dateTime\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"时间/日期列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"submitInfo\":\n\t\t\t\t\t\tresult.disabled = true;\n\t\t\t\t\t\tresult.placeholder = \"当前列无需配置\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (row?.tag) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"标签列无需配置\";\n\t\t\t} else if (row?.autoWidth) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"自动列宽无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst pureSearchDisabled = (\n\t\t\trow: FaTableColumnCtx,\n\t\t\tswitchEl = false,\n\t\t\torderEl = false,\n\t\t\tradioEl = false\n\t\t): {\n\t\t\tmodelValue: any;\n\t\t\tdisabled: boolean;\n\t\t\tplaceholder: any;\n\t\t} => {\n\t\t\tconst result = { modelValue: undefined, disabled: false, placeholder: undefined };\n\t\t\tif (row?.pureSearch) {\n\t\t\t\tresult.disabled = true;\n\t\t\t\tresult.placeholder = \"搜索列无需配置\";\n\t\t\t}\n\t\t\tif (!result.disabled) {\n\t\t\t\tdelete result.disabled;\n\t\t\t\tdelete result.modelValue;\n\t\t\t\tdelete result.placeholder;\n\t\t\t} else {\n\t\t\t\tif (radioEl) {\n\t\t\t\t\tdelete result.modelValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (switchEl) {\n\t\t\t\tdelete result.placeholder;\n\t\t\t}\n\t\t\tif (orderEl) {\n\t\t\t\tresult.placeholder = \"999\";\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<FaDialog\n\t\t\t\tref={faDialogRef}\n\t\t\t\tclass=\"fa-table__column-setting-dialog\"\n\t\t\t\tonConfirmClick={handleConfirmClick}\n\t\t\t\tshowFullscreen={false}\n\t\t\t\tconfirmButtonText={state.change ? \"保存更改\" : \"确认\"}\n\t\t\t\tfillHeight\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t列表配置(留空则恢复默认配置)\n\t\t\t\t\t\t\t<el-text type=\"info\">点击保存才会进行数据缓存,点击取消为本此生效</el-text>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElTable\n\t\t\t\t\t\t\tclass={[\"fa-table__column-setting\", `fa-table__column-setting-${state.tableKey}`]}\n\t\t\t\t\t\t\tdata={tableState.orgColumns}\n\t\t\t\t\t\t\trowKey=\"prop\"\n\t\t\t\t\t\t\tborder\n\t\t\t\t\t\t\t// rowClassName={handleFixedRowClassName}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn type=\"index\" fixed=\"left\" align=\"center\" width={45} index={indexMethod} />\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"列显示名称\" minWidth={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.type === \"image\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入列显示名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"固定\" width={230}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadioGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.fixed}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t<ElRadio value={false}>无</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"left\">左侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElRadio value=\"right\">右侧</ElRadio>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ElRadioGroup>\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\t<ElTableColumn label=\"宽度\" width={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.width}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"小的宽度\" width={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.smallWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入小的宽度\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...autoWidthDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"顺序\" width={100}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, false, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOrderChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"排序\" width={65}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.sortable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={row.disabledSortable || row?.type === \"image\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"复制\" width={65}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.copy}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type || !!row?.slot}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"自动宽度\" width={85}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.autoWidth}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"是\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"否\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!!row?.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...pureSearchDisabled(row, true)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"显示\" width={75}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ElSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.show}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinlinePrompt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveText=\"显示\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinactiveText=\"隐藏\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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}}\n\t\t\t\t\t\t\t\t\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框名称\" minWidth={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框名称\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t\t<ElInput disabled placeholder=\"当前列暂无搜索项配置\" />\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\t\t</ElTableColumn>\n\t\t\t\t\t\t\t\t\t\t<ElTableColumn label=\"搜索框顺序\" width={200}>\n\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 }: { row: FaTableColumnCtx; column: TableColumnCtx<any>; $index: number }) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\trow.search ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvModel={row.search.order}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"请输入搜索框顺序\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleColumnChange}\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\t\t\t<ElInputNumber\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax={999}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstepStrictly\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrols={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"当前列暂无搜索项配置\"\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\t\t</ElTableColumn>\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}}\n\t\t\t\t\t\t</ElTable>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</FaDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 打开 */\n\t\t\topen,\n\t\t\t/** @description 列改变 */\n\t\t\tchange: handleChange,\n\t\t});\n\t},\n});\n"],"names":["TableColumnsSettingDialog","name","props","change","type","definePropType","Function","setup","expose","tableState","inject","tableStateKey","state","reactive","tableKey","stringUtil","generateRandomString","sortableInstance","undefined","faDialogRef","ref","indexMethod","index","handleChange","async","orgColumns","ElMessage","info","handleConfirmClick","value","close","handleOrderChange","orderColumns","filter","f","pureSearch","sort","a","b","order","indexOf","forEach","item","handleColumnChange","autoWidthDisabled","row","switchEl","result","modelValue","disabled","placeholder","tag","autoWidth","pureSearchDisabled","orderEl","radioEl","useRender","_createVNode","FaDialog","class","onConfirmClick","showFullscreen","confirmButtonText","fillHeight","header","_Fragment","_createTextVNode","_resolveComponent","default","ElTable","data","rowKey","border","ElTableColumn","fixed","align","width","label","minWidth","ElInput","readonly","$event","onChange","_mergeProps","ElRadioGroup","ElRadio","ElInputNumber","min","max","stepStrictly","controls","clearable","smallWidth","ElSwitch","sortable","inlinePrompt","activeText","inactiveText","disabledSortable","copy","slot","show","search","useExpose","open","tableRowDrop","tBody","document","querySelector","destroy","Sortable","animation","delay","onEnd","evt","newIndex","oldIndex","curRow","splice","map","ElNotification","message"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),e=require("element-plus"),t=require("@fast-china/utils"),r=require("lodash-unified"),o=require("../utils/table.js"),n=require("./table.type.js"),l=Symbol("tableState"),s=Symbol("enumMap");exports.enumMapKey=s,exports.tableStateKey=l,exports.useTable=(i,c,p)=>{const h=e.useGlobalSize(),u=a.ref(),d=a.ref(),g=a.reactive(new Map);a.provide(s,g);const m=a.reactive({loading:!1,loadingText:"加载中...",orgColumns:[],tableColumns:a.computed(()=>m.orgColumns.filter(a=>a.prop&&!a.pureSearch)),searchColumns:a.computed(()=>m.orgColumns.filter(a=>a.pureSearch||a.search).sort((a,e)=>a.search?.order-e.search?.order)),spanColumns:a.computed(()=>[...m.orgColumns.filter(a=>a.spanProp).map(a=>({prop:a?.prop,spanProp:a?.spanProp})),...i.props.span?[{prop:"__table-index",spanProp:i.props.span},{prop:"__table-selection",spanProp:i.props.span},{prop:"__table-operation",spanProp:i.props.span}]:[]]),tableData:[],tableSpanData:a.computed(()=>{if(m.spanColumns?.length>0&&m.tableData?.length>0){const a=[];m.spanColumns.forEach(e=>{a[e.prop]=new Array(m.tableData.length).fill(1,0,1).fill(0,1),a[`${e.prop}-index`]=0});for(let e=1;e<m.tableData.length;e++)m.spanColumns.forEach(t=>{m.tableData[e][t.spanProp]===m.tableData[e-1][t.spanProp]?a[t.prop][a[`${t.prop}-index`]]++:(a[`${t.prop}-index`]=e,a[t.prop][e]=1)});return a}return[]}),tablePagination:{pageIndex:1,pageSize:20,totalRows:0},initParam:{},searchParam:{},searchValueUpdate:"",searchForm:i.searchForm,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),e=require("element-plus"),t=require("@fast-china/utils"),r=require("lodash-unified"),o=require("../utils/table.js"),n=require("./table.type.js"),l=Symbol("tableState"),s=Symbol("enumMap");exports.enumMapKey=s,exports.tableStateKey=l,exports.useTable=(i,c,p)=>{const h=e.useGlobalSize(),u=a.ref(),d=a.ref(),g=a.reactive(new Map);a.provide(s,g);const m=a.reactive({loading:!1,loadingText:"加载中...",orgColumns:[],tableColumns:a.computed(()=>m.orgColumns.filter(a=>a.prop&&!a.pureSearch)),searchColumns:a.computed(()=>m.orgColumns.filter(a=>a.pureSearch||a.search).sort((a,e)=>a.search?.order-e.search?.order)),spanColumns:a.computed(()=>[...m.orgColumns.filter(a=>a.spanProp).map(a=>({prop:a?.prop,spanProp:a?.spanProp})),...i.props.span?[{prop:"__table-index",spanProp:i.props.span},{prop:"__table-selection",spanProp:i.props.span},{prop:"__table-operation",spanProp:i.props.span}]:[]]),tableData:[],tableSpanData:a.computed(()=>{if(m.spanColumns?.length>0&&m.tableData?.length>0){const a=[];m.spanColumns.forEach(e=>{a[e.prop]=new Array(m.tableData.length).fill(1,0,1).fill(0,1),a[`${e.prop}-index`]=0});for(let e=1;e<m.tableData.length;e++)m.spanColumns.forEach(t=>{m.tableData[e][t.spanProp]===m.tableData[e-1][t.spanProp]?a[t.prop][a[`${t.prop}-index`]]++:(a[`${t.prop}-index`]=e,a[t.prop][e]=1)});return a}return[]}),tablePagination:{pageIndex:1,pageSize:20,totalRows:0},initParam:{},searchParam:{},searchValueUpdate:"",searchForm:i.searchForm,selected:!1,selectedList:[],selectedListIds:a.computed(()=>m.selectedList.map(a=>r.isFunction(i.rowKey)?i.rowKey(a):a[i.rowKey])),indeterminateSelectedListIds:[],responseConfig:void 0,operationColumnWidth:a.computed(()=>{const a=m.autoColumnWidth.find(a=>"__table-operation"===a.prop);if(a)return`${a.width}px`;switch(h.value){case"large":case"default":return"54px";case"small":return"42px";default:return"auto"}}),imagePreview:!1,previewList:[],tableWidth:void 0,tableHeight:void 0,autoColumnWidth:[]});a.provide(l,m);const b=()=>{m.loading=!0,m.loadingText="加载中...",m.autoColumnWidth=[];const e=m.tableColumns.filter(a=>a.autoWidth);if(c?.operation&&e.push({prop:"__table-operation"}),e?.length>0){const t="default"===h.value?25:17;a.nextTick(()=>{const a=document.querySelector(`.fa-table__${i.tableKey}`);a&&e.forEach(e=>{const r=a.querySelector(`.__fa-table__auto-width-column__cell-header__${e?.prop}`),o=a.querySelectorAll(`.__fa-table__auto-width-column__cell__${e?.prop}`);let n=0;r&&(n=Math.ceil(r.scrollWidth)+t,e?.sortable&&(n+=24)),o.forEach(a=>{const e=Math.ceil(a.scrollWidth)+t;e>n&&(n=e)});const l=m.autoColumnWidth.find(a=>a.prop===e?.prop);l?l.width=Math.max(l.width,n):m.autoColumnWidth.push({prop:e?.prop,width:n})})})}m.loading=!1},P=a=>{if(i.treeData){const e=[];return a.forEach(a=>{const t=a[i.props.children];r.isArray(t)?t.forEach(t=>e.push({...a,...t})):e.push({...a,...t||{}})}),e}return a},f=()=>{const a={...m.searchParam,...i.pagination?m.tablePagination:{}};return delete a.totalRows,a},C=async()=>{if(m.loading=!0,m.loadingText="加载中...",i.requestApi){const e=f();p("refresh",e);let r=[];try{const a=await i.requestApi(e);if(i.dataCallback&&i.dataCallback(a),i.pagination){const e=a;r=e.rows,Object.assign(m.tablePagination,{pageIndex:e.pageIndex,pageSize:e.pageSize,totalRows:e.totalRows})}else r=a,Object.assign(m.tablePagination,{pageIndex:1,pageSize:0,totalRows:r.length});m.tableData=P(r)}catch(a){t.consoleError("FaTable",a),m.tableData=[]}finally{m.loading=!1}}else{p("refresh",{searchValue:m.searchParam.searchValue});let a=P(i.data);if(a=a.filter(a=>!m.searchParam.searchValue||m.tableColumns.some(e=>a[e.prop]?.toString()?.toLowerCase().includes(m.searchParam.searchValue?.toLowerCase()))),m.searchParam.sortList?.length>0&&(a=a.sort(o.tableUtil.arrayDynamicSort(m.searchParam.sortList))),i.pagination){Object.assign(m.tablePagination,{totalRows:a.length});const e=(m.tablePagination.pageIndex-1)*m.tablePagination.pageSize,t=e+m.tablePagination.pageSize;m.tableData=a.slice(e,t)}else m.tableData=a,Object.assign(m.tablePagination,{pageIndex:1,pageSize:0,totalRows:a.length});m.loading=!1}b()},w=()=>{let a=i.columns?i.columns:[];a.forEach(a=>{(a.pureSearch||a.search)&&(a.search.key??=a.prop,a.search.label??=a.label,a.search.defaultValue&&(m.searchParam[a.search.key]=a.search.defaultValue))}),a=a.sort((a,e)=>a?.order-e?.order),m.orgColumns=o.tableUtil.flatColumns(a,g)},y=()=>{if(i.hideSearchTime)m.searchParam.searchTimeList=void 0;else{const a=new Date,t=new Date;switch(i.dataSearchRange){case"Past1D":t.setDate(t.getDate()-1);break;case"Past3D":t.setDate(t.getDate()-3);break;case"Past1W":t.setDate(t.getDate()-7);break;case"Past1M":t.setMonth(t.getMonth()-1);break;case"Past3M":t.setMonth(t.getMonth()-3);break;case"Past6M":t.setMonth(t.getMonth()-6);break;case"Past1Y":t.setFullYear(t.getFullYear()-1);break;case"Past3Y":t.setFullYear(t.getFullYear()-3)}m.searchParam.searchTimeList=[e.dayjs(t).format("YYYY-MM-DD 00:00:00"),e.dayjs(a).format("YYYY-MM-DD 23:59:59")]}},S=async()=>{m.tablePagination.pageIndex=1,(()=>{const a={};for(const e in m.searchParam)m.searchParam[e]||!1===m.searchParam[e]||0===m.searchParam[e]?a[e]=m.searchParam[e]:m.searchParam[e]||delete m.searchParam[e];Object.assign(m.searchParam,a)})(),await C()},x=async()=>{m.orgColumns=[],m.autoColumnWidth=[],m.tableData=[],await t.clickUtil.debounceAsync(async()=>{w(),await S()},300)};return a.watch(()=>i.tableKey,async()=>{await x()}),a.watch(()=>i.searchForm,a=>{m.searchForm=a}),{_globalSize:h,state:m,elementRef:u,tableRef:d,handleTableColumnAutoWidth:b,getRequestParam:f,loadTableColumns:w,handleSizeChange:a=>{m.tablePagination.pageIndex=1,m.tablePagination.pageSize=a,p("sizeChange",a),p("paginationChange",1,a),C()},handlePaginationChange:a=>{m.tablePagination.pageIndex=a,p("sizeChange",m.tablePagination.pageSize),p("paginationChange",a,m.tablePagination.pageSize),C()},defaultSearchTime:y,tableSearch:S,tableReset:async()=>{m.tablePagination.pageIndex=1,m.searchParam={},y(),Object.keys(m.initParam??{}).forEach(a=>{m.searchParam[a]=m.initParam[a]}),p("reset",m.searchParam),await C()},doRender:x,doLoading:(a,e="加载中...")=>{m.loading=!0,m.loadingText=e,t.execFunction(a).then().catch(a=>{t.consoleError("FaTable",a)}).finally(()=>{m.loading=!1})},handleCustomCellClick:(a,{row:e,column:t,$index:r})=>{p("customCellClick",a,{row:e,column:t,$index:r,...n.getTableDefaultSlots(m)})}}};
|
|
2
2
|
//# sourceMappingURL=useTable.js.map
|