|
@@ -7,9 +7,9 @@ import { renderEditCell } from '../components/editable';
|
|
|
import { usePermission } from '/@/hooks/web/usePermission';
|
|
import { usePermission } from '/@/hooks/web/usePermission';
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
import { isArray, isBoolean, isFunction, isMap, isString } from '/@/utils/is';
|
|
import { isArray, isBoolean, isFunction, isMap, isString } from '/@/utils/is';
|
|
|
-import { cloneDeep, isEqual } from 'lodash-es';
|
|
|
|
|
|
|
+import { cloneDeep, isEmpty, isEqual, isNil } from 'lodash-es';
|
|
|
import { formatToDate } from '/@/utils/dateUtil';
|
|
import { formatToDate } from '/@/utils/dateUtil';
|
|
|
-import { ACTION_COLUMN_FLAG, DEFAULT_ALIGN, INDEX_COLUMN_FLAG, PAGE_SIZE } from '../const';
|
|
|
|
|
|
|
+import { ACTION_COLUMN_FLAG, DEFAULT_ALIGN, INDEX_COLUMN_FLAG, PAGE_SIZE, COLUMN_DEFAULT_TEXT } from '../const';
|
|
|
import { CUS_SEL_COLUMN_KEY } from './useCustomSelection';
|
|
import { CUS_SEL_COLUMN_KEY } from './useCustomSelection';
|
|
|
|
|
|
|
|
function handleItem(item: BasicColumn, ellipsis: boolean) {
|
|
function handleItem(item: BasicColumn, ellipsis: boolean) {
|
|
@@ -104,6 +104,15 @@ function handleActionColumn(propsRef: ComputedRef<BasicTableProps>, columns: Bas
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function handleBodyCellRender(propsRef: ComputedRef<BasicTableProps>, columns: BasicColumn[]) {
|
|
|
|
|
+ const { defaultBodyCellText } = unref(propsRef);
|
|
|
|
|
+ columns.forEach((col) => {
|
|
|
|
|
+ if (!col.customRender && !isEmpty(defaultBodyCellText)) {
|
|
|
|
|
+ col.customRender = ({ value }) => (isNil(value) || isEmpty(value) ? defaultBodyCellText : value);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
export function useColumns(
|
|
export function useColumns(
|
|
|
propsRef: ComputedRef<BasicTableProps>,
|
|
propsRef: ComputedRef<BasicTableProps>,
|
|
|
getPaginationRef: ComputedRef<boolean | PaginationProps>,
|
|
getPaginationRef: ComputedRef<boolean | PaginationProps>,
|
|
@@ -124,6 +133,7 @@ export function useColumns(
|
|
|
handleActionColumn(propsRef, columns);
|
|
handleActionColumn(propsRef, columns);
|
|
|
// 代码逻辑说明: 【QQYUN-5571】自封装选择列,解决数据行选择卡顿问题
|
|
// 代码逻辑说明: 【QQYUN-5571】自封装选择列,解决数据行选择卡顿问题
|
|
|
handleCustomSelectColumn(columns);
|
|
handleCustomSelectColumn(columns);
|
|
|
|
|
+ handleBodyCellRender(propsRef, columns);
|
|
|
|
|
|
|
|
if (!columns) {
|
|
if (!columns) {
|
|
|
return [];
|
|
return [];
|
|
@@ -160,7 +170,7 @@ export function useColumns(
|
|
|
const formatEditColumn = (columns) => {
|
|
const formatEditColumn = (columns) => {
|
|
|
return columns.map((column) => {
|
|
return columns.map((column) => {
|
|
|
// 代码逻辑说明: 【issues-179】antd3 一些警告以及报错(针对表格)
|
|
// 代码逻辑说明: 【issues-179】antd3 一些警告以及报错(针对表格)
|
|
|
- if(column.slots?.customRender) {
|
|
|
|
|
|
|
+ if (column.slots?.customRender) {
|
|
|
// slots的备份,兼容老的写法,转成新写法避免控制台警告
|
|
// slots的备份,兼容老的写法,转成新写法避免控制台警告
|
|
|
column.slotsBak = column.slots;
|
|
column.slotsBak = column.slots;
|
|
|
delete column.slots;
|
|
delete column.slots;
|
|
@@ -373,4 +383,3 @@ export function formatCell(text: string, format: CellFormat, record: Recordable,
|
|
|
return text;
|
|
return text;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|