feat:【ele/antd】【erp】优化详情界面,隐藏“操作”列

This commit is contained in:
YunaiV
2025-11-16 22:55:34 +08:00
parent d9f4333e77
commit a273ab2882
48 changed files with 112 additions and 72 deletions

View File

@@ -176,7 +176,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -214,6 +216,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -59,7 +59,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -236,7 +236,6 @@ defineExpose({ validate });
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -176,7 +176,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -214,6 +216,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -59,7 +59,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -236,7 +236,6 @@ defineExpose({ validate });
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -207,6 +207,7 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
/** 表单的明细表格列 */
export function useFormItemColumns(
formData?: any[],
disabled?: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
@@ -306,6 +307,7 @@ export function useFormItemColumns(
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -65,7 +65,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(tableData.value),
columns: useFormItemColumns(tableData.value, props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -95,7 +95,7 @@ watch(
await nextTick(); // 特殊:保证 gridApi 已经初始化
await gridApi.grid.reloadData(tableData.value);
// 更新表格列配置(目的:原数量、已入库动态列)
const columns = useFormItemColumns(tableData.value);
const columns = useFormItemColumns(tableData.value, props.disabled);
await gridApi.grid.reloadColumn(columns || []);
},
{
@@ -274,7 +274,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -169,7 +169,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -246,6 +248,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -61,7 +61,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -281,7 +281,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -206,6 +206,7 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
/** 表单的明细表格列 */
export function useFormItemColumns(
formData?: any[],
disabled?: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
@@ -306,6 +307,7 @@ export function useFormItemColumns(
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -65,7 +65,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(tableData.value),
columns: useFormItemColumns(tableData.value, props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -95,7 +95,7 @@ watch(
await nextTick(); // 特殊:保证 gridApi 已经初始化
await gridApi.grid.reloadData(tableData.value);
// 更新表格列配置(目的:已入库、已退货动态列)
const columns = useFormItemColumns(tableData.value);
const columns = useFormItemColumns(tableData.value, props.disabled);
await gridApi.grid.reloadColumn(columns || []);
},
{
@@ -276,7 +276,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -181,7 +181,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -259,6 +261,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -61,7 +61,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -281,7 +281,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -226,6 +226,7 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
/** 表单的明细表格列 */
export function useFormItemColumns(
formData?: any[],
disabled?: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
@@ -326,6 +327,7 @@ export function useFormItemColumns(
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -65,7 +65,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(tableData.value, props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -95,7 +95,7 @@ watch(
await nextTick(); // 特殊:保证 gridApi 已经初始化
await gridApi.grid.reloadData(tableData.value);
// 更新表格列配置(目的:原数量、已出库动态列)
const columns = useFormItemColumns(tableData.value);
const columns = useFormItemColumns(tableData.value, props.disabled);
await gridApi.grid.reloadColumn(columns || []);
},
{
@@ -274,7 +274,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -219,6 +219,7 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
/** 表单的明细表格列 */
export function useFormItemColumns(
formData?: any[],
disabled?: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
@@ -319,6 +320,7 @@ export function useFormItemColumns(
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -65,7 +65,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(tableData.value),
columns: useFormItemColumns(tableData.value, props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -95,7 +95,7 @@ watch(
await nextTick(); // 特殊:保证 gridApi 已经初始化
await gridApi.grid.reloadData(tableData.value);
// 更新表格列配置(目的:已出库、已出库动态列)
const columns = useFormItemColumns(tableData.value);
const columns = useFormItemColumns(tableData.value, props.disabled);
await gridApi.grid.reloadColumn(columns || []);
},
{
@@ -274,7 +274,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -85,7 +85,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -156,6 +158,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -49,7 +49,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -269,7 +269,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -100,7 +100,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -163,6 +165,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -49,7 +49,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -258,7 +258,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -85,7 +85,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -154,6 +156,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -49,7 +49,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -279,7 +279,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',

View File

@@ -100,7 +100,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] {
}
/** 表单的明细表格列 */
export function useFormItemColumns(): VxeTableGridOptions['columns'] {
export function useFormItemColumns(
disabled: boolean,
): VxeTableGridOptions['columns'] {
return [
{ type: 'seq', title: '序号', minWidth: 50, fixed: 'left' },
{
@@ -163,6 +165,7 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] {
width: 50,
fixed: 'right',
slots: { default: 'actions' },
visible: !disabled,
},
];
}

View File

@@ -49,7 +49,7 @@ const summaries = computed(() => {
/** 表格配置 */
const [Grid, gridApi] = useVbenVxeGrid({
gridOptions: {
columns: useFormItemColumns(),
columns: useFormItemColumns(props.disabled),
data: tableData.value,
minHeight: 250,
autoResize: true,
@@ -256,7 +256,6 @@ onMounted(async () => {
</template>
<template #actions="{ row }">
<TableAction
v-if="!disabled"
:actions="[
{
label: '删除',