ll-plus 2.8.2 → 2.8.3
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/es/components/config-provider/index.d.ts +37 -2
- package/es/components/config-provider/src/config-provider.d.ts +18 -2
- package/es/components/config-provider/src/config-provider.vue.d.ts +37 -2
- package/es/components/table/index.d.ts +1 -8
- package/es/components/table/src/components/main-table.vue.d.ts +1 -4
- package/es/components/table/src/config/main-table.d.ts +0 -1
- package/es/components/table/src/config/table.d.ts +0 -2
- package/es/components/table/src/table.vue.d.ts +1 -8
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/use-locale/index.d.ts +15 -0
- package/es/index.mjs +2 -0
- package/es/index.mjs.map +1 -1
- package/es/locale/index.d.ts +10 -0
- package/es/locale/lang/en.d.ts +9 -0
- package/es/locale/lang/zh-cn.d.ts +9 -0
- package/es/locale/lang/zh-tw.d.ts +9 -0
- package/es/packages/components/config-provider/index.mjs +1 -1
- package/es/packages/components/config-provider/src/config-provider.mjs +29 -0
- package/es/packages/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/packages/components/config-provider/src/config-provider.vue2.mjs +18 -3
- package/es/packages/components/config-provider/src/config-provider.vue2.mjs.map +1 -1
- package/es/packages/components/index.mjs +1 -0
- package/es/packages/components/index.mjs.map +1 -1
- package/es/packages/components/table/src/components/main-table.vue2.mjs +4 -1
- package/es/packages/components/table/src/components/main-table.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/pagination.vue2.mjs +30 -7
- package/es/packages/components/table/src/components/pagination.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/config/main-table.mjs +0 -7
- package/es/packages/components/table/src/config/main-table.mjs.map +1 -1
- package/es/packages/hooks/index.mjs +1 -0
- package/es/packages/hooks/index.mjs.map +1 -1
- package/es/packages/hooks/use-locale/index.mjs +29 -0
- package/es/packages/hooks/use-locale/index.mjs.map +1 -0
- package/es/packages/locale/index.mjs +6 -0
- package/es/packages/locale/index.mjs.map +1 -0
- package/es/packages/locale/lang/en.mjs +12 -0
- package/es/packages/locale/lang/en.mjs.map +1 -0
- package/es/packages/locale/lang/zh-cn.mjs +12 -0
- package/es/packages/locale/lang/zh-cn.mjs.map +1 -0
- package/es/packages/locale/lang/zh-tw.mjs +12 -0
- package/es/packages/locale/lang/zh-tw.mjs.map +1 -0
- package/index.full.js +125 -18
- package/index.full.min.js +27 -40
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +27 -40
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +121 -20
- package/lib/components/config-provider/index.d.ts +37 -2
- package/lib/components/config-provider/src/config-provider.d.ts +18 -2
- package/lib/components/config-provider/src/config-provider.vue.d.ts +37 -2
- package/lib/components/table/index.d.ts +1 -8
- package/lib/components/table/src/components/main-table.vue.d.ts +1 -4
- package/lib/components/table/src/config/main-table.d.ts +0 -1
- package/lib/components/table/src/config/table.d.ts +0 -2
- package/lib/components/table/src/table.vue.d.ts +1 -8
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/use-locale/index.d.ts +15 -0
- package/lib/index.js +10 -2
- package/lib/index.js.map +1 -1
- package/lib/locale/index.d.ts +10 -0
- package/lib/locale/lang/en.d.ts +9 -0
- package/lib/locale/lang/zh-cn.d.ts +9 -0
- package/lib/locale/lang/zh-tw.d.ts +9 -0
- package/lib/packages/components/config-provider/index.js +4 -3
- package/lib/packages/components/config-provider/index.js.map +1 -1
- package/lib/packages/components/config-provider/src/config-provider.js +29 -0
- package/lib/packages/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/packages/components/config-provider/src/config-provider.vue2.js +17 -2
- package/lib/packages/components/config-provider/src/config-provider.vue2.js.map +1 -1
- package/lib/packages/components/index.js +2 -0
- package/lib/packages/components/index.js.map +1 -1
- package/lib/packages/components/table/src/components/main-table.vue2.js +4 -1
- package/lib/packages/components/table/src/components/main-table.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/pagination.vue2.js +29 -6
- package/lib/packages/components/table/src/components/pagination.vue2.js.map +1 -1
- package/lib/packages/components/table/src/config/main-table.js +0 -7
- package/lib/packages/components/table/src/config/main-table.js.map +1 -1
- package/lib/packages/hooks/index.js +8 -2
- package/lib/packages/hooks/index.js.map +1 -1
- package/lib/packages/hooks/use-locale/index.js +35 -0
- package/lib/packages/hooks/use-locale/index.js.map +1 -0
- package/lib/packages/locale/index.js +12 -0
- package/lib/packages/locale/index.js.map +1 -0
- package/lib/packages/locale/lang/en.js +16 -0
- package/lib/packages/locale/lang/en.js.map +1 -0
- package/lib/packages/locale/lang/zh-cn.js +16 -0
- package/lib/packages/locale/lang/zh-cn.js.map +1 -0
- package/lib/packages/locale/lang/zh-tw.js +16 -0
- package/lib/packages/locale/lang/zh-tw.js.map +1 -0
- package/package.json +1 -1
- package/types/packages/components/config-provider/index.d.ts +37 -2
- package/types/packages/components/config-provider/src/config-provider.d.ts +18 -2
- package/types/packages/components/config-provider/src/config-provider.vue.d.ts +37 -2
- package/types/packages/components/table/index.d.ts +1 -8
- package/types/packages/components/table/src/components/main-table.vue.d.ts +1 -4
- package/types/packages/components/table/src/config/main-table.d.ts +0 -1
- package/types/packages/components/table/src/config/table.d.ts +0 -2
- package/types/packages/components/table/src/table.vue.d.ts +1 -8
- package/types/packages/hooks/index.d.ts +1 -0
- package/types/packages/hooks/use-locale/index.d.ts +15 -0
- package/types/packages/locale/index.d.ts +10 -0
- package/types/packages/locale/lang/en.d.ts +9 -0
- package/types/packages/locale/lang/zh-cn.d.ts +9 -0
- package/types/packages/locale/lang/zh-tw.d.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-table.vue2.mjs","sources":["../../../../../../../packages/components/table/src/components/main-table.vue"],"sourcesContent":["<template>\n <a-table\n :class=\"`${bem.e('main-content')}`\"\n row-key=\"id\"\n v-bind=\"attrs\"\n :columns=\"newColumns\"\n :data-source=\"newDataSource\"\n :expanded-row-keys=\"newExpandedRowKeys\"\n :custom-row=\"props.showDrag ? dragCustomRow : (customRowProps as any)\"\n :pagination=\"false\"\n show-header\n :scroll=\"scroll\"\n @expand=\"handleExpand\"\n @resize-column=\"handleResizeColumn\"\n @change=\"props.change!\"\n @expanded-rows-change=\"props.expandedRowsChange!\"\n >\n <!-- 1.表头插槽 -->\n <template #headerCell=\"slots\">\n <div :class=\"`${bem.e('header-cell-content')}`\">\n <template v-if=\"slots.column.key === 'operate' && showSetting\">\n <div :class=\"`${bem.e('operate')}`\">\n <span>{{ slots.column.title }}</span>\n <a-popover\n trigger=\"click\"\n placement=\"bottomRight\"\n :overlay-inner-style=\"{\n padding: '0'\n }\"\n >\n <template #content>\n <div :class=\"`${bem.e('setting-popover')}`\">\n <!-- 头部 -->\n <div :class=\"`${bem.e('setting-popover-header')}`\">\n <a-checkbox\n :indeterminate=\"isIndeterminate\"\n :checked=\"isAllCheck\"\n @change=\"handleAllColumnChange\"\n >\n 列展示\n </a-checkbox>\n <span\n :class=\"`${bem.e('setting-reset-btn')}`\"\n @click=\"handleClickResetBtn\"\n >\n 重置\n </span>\n </div>\n <!-- 内容 -->\n <div :class=\"`${bem.e('setting-popover-content')}`\">\n <div>\n <draggable\n :list=\"settingColumns\"\n item-key=\"key\"\n :group=\"{ name: 'g1' }\"\n @change=\"dragChange\"\n >\n <template #item=\"{ element }\">\n <div :class=\"`${bem.e('setting-popover-menu')}`\">\n <!-- 拖拽 -->\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-left'\n )}`\"\n >\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n :style=\"{\n marginright: '5px'\n }\"\n >\n <ll-icon\n icon-name=\"icon-move\"\n class-name=\"icon\"\n />\n </a-button>\n <a-checkbox\n :checked=\"element.isCheck\"\n @change=\"\n (e: any) => {\n handleColumnItemChange(\n e.target?.checked!,\n element\n )\n }\n \"\n >\n {{ element.title }}\n </a-checkbox>\n </div>\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-right'\n )}`\"\n >\n <!-- 左移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'left')\"\n >\n <ll-icon\n icon-name=\"icon-zuoyi\"\n :class-name=\"`icon ${\n element.fixed === 'left'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n <a-divider type=\"vertical\" />\n <!-- 右移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'right')\"\n >\n <ll-icon\n icon-name=\"icon-youyi\"\n :class-name=\"`icon ${\n element.fixed === 'right'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n </div>\n </div>\n </template>\n </draggable>\n </div>\n </div>\n </div>\n </template>\n <a-button type=\"text\" :class=\"`${bem.e('setting-icon')}`\">\n <ll-icon icon-name=\"icon-set-line\" />\n </a-button>\n </a-popover>\n </div>\n </template>\n <template v-else-if=\"has(slots.column, 'RC_TABLE_INTERNAL_COL_DEFINE')\">\n <slot name=\"expandedTitle\"></slot>\n </template>\n <template v-else>{{ slots.column.title }}</template>\n <!-- 额外header单元格的插槽内容 -->\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </div>\n </template>\n <!-- 2.表格内容插槽 -->\n <template #bodyCell=\"slots\">\n <!-- 添加序列列 -->\n <template v-if=\"slots.column.key === '#' && showIndexColumn\">\n {{ slots.index + 1 }}\n </template>\n <!-- 添加操作列 -->\n <template v-else-if=\"slots.column.key === 'operate'\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- 额外Body单元格的插槽内容 -->\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 3.空状态自定义插槽 -->\n <template #emptyText>\n <slot name=\"emptyText\">\n <ll-empty> </ll-empty>\n </slot>\n </template>\n <!-- 4.表格自定义展开内容插槽 -->\n <template v-if=\"$slots.expandedRow\" #expandedRowRender=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 5.表格自定义列筛选 -->\n <template v-if=\"$slots.customFilterDropdown\" #customFilterDropdown=\"slots\">\n <slot name=\"customFilterDropdown\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格自定义筛选图标 -->\n <template v-if=\"$slots.customFilterIcon\" #customFilterIcon=\"slots\">\n <slot name=\"customFilterIcon\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格总结栏 -->\n <template v-if=\"$slots.summary\" #summary=\"slots\">\n <slot name=\"summary\" v-bind=\"slots\"> </slot>\n </template>\n </a-table>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, useAttrs, watch } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport draggable from 'vuedraggable'\n\nimport { has } from 'lodash-es'\nimport { mainTableEmits, mainTableProps } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'MainTable'\n})\n\n// 2.props/emits\nconst props = defineProps(mainTableProps)\nconst emits = defineEmits(mainTableEmits)\n\n// 3.hooks\nconst attrs = useAttrs()\n\n// 3.ref/let/const\nconst newColumns: any = ref([]) // 显示在表格的columns\nconst settingColumns: any = ref([])\nconst newDataSource: any = ref([])\nconst newExpandedRowKeys: any = ref([]) //展开的id数组\nlet preIndex = -1 // 源目标数据序号\nlet nextIndex = -1 // 目标数据序号\nconst bem = createNamespace('table')\n\n// 往表格列中添加序号和操作\nconst handleAddSerialNumberAndOperateToColumns = () => {\n if (props.showIndexColumn) {\n newColumns.value.unshift({\n title: '#',\n dataIndex: '#',\n key: '#',\n maxWidth: 60,\n minWidth: 60,\n width: 60,\n fixed: 'left',\n class: 'table-serial-number-cell'\n })\n }\n // ...(props.size ? { 'font-size': addUnit(props.size) } : {}),\n if (props.showOperate) {\n let maxWidth = 70\n let minWidth = 120\n let width = 120\n if (props.operateWidth) {\n const operateWidth = props.operateWidth\n maxWidth = operateWidth\n minWidth = operateWidth\n width = operateWidth\n }\n newColumns.value.push({\n title: props.operateText,\n dataIndex: '',\n key: 'operate',\n maxWidth,\n minWidth,\n width,\n fixed: 'right',\n class: 'table-serial-operate-cell'\n })\n }\n}\n// 处理表格列的左、右固定排序(letf放最左边,没有定位放中间,右边放right定位)\nconst handleColumnsSortByFixed = (list: any, isDrag?: boolean) => {\n const newList = list\n const leftFixedColumns: any = [],\n normalFixedColumns: any = [],\n rightFixedColumns: any = []\n newList.forEach((item: any) => {\n const fixed = item.fixed\n if (fixed === 'left') {\n leftFixedColumns.push(item)\n } else if (fixed === 'right') {\n rightFixedColumns.push(item)\n } else {\n normalFixedColumns.push(item)\n }\n })\n leftFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n normalFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n rightFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n newColumns.value = [\n ...leftFixedColumns,\n ...normalFixedColumns,\n ...rightFixedColumns\n ]\n if (isDrag) {\n handleAddSerialNumberAndOperateToColumns()\n }\n}\n\n// 4.watch\nwatch(\n () => props.dataSource,\n (newValue: any) => {\n newDataSource.value = [...newValue]\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 从本地存储中获取columns/没有则用用户传的\nwatch(\n () => [\n props.columns,\n props.settingKey,\n props.showIndexColumn,\n props.showOperate\n ],\n (arr: any) => {\n const [newValue, key] = arr\n let newcolumns = []\n // 有key\n if (key && localStorage.getItem(key)) {\n const localStorageColumns = localStorage.getItem(key)\n if (localStorageColumns) {\n newcolumns = JSON.parse(localStorageColumns)\n }\n } else {\n // 没key\n newcolumns = newValue.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex:\n item.columnSortIndex === 0 || item.columnSortIndex\n ? item.columnSortIndex\n : index\n }))\n }\n // 1.过滤掉没有选中的\n newColumns.value = [...newcolumns].filter((item: any) => item.isCheck)\n // 2.如果有设置序列和操作,则添加\n handleAddSerialNumberAndOperateToColumns()\n // 3.根据定位来排序\n handleColumnsSortByFixed(newColumns.value)\n settingColumns.value = [...newcolumns]\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => props.expandedRowKeys,\n (newValue: any) => {\n if (Array.isArray(newValue)) {\n newExpandedRowKeys.value = [...newValue]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 5.methods\n//重新定义树状展开关闭功能\nconst handleExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n newExpandedRowKeys.value.push(record.id)\n } else {\n const index = newExpandedRowKeys.value.findIndex(\n (e: any) => e === record.id\n )\n newExpandedRowKeys.value.splice(index, 1)\n }\n props.expand && props.expand(expanded, record)\n}\n// 列拖拽\nconst handleResizeColumn = (w: any, col: any) => {\n col.width = w\n props.resizeColumn && props.resizeColumn(w, col)\n}\n// 拖动排序\nconst dragCustomRow = (_: any, index: number) => {\n const normalConfig = {\n props: {\n // draggable: 'true'\n },\n draggable: true,\n style: {\n cursor: 'pointer'\n },\n // 鼠标移入\n onMouseenter: (event: Event) => {\n const target = event.target as HTMLElement\n target.draggable = true // 让你要拖动的行可以拖动,默认不可以\n },\n // 开始拖拽\n onDragstart: (event: Event) => {\n event.stopPropagation()\n preIndex = index\n },\n // 拖动元素经过的元素\n onDragover: (event: Event) => {\n event.preventDefault()\n },\n // 鼠标松开\n onDrop: (event: Event) => {\n let sortSource: any[] = []\n event.stopPropagation()\n // 得到目标数据序号\n nextIndex = index\n const dataSource = newDataSource.value\n // 排序后两个sort互换\n const preItem = { ...dataSource[preIndex] }\n const nextItem = { ...dataSource[nextIndex] }\n const preSort = preItem.sort\n const nextSort = nextItem.sort\n preItem.sort = nextSort\n nextItem.sort = preSort\n\n dataSource[preIndex] = nextItem\n dataSource[nextIndex] = preItem\n sortSource = [...dataSource]\n emits('handleChangeDataSource', sortSource)\n props.dragChange && props.dragChange(sortSource)\n }\n }\n const extraConfig = props.customRowProps\n ? { ...props.customRowProps(_, index) }\n : {}\n return { ...normalConfig, ...extraConfig }\n}\n// 是否全选\nconst isAllCheck = computed(() => {\n return settingColumns.value.every((item: any) => item.isCheck)\n})\n// 是否全选\nconst isIndeterminate = computed(() => {\n const getIsChecks = settingColumns.value.filter((item: any) => item.isCheck)\n return getIsChecks.length === 0\n ? false\n : settingColumns.value.length > getIsChecks.length\n})\n// 单个checkbox的change\nconst handleChangeColumns = () => {\n const isCheckSettingColumns = settingColumns.value.filter(\n (item: any, index: number) => {\n item.columnSortIndex = index\n return item.isCheck\n }\n )\n handleColumnsSortByFixed(isCheckSettingColumns, true)\n}\n\nconst handleColumnItemChange = (value: boolean, item: any) => {\n const findSettingIndex = settingColumns.value.findIndex(\n (citem: any) => item.key === citem.key\n )\n\n if (findSettingIndex > -1) {\n settingColumns.value[findSettingIndex].isCheck = value\n handleChangeColumns()\n handleClickSubmitBtn()\n }\n}\n// 全选change\nconst handleAllColumnChange = (e: any) => {\n const checked = e.target.checked\n settingColumns.value.forEach((item: any) => (item.isCheck = checked))\n if (checked) {\n newColumns.value = [...props.columns]\n } else {\n newColumns.value = []\n }\n handleAddSerialNumberAndOperateToColumns()\n handleClickSubmitBtn()\n}\n// 拖拽change\nconst dragChange = () => {\n handleChangeColumns()\n handleClickSubmitBtn()\n}\n// 点击重置按钮\nconst handleClickResetBtn = () => {\n const newcolumns = props.columns.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex: index\n }))\n newColumns.value = [...newcolumns]\n handleAddSerialNumberAndOperateToColumns()\n settingColumns.value = [...newcolumns]\n handleClickSubmitBtn()\n}\n// 点击保存按钮\nconst handleClickSubmitBtn = () => {\n if (props.settingKey) {\n localStorage.setItem(props.settingKey, JSON.stringify(settingColumns.value))\n }\n}\n// 处理column左固定和右固定\nconst handleColumnMove = (element: any, way: string) => {\n const fixed = element.fixed\n if (fixed === way) {\n element.fixed = false\n } else {\n element.fixed = way\n }\n handleColumnsSortByFixed(newColumns.value)\n handleClickSubmitBtn()\n}\n</script>\n../config/table\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main-table.vue2.mjs","sources":["../../../../../../../packages/components/table/src/components/main-table.vue"],"sourcesContent":["<template>\n <a-table\n :class=\"`${bem.e('main-content')}`\"\n row-key=\"id\"\n v-bind=\"attrs\"\n :columns=\"newColumns\"\n :data-source=\"newDataSource\"\n :expanded-row-keys=\"newExpandedRowKeys\"\n :custom-row=\"props.showDrag ? dragCustomRow : (customRowProps as any)\"\n :pagination=\"false\"\n show-header\n :scroll=\"scroll\"\n @expand=\"handleExpand\"\n @resize-column=\"handleResizeColumn\"\n @change=\"props.change!\"\n @expanded-rows-change=\"props.expandedRowsChange!\"\n >\n <!-- 1.表头插槽 -->\n <template #headerCell=\"slots\">\n <div :class=\"`${bem.e('header-cell-content')}`\">\n <template v-if=\"slots.column.key === 'operate' && showSetting\">\n <div :class=\"`${bem.e('operate')}`\">\n <span>{{ slots.column.title }}</span>\n <a-popover\n trigger=\"click\"\n placement=\"bottomRight\"\n :overlay-inner-style=\"{\n padding: '0'\n }\"\n >\n <template #content>\n <div :class=\"`${bem.e('setting-popover')}`\">\n <!-- 头部 -->\n <div :class=\"`${bem.e('setting-popover-header')}`\">\n <a-checkbox\n :indeterminate=\"isIndeterminate\"\n :checked=\"isAllCheck\"\n @change=\"handleAllColumnChange\"\n >\n 列展示\n </a-checkbox>\n <span\n :class=\"`${bem.e('setting-reset-btn')}`\"\n @click=\"handleClickResetBtn\"\n >\n 重置\n </span>\n </div>\n <!-- 内容 -->\n <div :class=\"`${bem.e('setting-popover-content')}`\">\n <div>\n <draggable\n :list=\"settingColumns\"\n item-key=\"key\"\n :group=\"{ name: 'g1' }\"\n @change=\"dragChange\"\n >\n <template #item=\"{ element }\">\n <div :class=\"`${bem.e('setting-popover-menu')}`\">\n <!-- 拖拽 -->\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-left'\n )}`\"\n >\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n :style=\"{\n marginright: '5px'\n }\"\n >\n <ll-icon\n icon-name=\"icon-move\"\n class-name=\"icon\"\n />\n </a-button>\n <a-checkbox\n :checked=\"element.isCheck\"\n @change=\"\n (e: any) => {\n handleColumnItemChange(\n e.target?.checked!,\n element\n )\n }\n \"\n >\n {{ element.title }}\n </a-checkbox>\n </div>\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-right'\n )}`\"\n >\n <!-- 左移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'left')\"\n >\n <ll-icon\n icon-name=\"icon-zuoyi\"\n :class-name=\"`icon ${\n element.fixed === 'left'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n <a-divider type=\"vertical\" />\n <!-- 右移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'right')\"\n >\n <ll-icon\n icon-name=\"icon-youyi\"\n :class-name=\"`icon ${\n element.fixed === 'right'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n </div>\n </div>\n </template>\n </draggable>\n </div>\n </div>\n </div>\n </template>\n <a-button type=\"text\" :class=\"`${bem.e('setting-icon')}`\">\n <ll-icon icon-name=\"icon-set-line\" />\n </a-button>\n </a-popover>\n </div>\n </template>\n <template v-else-if=\"has(slots.column, 'RC_TABLE_INTERNAL_COL_DEFINE')\">\n <slot name=\"expandedTitle\"></slot>\n </template>\n <template v-else>{{ slots.column.title }}</template>\n <!-- 额外header单元格的插槽内容 -->\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </div>\n </template>\n <!-- 2.表格内容插槽 -->\n <template #bodyCell=\"slots\">\n <!-- 添加序列列 -->\n <template v-if=\"slots.column.key === '#' && showIndexColumn\">\n {{ slots.index + 1 }}\n </template>\n <!-- 添加操作列 -->\n <template v-else-if=\"slots.column.key === 'operate'\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- 额外Body单元格的插槽内容 -->\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 3.空状态自定义插槽 -->\n <template #emptyText>\n <slot name=\"emptyText\">\n <ll-empty> </ll-empty>\n </slot>\n </template>\n <!-- 4.表格自定义展开内容插槽 -->\n <template v-if=\"$slots.expandedRow\" #expandedRowRender=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 5.表格自定义列筛选 -->\n <template v-if=\"$slots.customFilterDropdown\" #customFilterDropdown=\"slots\">\n <slot name=\"customFilterDropdown\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格自定义筛选图标 -->\n <template v-if=\"$slots.customFilterIcon\" #customFilterIcon=\"slots\">\n <slot name=\"customFilterIcon\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 6.表格总结栏 -->\n <template v-if=\"$slots.summary\" #summary=\"slots\">\n <slot name=\"summary\" v-bind=\"slots\"> </slot>\n </template>\n </a-table>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, useAttrs, watch } from 'vue'\n\nimport { useLocale } from '@ll-plus/hooks'\nimport { createNamespace } from '@ll-plus/utils'\n\nimport draggable from 'vuedraggable'\n\nimport { has } from 'lodash-es'\nimport { mainTableEmits, mainTableProps } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'MainTable'\n})\n\n// 2.props/emits\nconst props = defineProps(mainTableProps)\nconst emits = defineEmits(mainTableEmits)\n\n// 3.hooks\nconst attrs = useAttrs()\nconst { t } = useLocale()\n\n// 3.ref/let/const\nconst newColumns: any = ref([]) // 显示在表格的columns\nconst settingColumns: any = ref([])\nconst newDataSource: any = ref([])\nconst newExpandedRowKeys: any = ref([]) //展开的id数组\nlet preIndex = -1 // 源目标数据序号\nlet nextIndex = -1 // 目标数据序号\nconst bem = createNamespace('table')\n\n// 往表格列中添加序号和操作\nconst handleAddSerialNumberAndOperateToColumns = () => {\n if (props.showIndexColumn) {\n newColumns.value.unshift({\n title: '#',\n dataIndex: '#',\n key: '#',\n maxWidth: 60,\n minWidth: 60,\n width: 60,\n fixed: 'left',\n class: 'table-serial-number-cell'\n })\n }\n // ...(props.size ? { 'font-size': addUnit(props.size) } : {}),\n if (props.showOperate) {\n let maxWidth = 70\n let minWidth = 120\n let width = 120\n if (props.operateWidth) {\n const operateWidth = props.operateWidth\n maxWidth = operateWidth\n minWidth = operateWidth\n width = operateWidth\n }\n newColumns.value.push({\n title: t('ll.table.operate'),\n dataIndex: '',\n key: 'operate',\n maxWidth,\n minWidth,\n width,\n fixed: 'right',\n class: 'table-serial-operate-cell'\n })\n }\n}\n// 处理表格列的左、右固定排序(letf放最左边,没有定位放中间,右边放right定位)\nconst handleColumnsSortByFixed = (list: any, isDrag?: boolean) => {\n const newList = list\n const leftFixedColumns: any = [],\n normalFixedColumns: any = [],\n rightFixedColumns: any = []\n newList.forEach((item: any) => {\n const fixed = item.fixed\n if (fixed === 'left') {\n leftFixedColumns.push(item)\n } else if (fixed === 'right') {\n rightFixedColumns.push(item)\n } else {\n normalFixedColumns.push(item)\n }\n })\n leftFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n normalFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n rightFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n newColumns.value = [\n ...leftFixedColumns,\n ...normalFixedColumns,\n ...rightFixedColumns\n ]\n if (isDrag) {\n handleAddSerialNumberAndOperateToColumns()\n }\n}\n\n// 4.watch\nwatch(\n () => props.dataSource,\n (newValue: any) => {\n newDataSource.value = [...newValue]\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 从本地存储中获取columns/没有则用用户传的\nwatch(\n () => [\n props.columns,\n props.settingKey,\n props.showIndexColumn,\n props.showOperate\n ],\n (arr: any) => {\n const [newValue, key] = arr\n let newcolumns = []\n // 有key\n if (key && localStorage.getItem(key)) {\n const localStorageColumns = localStorage.getItem(key)\n if (localStorageColumns) {\n newcolumns = JSON.parse(localStorageColumns)\n }\n } else {\n // 没key\n newcolumns = newValue.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex:\n item.columnSortIndex === 0 || item.columnSortIndex\n ? item.columnSortIndex\n : index\n }))\n }\n // 1.过滤掉没有选中的\n newColumns.value = [...newcolumns].filter((item: any) => item.isCheck)\n // 2.如果有设置序列和操作,则添加\n handleAddSerialNumberAndOperateToColumns()\n // 3.根据定位来排序\n handleColumnsSortByFixed(newColumns.value)\n settingColumns.value = [...newcolumns]\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => props.expandedRowKeys,\n (newValue: any) => {\n if (Array.isArray(newValue)) {\n newExpandedRowKeys.value = [...newValue]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 5.methods\n//重新定义树状展开关闭功能\nconst handleExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n newExpandedRowKeys.value.push(record.id)\n } else {\n const index = newExpandedRowKeys.value.findIndex(\n (e: any) => e === record.id\n )\n newExpandedRowKeys.value.splice(index, 1)\n }\n props.expand && props.expand(expanded, record)\n}\n// 列拖拽\nconst handleResizeColumn = (w: any, col: any) => {\n col.width = w\n props.resizeColumn && props.resizeColumn(w, col)\n}\n// 拖动排序\nconst dragCustomRow = (_: any, index: number) => {\n const normalConfig = {\n props: {\n // draggable: 'true'\n },\n draggable: true,\n style: {\n cursor: 'pointer'\n },\n // 鼠标移入\n onMouseenter: (event: Event) => {\n const target = event.target as HTMLElement\n target.draggable = true // 让你要拖动的行可以拖动,默认不可以\n },\n // 开始拖拽\n onDragstart: (event: Event) => {\n event.stopPropagation()\n preIndex = index\n },\n // 拖动元素经过的元素\n onDragover: (event: Event) => {\n event.preventDefault()\n },\n // 鼠标松开\n onDrop: (event: Event) => {\n let sortSource: any[] = []\n event.stopPropagation()\n // 得到目标数据序号\n nextIndex = index\n const dataSource = newDataSource.value\n // 排序后两个sort互换\n const preItem = { ...dataSource[preIndex] }\n const nextItem = { ...dataSource[nextIndex] }\n const preSort = preItem.sort\n const nextSort = nextItem.sort\n preItem.sort = nextSort\n nextItem.sort = preSort\n\n dataSource[preIndex] = nextItem\n dataSource[nextIndex] = preItem\n sortSource = [...dataSource]\n emits('handleChangeDataSource', sortSource)\n props.dragChange && props.dragChange(sortSource)\n }\n }\n const extraConfig = props.customRowProps\n ? { ...props.customRowProps(_, index) }\n : {}\n return { ...normalConfig, ...extraConfig }\n}\n// 是否全选\nconst isAllCheck = computed(() => {\n return settingColumns.value.every((item: any) => item.isCheck)\n})\n// 是否全选\nconst isIndeterminate = computed(() => {\n const getIsChecks = settingColumns.value.filter((item: any) => item.isCheck)\n return getIsChecks.length === 0\n ? false\n : settingColumns.value.length > getIsChecks.length\n})\n// 单个checkbox的change\nconst handleChangeColumns = () => {\n const isCheckSettingColumns = settingColumns.value.filter(\n (item: any, index: number) => {\n item.columnSortIndex = index\n return item.isCheck\n }\n )\n handleColumnsSortByFixed(isCheckSettingColumns, true)\n}\n\nconst handleColumnItemChange = (value: boolean, item: any) => {\n const findSettingIndex = settingColumns.value.findIndex(\n (citem: any) => item.key === citem.key\n )\n\n if (findSettingIndex > -1) {\n settingColumns.value[findSettingIndex].isCheck = value\n handleChangeColumns()\n handleClickSubmitBtn()\n }\n}\n// 全选change\nconst handleAllColumnChange = (e: any) => {\n const checked = e.target.checked\n settingColumns.value.forEach((item: any) => (item.isCheck = checked))\n if (checked) {\n newColumns.value = [...props.columns]\n } else {\n newColumns.value = []\n }\n handleAddSerialNumberAndOperateToColumns()\n handleClickSubmitBtn()\n}\n// 拖拽change\nconst dragChange = () => {\n handleChangeColumns()\n handleClickSubmitBtn()\n}\n// 点击重置按钮\nconst handleClickResetBtn = () => {\n const newcolumns = props.columns.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex: index\n }))\n newColumns.value = [...newcolumns]\n handleAddSerialNumberAndOperateToColumns()\n settingColumns.value = [...newcolumns]\n handleClickSubmitBtn()\n}\n// 点击保存按钮\nconst handleClickSubmitBtn = () => {\n if (props.settingKey) {\n localStorage.setItem(props.settingKey, JSON.stringify(settingColumns.value))\n }\n}\n// 处理column左固定和右固定\nconst handleColumnMove = (element: any, way: string) => {\n const fixed = element.fixed\n if (fixed === way) {\n element.fixed = false\n } else {\n element.fixed = way\n }\n handleColumnsSortByFixed(newColumns.value)\n handleClickSubmitBtn()\n}\n</script>\n../config/table\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, useAttrs, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref,
|
|
1
|
+
import { defineComponent, useAttrs, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createTextVNode, createVNode, mergeProps, createCommentVNode } from 'vue';
|
|
2
2
|
import '../../../../utils/index.mjs';
|
|
3
3
|
import '../config/index.mjs';
|
|
4
4
|
import { tablePaginationProps } from '../config/pagination.mjs';
|
|
@@ -30,6 +30,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
30
30
|
current.value = void 0;
|
|
31
31
|
};
|
|
32
32
|
return (_ctx, _cache) => {
|
|
33
|
+
const _component_a_input_number = resolveComponent("a-input-number");
|
|
33
34
|
const _component_a_pagination = resolveComponent("a-pagination");
|
|
34
35
|
return openBlock(), createElementBlock(
|
|
35
36
|
"div",
|
|
@@ -37,19 +38,41 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
38
|
class: normalizeClass([unref(bem).e("pagination-box")])
|
|
38
39
|
},
|
|
39
40
|
[
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
createElementVNode(
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
class: normalizeClass([unref(bem).e("pagination-quick-jump")])
|
|
45
|
+
},
|
|
46
|
+
[
|
|
47
|
+
createTextVNode(" \u8DF3\u81F3 "),
|
|
48
|
+
createVNode(_component_a_input_number, {
|
|
49
|
+
value: current.value,
|
|
50
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => current.value = $event),
|
|
51
|
+
disabled: max.value <= 1,
|
|
52
|
+
class: normalizeClass([unref(bem).e("pagination-input")]),
|
|
53
|
+
size: "small",
|
|
54
|
+
precision: 0,
|
|
55
|
+
controls: false,
|
|
56
|
+
onBlur: handleNumberChange,
|
|
57
|
+
onPressEnter: handleNumberChange
|
|
58
|
+
}, null, 8, ["value", "disabled", "class"]),
|
|
59
|
+
createTextVNode(" \u9875 ")
|
|
60
|
+
],
|
|
61
|
+
2
|
|
62
|
+
/* CLASS */
|
|
63
|
+
),
|
|
43
64
|
createVNode(_component_a_pagination, mergeProps(unref(attrs), {
|
|
44
65
|
class: `${unref(bem).e("pagination")}`,
|
|
45
66
|
current: props.current,
|
|
46
67
|
"page-size": props.pageSize,
|
|
47
68
|
total: props.total,
|
|
48
69
|
"show-size-changer": "",
|
|
49
|
-
"show-
|
|
50
|
-
"show-total": (total, range) => _ctx.showTotal?.(total, range),
|
|
70
|
+
"show-total": (total) => `\u5171 ${total} \u6761`,
|
|
51
71
|
onChange: handlePageChange
|
|
52
|
-
}), null, 16, ["class", "current", "page-size", "total", "show-total"])
|
|
72
|
+
}), null, 16, ["class", "current", "page-size", "total", "show-total"]),
|
|
73
|
+
createCommentVNode(' :show-total="(total: number) => `\u5171 ${total} \u6761`" '),
|
|
74
|
+
createCommentVNode(' :show-total="(total, range) => showTotal?.(total, range)" '),
|
|
75
|
+
createCommentVNode(' <a-pagination\n v-bind="attrs"\n :class="`${bem.e(\'pagination\')}`"\n :current="props.current"\n :page-size="props.pageSize"\n :total="props.total"\n show-size-changer\n show-quick-jumper\n :show-total="(total, range) => showTotal?.(total, range)"\n @change="handlePageChange"\n /> ')
|
|
53
76
|
],
|
|
54
77
|
2
|
|
55
78
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.vue2.mjs","sources":["../../../../../../../packages/components/table/src/components/pagination.vue"],"sourcesContent":["<template>\n <div :class=\"[bem.e('pagination-box')]\">\n
|
|
1
|
+
{"version":3,"file":"pagination.vue2.mjs","sources":["../../../../../../../packages/components/table/src/components/pagination.vue"],"sourcesContent":["<template>\n <div :class=\"[bem.e('pagination-box')]\">\n <div :class=\"[bem.e('pagination-quick-jump')]\">\n 跳至\n <a-input-number\n v-model:value=\"current\"\n :disabled=\"max <= 1\"\n :class=\"[bem.e('pagination-input')]\"\n size=\"small\"\n :precision=\"0\"\n :controls=\"false\"\n @blur=\"handleNumberChange\"\n @press-enter=\"handleNumberChange\"\n />\n 页\n </div>\n <a-pagination\n v-bind=\"attrs\"\n :class=\"`${bem.e('pagination')}`\"\n :current=\"props.current\"\n :page-size=\"props.pageSize\"\n :total=\"props.total\"\n show-size-changer\n :show-total=\"(total: number) => `共 ${total} 条`\"\n @change=\"handlePageChange\"\n />\n <!-- :show-total=\"(total: number) => `共 ${total} 条`\" -->\n <!-- :show-total=\"(total, range) => showTotal?.(total, range)\" -->\n <!-- <a-pagination\n v-bind=\"attrs\"\n :class=\"`${bem.e('pagination')}`\"\n :current=\"props.current\"\n :page-size=\"props.pageSize\"\n :total=\"props.total\"\n show-size-changer\n show-quick-jumper\n :show-total=\"(total, range) => showTotal?.(total, range)\"\n @change=\"handlePageChange\"\n /> -->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace } from '@ll-plus/utils'\nimport { computed, ref, useAttrs } from 'vue'\nimport { tablePaginationProps } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'TableHeaderSearch'\n})\n\n// 2.props\nconst props = defineProps(tablePaginationProps)\n\n// 3.hooks\nconst attrs = useAttrs()\n\n// 4.const\nconst bem = createNamespace('table')\n\nconst current = ref<number | undefined>(undefined)\n\nconst max = computed(() => Math.ceil(props.total! / props.pageSize!))\n\n// 5.methods\nconst handlePageChange = (page: number, pageSize: number) =>\n props.onChange && props.onChange(page, pageSize)\n\nconst handleNumberChange = () => {\n if (current.value === undefined) return\n if (current.value < 1) {\n current.value = 1\n } else if (current.value > max.value) {\n current.value = max.value\n }\n handlePageChange(current.value, props.pageSize!)\n current.value = undefined\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAGd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAGvB,IAAM,MAAA,GAAA,GAAM,gBAAgB,OAAO,CAAA,CAAA;AAEnC,IAAM,MAAA,OAAA,GAAU,IAAwB,KAAS,CAAA,CAAA,CAAA;AAEjD,IAAM,MAAA,GAAA,GAAM,SAAS,MAAM,IAAA,CAAK,KAAK,KAAM,CAAA,KAAA,GAAS,KAAM,CAAA,QAAS,CAAC,CAAA,CAAA;AAGpE,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAc,EAAA,QAAA,KACtC,MAAM,QAAY,IAAA,KAAA,CAAM,QAAS,CAAA,IAAA,EAAM,QAAQ,CAAA,CAAA;AAEjD,IAAA,MAAM,qBAAqB,MAAM;AAC/B,MAAA,IAAI,QAAQ,KAAU,KAAA,KAAA,CAAA;AAAW,QAAA,OAAA;AACjC,MAAI,IAAA,OAAA,CAAQ,QAAQ,CAAG,EAAA;AACrB,QAAA,OAAA,CAAQ,KAAQ,GAAA,CAAA,CAAA;AAAA,OACP,MAAA,IAAA,OAAA,CAAQ,KAAQ,GAAA,GAAA,CAAI,KAAO,EAAA;AACpC,QAAA,OAAA,CAAQ,QAAQ,GAAI,CAAA,KAAA,CAAA;AAAA,OACtB;AACA,MAAiB,gBAAA,CAAA,OAAA,CAAQ,KAAO,EAAA,KAAA,CAAM,QAAS,CAAA,CAAA;AAC/C,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA,CAAA;AAAA,KAClB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-table.mjs","sources":["../../../../../../../packages/components/table/src/config/main-table.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport MainTable from '../components/main-table.vue'\n\nimport type { TableColumnProps } from 'ant-design-vue'\nimport type { ExtractPropTypes } from 'vue'\n\n// 弹窗定位的位置\nexport const tableContentType = ['table', 'card'] as const\nexport const mainTableProps = buildProps({\n /**\n * @description 动态插槽显示card和table\n */\n operateWidth: {\n type: Number,\n default: 120\n },\n /**\n * @description 动态插槽显示card和table\n */\n contentType: {\n type: String,\n values: tableContentType,\n default: 'table'\n },\n /**\n * @description 操作栏编辑操作列的key,用于下次记录用户行为\n */\n settingKey: {\n type: String,\n default: ''\n },\n /**\n * @description 列设置\n */\n columns: {\n type: definePropType<TableColumnProps[]>(Array),\n default: () => []\n },\n /**\n * @description 数据源\n */\n dataSource: {\n type: definePropType<any[]>(Array),\n default: () => []\n },\n /**\n * @description 是否数据拖拽\n */\n showDrag: {\n type: Boolean\n },\n /**\n * @description 是否显示#序列\n */\n showIndexColumn: {\n type: Boolean,\n default: true\n },\n /**\n * @description 展示操作列的\n */\n showOperate: {\n type: Boolean,\n default: true\n },\n /**\n * @description 是否显示操作栏上的设置\n */\n showSetting: {\n type: Boolean,\n default: true\n },\n /**\n * @description table的scroll\n */\n scroll: {\n type: definePropType<any>(Object),\n default: () => ({\n y: '100%'\n })\n },\n /**\n * @description 展开的key\n */\n expandedRowKeys: {\n type: definePropType<string[]>(Array)\n },\n /**\n * @description 是否隐藏分页\n */\n hiddenPagination: {\n type: Boolean\n },\n /**\n * @description 设置行属性同表格的customRow属性\n */\n customRowProps: {\n type: Function\n },\n /**\n * @description 点击展开图标时触发\n */\n expand: {\n type: Function\n },\n /**\n * @description 分页、排序、筛选变化时触发\n */\n change: {\n type: Function\n },\n /**\n * @description 展开的行变化时触发\n */\n expandedRowsChange: {\n type: Function\n },\n /**\n * @description 拖动列改变列的宽度时触发\n */\n resizeColumn: {\n type: Function\n },\n /**\n * @description 拖拽后的change\n */\n dragChange: {\n type: Function\n }
|
|
1
|
+
{"version":3,"file":"main-table.mjs","sources":["../../../../../../../packages/components/table/src/config/main-table.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport MainTable from '../components/main-table.vue'\n\nimport type { TableColumnProps } from 'ant-design-vue'\nimport type { ExtractPropTypes } from 'vue'\n\n// 弹窗定位的位置\nexport const tableContentType = ['table', 'card'] as const\nexport const mainTableProps = buildProps({\n /**\n * @description 动态插槽显示card和table\n */\n operateWidth: {\n type: Number,\n default: 120\n },\n /**\n * @description 动态插槽显示card和table\n */\n contentType: {\n type: String,\n values: tableContentType,\n default: 'table'\n },\n /**\n * @description 操作栏编辑操作列的key,用于下次记录用户行为\n */\n settingKey: {\n type: String,\n default: ''\n },\n /**\n * @description 列设置\n */\n columns: {\n type: definePropType<TableColumnProps[]>(Array),\n default: () => []\n },\n /**\n * @description 数据源\n */\n dataSource: {\n type: definePropType<any[]>(Array),\n default: () => []\n },\n /**\n * @description 是否数据拖拽\n */\n showDrag: {\n type: Boolean\n },\n /**\n * @description 是否显示#序列\n */\n showIndexColumn: {\n type: Boolean,\n default: true\n },\n /**\n * @description 展示操作列的\n */\n showOperate: {\n type: Boolean,\n default: true\n },\n /**\n * @description 是否显示操作栏上的设置\n */\n showSetting: {\n type: Boolean,\n default: true\n },\n /**\n * @description table的scroll\n */\n scroll: {\n type: definePropType<any>(Object),\n default: () => ({\n y: '100%'\n })\n },\n /**\n * @description 展开的key\n */\n expandedRowKeys: {\n type: definePropType<string[]>(Array)\n },\n /**\n * @description 是否隐藏分页\n */\n hiddenPagination: {\n type: Boolean\n },\n /**\n * @description 设置行属性同表格的customRow属性\n */\n customRowProps: {\n type: Function\n },\n /**\n * @description 点击展开图标时触发\n */\n expand: {\n type: Function\n },\n /**\n * @description 分页、排序、筛选变化时触发\n */\n change: {\n type: Function\n },\n /**\n * @description 展开的行变化时触发\n */\n expandedRowsChange: {\n type: Function\n },\n /**\n * @description 拖动列改变列的宽度时触发\n */\n resizeColumn: {\n type: Function\n },\n /**\n * @description 拖拽后的change\n */\n dragChange: {\n type: Function\n }\n} as const)\n\nexport const mainTableEmits = {\n handleChangeDataSource: (dataSource: any[]) => !!dataSource\n}\n\n// props\nexport type MainTableProps = ExtractPropTypes<typeof mainTableProps>\nexport type TableContentType = MainTableProps['contentType']\n\n// emits\nexport type MainTableEmits = typeof mainTableEmits\n\n// instance\nexport type MainTableInstance = InstanceType<typeof MainTable>\n"],"names":[],"mappings":";;;;AAQa,MAAA,gBAAA,GAAmB,CAAC,OAAA,EAAS,MAAM,EAAA;AACzC,MAAM,iBAAiB,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIvC,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,gBAAA;AAAA,IACR,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAmC,KAAK,CAAA;AAAA,IAC9C,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,eAAsB,KAAK,CAAA;AAAA,IACjC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAAoB,MAAM,CAAA;AAAA,IAChC,SAAS,OAAO;AAAA,MACd,CAAG,EAAA,MAAA;AAAA,KACL,CAAA;AAAA,GACF;AAAA;AAAA;AAAA;AAAA,EAIA,eAAiB,EAAA;AAAA,IACf,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,cAAgB,EAAA;AAAA,IACd,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,QAAA;AAAA,GACR;AACF,CAAU,EAAA;AAEH,MAAM,cAAiB,GAAA;AAAA,EAC5B,sBAAwB,EAAA,CAAC,UAAsB,KAAA,CAAC,CAAC,UAAA;AACnD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import ZhCN from '../../locale/lang/zh-cn.mjs';
|
|
2
|
+
import { get } from 'lodash-unified';
|
|
3
|
+
import { unref, computed, isRef, ref, inject } from 'vue';
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
const buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));
|
|
7
|
+
const translate = (path, option, locale) => get(locale, path, path).replace(
|
|
8
|
+
/\{(\w+)\}/g,
|
|
9
|
+
(_, key) => `${option?.[key] ?? `{${key}}`}`
|
|
10
|
+
);
|
|
11
|
+
const buildLocaleContext = (locale) => {
|
|
12
|
+
const lang = computed(() => unref(locale).name);
|
|
13
|
+
const localeRef = isRef(locale) ? locale : ref(locale);
|
|
14
|
+
console.log(localeRef, "localeRef");
|
|
15
|
+
return {
|
|
16
|
+
lang,
|
|
17
|
+
locale: localeRef,
|
|
18
|
+
t: buildTranslator(locale)
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
const localeContextKey = Symbol("localeContextKey");
|
|
22
|
+
const useLocale = (localeOverrides) => {
|
|
23
|
+
console.log(localeOverrides, "localeOverrides");
|
|
24
|
+
const locale = localeOverrides || inject(localeContextKey, ref());
|
|
25
|
+
return buildLocaleContext(computed(() => locale.value || ZhCN));
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { buildLocaleContext, buildTranslator, localeContextKey, translate, useLocale };
|
|
29
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-locale/index.ts"],"sourcesContent":["import ZhCN from '@ll-plus/locale/lang/zh-cn'\nimport { get } from 'lodash-unified'\nimport { computed, inject, isRef, ref, unref } from 'vue'\n\nimport type { Language } from '@ll-plus/locale'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { InjectionKey, Ref } from 'vue'\n\nexport type TranslatorOption = Record<string, string | number>\nexport type Translator = (path: string, option?: TranslatorOption) => string\nexport type LocaleContext = {\n locale: Ref<Language>\n lang: Ref<string>\n t: Translator\n}\n\nexport const buildTranslator =\n (locale: MaybeRef<Language>): Translator =>\n (path, option) =>\n translate(path, option, unref(locale))\n\nexport const translate = (\n path: string,\n option: undefined | TranslatorOption,\n locale: Language\n): string =>\n (get(locale, path, path) as string).replace(\n /\\{(\\w+)\\}/g,\n (_, key) => `${option?.[key] ?? `{${key}}`}`\n )\n\nexport const buildLocaleContext = (\n locale: MaybeRef<Language>\n): LocaleContext => {\n const lang = computed(() => unref(locale).name)\n const localeRef = isRef(locale) ? locale : ref(locale)\n console.log(localeRef, 'localeRef')\n return {\n lang,\n locale: localeRef,\n t: buildTranslator(locale)\n }\n}\n\nexport const localeContextKey: InjectionKey<Ref<Language | undefined>> =\n Symbol('localeContextKey')\n\nexport const useLocale = (localeOverrides?: Ref<Language | undefined>) => {\n console.log(localeOverrides, 'localeOverrides')\n const locale = localeOverrides || inject(localeContextKey, ref())!\n return buildLocaleContext(computed(() => locale.value || ZhCN))\n}\n"],"names":[],"mappings":";;;;;AAgBa,MAAA,eAAA,GACX,CAAC,MAAA,KACD,CAAC,IAAA,EAAM,MACL,KAAA,SAAA,CAAU,IAAM,EAAA,MAAA,EAAQ,KAAM,CAAA,MAAM,CAAC,EAAA;AAE5B,MAAA,SAAA,GAAY,CACvB,IACA,EAAA,MAAA,EACA,WAEC,GAAI,CAAA,MAAA,EAAQ,IAAM,EAAA,IAAI,CAAa,CAAA,OAAA;AAAA,EAClC,YAAA;AAAA,EACA,CAAC,GAAG,GAAQ,KAAA,CAAA,EAAG,SAAS,GAAG,CAAA,IAAK,CAAI,CAAA,EAAA,GAAG,CAAG,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA;AAEW,MAAA,kBAAA,GAAqB,CAChC,MACkB,KAAA;AAClB,EAAA,MAAM,OAAO,QAAS,CAAA,MAAM,KAAM,CAAA,MAAM,EAAE,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,YAAY,KAAM,CAAA,MAAM,CAAI,GAAA,MAAA,GAAS,IAAI,MAAM,CAAA,CAAA;AACrD,EAAQ,OAAA,CAAA,GAAA,CAAI,WAAW,WAAW,CAAA,CAAA;AAClC,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,MAAQ,EAAA,SAAA;AAAA,IACR,CAAA,EAAG,gBAAgB,MAAM,CAAA;AAAA,GAC3B,CAAA;AACF,EAAA;AAEa,MAAA,gBAAA,GACX,OAAO,kBAAkB,EAAA;AAEd,MAAA,SAAA,GAAY,CAAC,eAAgD,KAAA;AACxE,EAAQ,OAAA,CAAA,GAAA,CAAI,iBAAiB,iBAAiB,CAAA,CAAA;AAC9C,EAAA,MAAM,MAAS,GAAA,eAAA,IAAmB,MAAO,CAAA,gBAAA,EAAkB,KAAK,CAAA,CAAA;AAChE,EAAA,OAAO,mBAAmB,QAAS,CAAA,MAAM,MAAO,CAAA,KAAA,IAAS,IAAI,CAAC,CAAA,CAAA;AAChE;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.mjs","sources":["../../../../../packages/locale/lang/en.ts"],"sourcesContent":["export default {\n name: 'en',\n ll: {\n table: {\n operate: 'operate'\n }\n }\n}\n"],"names":[],"mappings":";AAAA,SAAe;AAAA,EACb,IAAM,EAAA,IAAA;AAAA,EACN,EAAI,EAAA;AAAA,IACF,KAAO,EAAA;AAAA,MACL,OAAS,EAAA,SAAA;AAAA,KACX;AAAA,GACF;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-cn.mjs","sources":["../../../../../packages/locale/lang/zh-cn.ts"],"sourcesContent":["export default {\n name: 'zh-cn',\n ll: {\n table: {\n operate: '操作'\n }\n }\n}\n"],"names":[],"mappings":";AAAA,WAAe;AAAA,EACb,IAAM,EAAA,OAAA;AAAA,EACN,EAAI,EAAA;AAAA,IACF,KAAO,EAAA;AAAA,MACL,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,GACF;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-tw.mjs","sources":["../../../../../packages/locale/lang/zh-tw.ts"],"sourcesContent":["export default {\n name: 'zh-tw',\n ll: {\n table: {\n operate: '操作'\n }\n }\n}\n"],"names":[],"mappings":";AAAA,WAAe;AAAA,EACb,IAAM,EAAA,OAAA;AAAA,EACN,EAAI,EAAA;AAAA,IACF,KAAO,EAAA;AAAA,MACL,OAAS,EAAA,cAAA;AAAA,KACX;AAAA,GACF;AACF,CAAA;;;;"}
|
package/index.full.js
CHANGED
|
@@ -796,6 +796,11 @@
|
|
|
796
796
|
return index && index == length ? object : void 0;
|
|
797
797
|
}
|
|
798
798
|
|
|
799
|
+
function get(object, path, defaultValue) {
|
|
800
|
+
var result = object == null ? void 0 : baseGet(object, path);
|
|
801
|
+
return result === void 0 ? defaultValue : result;
|
|
802
|
+
}
|
|
803
|
+
|
|
799
804
|
function arrayPush(array, values) {
|
|
800
805
|
var index = -1, length = values.length, offset = array.length;
|
|
801
806
|
while (++index < length) {
|
|
@@ -5415,6 +5420,37 @@
|
|
|
5415
5420
|
|
|
5416
5421
|
const LlAvatar = withInstall(Avatar);
|
|
5417
5422
|
|
|
5423
|
+
var ZhCN = {
|
|
5424
|
+
name: "zh-cn",
|
|
5425
|
+
ll: {
|
|
5426
|
+
table: {
|
|
5427
|
+
operate: "\u64CD\u4F5C"
|
|
5428
|
+
}
|
|
5429
|
+
}
|
|
5430
|
+
};
|
|
5431
|
+
|
|
5432
|
+
const buildTranslator = (locale) => (path, option) => translate(path, option, require$$0.unref(locale));
|
|
5433
|
+
const translate = (path, option, locale) => get(locale, path, path).replace(
|
|
5434
|
+
/\{(\w+)\}/g,
|
|
5435
|
+
(_, key) => `${option?.[key] ?? `{${key}}`}`
|
|
5436
|
+
);
|
|
5437
|
+
const buildLocaleContext = (locale) => {
|
|
5438
|
+
const lang = require$$0.computed(() => require$$0.unref(locale).name);
|
|
5439
|
+
const localeRef = require$$0.isRef(locale) ? locale : require$$0.ref(locale);
|
|
5440
|
+
console.log(localeRef, "localeRef");
|
|
5441
|
+
return {
|
|
5442
|
+
lang,
|
|
5443
|
+
locale: localeRef,
|
|
5444
|
+
t: buildTranslator(locale)
|
|
5445
|
+
};
|
|
5446
|
+
};
|
|
5447
|
+
const localeContextKey = Symbol("localeContextKey");
|
|
5448
|
+
const useLocale = (localeOverrides) => {
|
|
5449
|
+
console.log(localeOverrides, "localeOverrides");
|
|
5450
|
+
const locale = localeOverrides || require$$0.inject(localeContextKey, require$$0.ref());
|
|
5451
|
+
return buildLocaleContext(require$$0.computed(() => locale.value || ZhCN));
|
|
5452
|
+
};
|
|
5453
|
+
|
|
5418
5454
|
function useScroll() {
|
|
5419
5455
|
const scrollRef = require$$0.ref();
|
|
5420
5456
|
const scrollPosition = require$$0.ref();
|
|
@@ -48632,25 +48668,62 @@
|
|
|
48632
48668
|
|
|
48633
48669
|
const LlColorPicker = withInstall(ColorPicker);
|
|
48634
48670
|
|
|
48671
|
+
const componentSize = ["small", "middle", "large"];
|
|
48672
|
+
const configProviderProps = buildProps({
|
|
48673
|
+
// buildProps和defineprops一样
|
|
48674
|
+
/**
|
|
48675
|
+
* @description 设置为 false 时,移除按钮中 2 个汉字之间的空格
|
|
48676
|
+
*/
|
|
48677
|
+
autoInsertSpaceInButton: {
|
|
48678
|
+
type: Boolean,
|
|
48679
|
+
default: false
|
|
48680
|
+
},
|
|
48681
|
+
/**
|
|
48682
|
+
* @description 设置 antd 组件大小
|
|
48683
|
+
*/
|
|
48684
|
+
componentSize: {
|
|
48685
|
+
type: String,
|
|
48686
|
+
values: componentSize
|
|
48687
|
+
},
|
|
48688
|
+
/**
|
|
48689
|
+
* @description 多语言
|
|
48690
|
+
*/
|
|
48691
|
+
locale: {
|
|
48692
|
+
type: definePropType(Object)
|
|
48693
|
+
}
|
|
48694
|
+
});
|
|
48695
|
+
|
|
48635
48696
|
var _sfc_main$19 = /* @__PURE__ */ require$$0.defineComponent({
|
|
48636
48697
|
...{
|
|
48637
48698
|
name: "LlConfigProvider"
|
|
48638
48699
|
},
|
|
48639
48700
|
__name: "config-provider",
|
|
48701
|
+
props: configProviderProps,
|
|
48640
48702
|
setup(__props) {
|
|
48641
48703
|
const attrs = require$$0.useAttrs();
|
|
48704
|
+
const props = __props;
|
|
48642
48705
|
const bem = createNamespace("config-provider");
|
|
48706
|
+
require$$0.provide(
|
|
48707
|
+
localeContextKey,
|
|
48708
|
+
require$$0.computed(() => {
|
|
48709
|
+
return props.locale;
|
|
48710
|
+
})
|
|
48711
|
+
);
|
|
48643
48712
|
return (_ctx, _cache) => {
|
|
48644
48713
|
const _component_a_config_provider = require$$0.resolveComponent("a-config-provider");
|
|
48645
48714
|
return require$$0.openBlock(), require$$0.createBlock(_component_a_config_provider, require$$0.mergeProps({
|
|
48646
48715
|
class: require$$0.unref(bem).b()
|
|
48647
|
-
}, require$$0.unref(attrs)
|
|
48716
|
+
}, require$$0.unref(attrs), {
|
|
48717
|
+
"auto-insert-space-in-button": _ctx.autoInsertSpaceInButton,
|
|
48718
|
+
"component-size": _ctx.componentSize,
|
|
48719
|
+
locale: _ctx.locale
|
|
48720
|
+
}), {
|
|
48648
48721
|
default: require$$0.withCtx(() => [
|
|
48649
48722
|
require$$0.renderSlot(_ctx.$slots, "default")
|
|
48650
48723
|
]),
|
|
48651
48724
|
_: 3
|
|
48652
48725
|
/* FORWARDED */
|
|
48653
|
-
}, 16, ["class"]);
|
|
48726
|
+
}, 16, ["class", "auto-insert-space-in-button", "component-size", "locale"]);
|
|
48654
48727
|
};
|
|
48655
48728
|
}
|
|
48656
48729
|
});
|
|
@@ -75714,13 +75787,6 @@
|
|
|
75714
75787
|
*/
|
|
75715
75788
|
dragChange: {
|
|
75716
75789
|
type: Function
|
|
75717
|
-
},
|
|
75718
|
-
/**
|
|
75719
|
-
* @description 操作列的文本
|
|
75720
|
-
*/
|
|
75721
|
-
operateText: {
|
|
75722
|
-
type: String,
|
|
75723
|
-
default: "\u64CD\u4F5C"
|
|
75724
75790
|
}
|
|
75725
75791
|
});
|
|
75726
75792
|
const mainTableEmits = {
|
|
@@ -82985,6 +83051,7 @@
|
|
|
82985
83051
|
const props = __props;
|
|
82986
83052
|
const emits = __emit;
|
|
82987
83053
|
const attrs = require$$0.useAttrs();
|
|
83054
|
+
const { t } = useLocale();
|
|
82988
83055
|
const newColumns = require$$0.ref([]);
|
|
82989
83056
|
const settingColumns = require$$0.ref([]);
|
|
82990
83057
|
const newDataSource = require$$0.ref([]);
|
|
@@ -83016,7 +83083,7 @@
|
|
|
83016
83083
|
width = operateWidth;
|
|
83017
83084
|
}
|
|
83018
83085
|
newColumns.value.push({
|
|
83019
|
-
title:
|
|
83086
|
+
title: t("ll.table.operate"),
|
|
83020
83087
|
dataIndex: "",
|
|
83021
83088
|
key: "operate",
|
|
83022
83089
|
maxWidth,
|
|
@@ -83578,10 +83645,22 @@
|
|
|
83578
83645
|
const props = __props;
|
|
83579
83646
|
const attrs = require$$0.useAttrs();
|
|
83580
83647
|
const bem = createNamespace("table");
|
|
83581
|
-
require$$0.ref(void 0);
|
|
83582
|
-
require$$0.computed(() => Math.ceil(props.total / props.pageSize));
|
|
83648
|
+
const current = require$$0.ref(void 0);
|
|
83649
|
+
const max = require$$0.computed(() => Math.ceil(props.total / props.pageSize));
|
|
83583
83650
|
const handlePageChange = (page, pageSize) => props.onChange && props.onChange(page, pageSize);
|
|
83651
|
+
const handleNumberChange = () => {
|
|
83652
|
+
if (current.value === void 0)
|
|
83653
|
+
return;
|
|
83654
|
+
if (current.value < 1) {
|
|
83655
|
+
current.value = 1;
|
|
83656
|
+
} else if (current.value > max.value) {
|
|
83657
|
+
current.value = max.value;
|
|
83658
|
+
}
|
|
83659
|
+
handlePageChange(current.value, props.pageSize);
|
|
83660
|
+
current.value = void 0;
|
|
83661
|
+
};
|
|
83584
83662
|
return (_ctx, _cache) => {
|
|
83663
|
+
const _component_a_input_number = require$$0.resolveComponent("a-input-number");
|
|
83585
83664
|
const _component_a_pagination = require$$0.resolveComponent("a-pagination");
|
|
83586
83665
|
return require$$0.openBlock(), require$$0.createElementBlock(
|
|
83587
83666
|
"div",
|
|
@@ -83589,19 +83668,41 @@
|
|
|
83589
83668
|
class: require$$0.normalizeClass([require$$0.unref(bem).e("pagination-box")])
|
|
83590
83669
|
},
|
|
83591
83670
|
[
|
|
83592
|
-
require$$0.
|
|
83593
|
-
|
|
83594
|
-
|
|
83671
|
+
require$$0.createElementVNode(
|
|
83672
|
+
"div",
|
|
83673
|
+
{
|
|
83674
|
+
class: require$$0.normalizeClass([require$$0.unref(bem).e("pagination-quick-jump")])
|
|
83675
|
+
},
|
|
83676
|
+
[
|
|
83677
|
+
require$$0.createTextVNode(" \u8DF3\u81F3 "),
|
|
83678
|
+
require$$0.createVNode(_component_a_input_number, {
|
|
83679
|
+
value: current.value,
|
|
83680
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => current.value = $event),
|
|
83681
|
+
disabled: max.value <= 1,
|
|
83682
|
+
class: require$$0.normalizeClass([require$$0.unref(bem).e("pagination-input")]),
|
|
83683
|
+
size: "small",
|
|
83684
|
+
precision: 0,
|
|
83685
|
+
controls: false,
|
|
83686
|
+
onBlur: handleNumberChange,
|
|
83687
|
+
onPressEnter: handleNumberChange
|
|
83688
|
+
}, null, 8, ["value", "disabled", "class"]),
|
|
83689
|
+
require$$0.createTextVNode(" \u9875 ")
|
|
83690
|
+
],
|
|
83691
|
+
2
|
|
83692
|
+
/* CLASS */
|
|
83693
|
+
),
|
|
83595
83694
|
require$$0.createVNode(_component_a_pagination, require$$0.mergeProps(require$$0.unref(attrs), {
|
|
83596
83695
|
class: `${require$$0.unref(bem).e("pagination")}`,
|
|
83597
83696
|
current: props.current,
|
|
83598
83697
|
"page-size": props.pageSize,
|
|
83599
83698
|
total: props.total,
|
|
83600
83699
|
"show-size-changer": "",
|
|
83601
|
-
"show-
|
|
83602
|
-
"show-total": (total, range) => _ctx.showTotal?.(total, range),
|
|
83700
|
+
"show-total": (total) => `\u5171 ${total} \u6761`,
|
|
83603
83701
|
onChange: handlePageChange
|
|
83604
|
-
}), null, 16, ["class", "current", "page-size", "total", "show-total"])
|
|
83702
|
+
}), null, 16, ["class", "current", "page-size", "total", "show-total"]),
|
|
83703
|
+
require$$0.createCommentVNode(' :show-total="(total: number) => `\u5171 ${total} \u6761`" '),
|
|
83704
|
+
require$$0.createCommentVNode(' :show-total="(total, range) => showTotal?.(total, range)" '),
|
|
83705
|
+
require$$0.createCommentVNode(' <a-pagination\n v-bind="attrs"\n :class="`${bem.e(\'pagination\')}`"\n :current="props.current"\n :page-size="props.pageSize"\n :total="props.total"\n show-size-changer\n show-quick-jumper\n :show-total="(total, range) => showTotal?.(total, range)"\n @change="handlePageChange"\n /> ')
|
|
83605
83706
|
],
|
|
83606
83707
|
2
|
|
83607
83708
|
/* CLASS */
|
|
@@ -85841,8 +85942,10 @@
|
|
|
85841
85942
|
exports.bodyProps = bodyProps;
|
|
85842
85943
|
exports.breadcrumbCardEmits = breadcrumbCardEmits;
|
|
85843
85944
|
exports.breadcrumbCardProps = breadcrumbCardProps;
|
|
85945
|
+
exports.buildLocaleContext = buildLocaleContext;
|
|
85844
85946
|
exports.buildProp = buildProp;
|
|
85845
85947
|
exports.buildProps = buildProps;
|
|
85948
|
+
exports.buildTranslator = buildTranslator;
|
|
85846
85949
|
exports.buttonProps = buttonProps;
|
|
85847
85950
|
exports.calcRPN = calcRPN;
|
|
85848
85951
|
exports.checkboxGroupProps = checkboxGroupProps;
|
|
@@ -85856,6 +85959,7 @@
|
|
|
85856
85959
|
exports.colorFormatOptions = colorFormatOptions;
|
|
85857
85960
|
exports.colorPickerEmits = colorPickerEmits;
|
|
85858
85961
|
exports.colorPickerProps = colorPickerProps;
|
|
85962
|
+
exports.configProviderProps = configProviderProps;
|
|
85859
85963
|
exports.contentTypeOptions = contentTypeOptions;
|
|
85860
85964
|
exports.createNamespace = createNamespace;
|
|
85861
85965
|
exports.cropperImageEmits = cropperImageEmits;
|
|
@@ -85961,6 +86065,7 @@
|
|
|
85961
86065
|
exports.llMarkdownEditorEmits = llMarkdownEditorEmits;
|
|
85962
86066
|
exports.llMarkdownEditorProps = llMarkdownEditorProps;
|
|
85963
86067
|
exports.llMarkdownViewerProps = llMarkdownViewerProps;
|
|
86068
|
+
exports.localeContextKey = localeContextKey;
|
|
85964
86069
|
exports.mainTableEmits = mainTableEmits;
|
|
85965
86070
|
exports.mainTableProps = mainTableProps;
|
|
85966
86071
|
exports.menuSwitchRadioList = menuSwitchRadioList;
|
|
@@ -86013,6 +86118,7 @@
|
|
|
86013
86118
|
exports.thousandsFormat = thousandsFormat;
|
|
86014
86119
|
exports.toRPN = toRPN;
|
|
86015
86120
|
exports.tooltipProps = tooltipProps;
|
|
86121
|
+
exports.translate = translate;
|
|
86016
86122
|
exports.treeDataFormat = treeDataFormat;
|
|
86017
86123
|
exports.treeEmits = treeEmits;
|
|
86018
86124
|
exports.treeProps = treeProps;
|
|
@@ -86030,6 +86136,7 @@
|
|
|
86030
86136
|
exports.uriInputEmits = uriInputEmits;
|
|
86031
86137
|
exports.uriInputProps = uriInputProps;
|
|
86032
86138
|
exports.url = url;
|
|
86139
|
+
exports.useLocale = useLocale;
|
|
86033
86140
|
exports.useOptions = useOptions;
|
|
86034
86141
|
exports.useScroll = useScroll;
|
|
86035
86142
|
exports.useSecondConfirmation = useSecondConfirmation;
|