fix(erp): 查看审批明细时明细表格取消固定列
采购订单、销售订单的审批详情弹窗较窄,明细表格右侧连续冻结了 7 列
(是否质检、数量、产品单价、金额、税率、税额、税额合计),加上左侧序号列,
固定列占满可视区,把产品名称、单位、备注等列挤掉。
新增 withoutFixedColumns 工具方法,在只读(disabled=true)场景下移除列的
fixed 配置;新增/编辑单据时仍保留原有固定列。
Co-Authored-By: Claude <noreply@anthropic.com>
| | |
| | | }); |
| | | return index; |
| | | }; |
| | | |
| | | /** |
| | | * 去掉表格列的固定(fixed)配置 |
| | | * |
| | | * 用于「查看审批明细 / 详情」等只读场景:此时表格容器较窄, |
| | | * 固定列会挤占可视宽度,把产品名称、单位、备注等列遮住。 |
| | | * |
| | | * @param columns 原始表格列配置 |
| | | */ |
| | | export function withoutFixedColumns<T>(columns?: null | T[]): T[] { |
| | | return (columns ?? []).map((column) => { |
| | | const { fixed: _fixed, ...rest } = column as Recordable<any>; |
| | | return rest as unknown as T; |
| | | }); |
| | | } |
| | |
| | | import { getSupplierSimpleList } from '#/api/srm/supplier'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | | import { MdmItemSelect } from '#/views/basicData/mdm/components'; |
| | | import { getRangePickerDefaultProps } from '#/utils'; |
| | | import { getRangePickerDefaultProps, withoutFixedColumns } from '#/utils'; |
| | | |
| | | /** 表单类型 */ |
| | | export type FormType = 'create' | 'detail' | 'edit'; |
| | |
| | | export function useFormItemColumns( |
| | | disabled: boolean, |
| | | ): VxeTableGridOptions['columns'] { |
| | | return [ |
| | | const columns: VxeTableGridOptions['columns'] = [ |
| | | { type: 'seq', title: '序号', minWidth: 50, fixed: 'left' }, |
| | | { |
| | | field: 'productId', |
| | |
| | | visible: !disabled, |
| | | }, |
| | | ]; |
| | | // 查看审批明细(只读)时取消固定列,避免窄弹窗里挤掉产品名称、单位、备注等列 |
| | | return disabled ? withoutFixedColumns(columns) : columns; |
| | | } |
| | | |
| | | /** 列表的搜索表单 */ |
| | |
| | | import { getAccountSimpleList } from '#/api/erp/finance/account'; |
| | | import { getItemPage } from '#/api/mdm/item'; |
| | | import { getSimpleUserList } from '#/api/system/user'; |
| | | import { getRangePickerDefaultProps } from '#/utils'; |
| | | import { getRangePickerDefaultProps, withoutFixedColumns } from '#/utils'; |
| | | import CrmCustomerSelect from '#/components/crm-customer-select.vue'; |
| | | |
| | | import { markRaw } from 'vue'; |
| | |
| | | export function useFormItemColumns( |
| | | disabled: boolean, |
| | | ): VxeTableGridOptions['columns'] { |
| | | return [ |
| | | const columns: VxeTableGridOptions['columns'] = [ |
| | | { type: 'seq', title: '序号', minWidth: 50, fixed: 'left' }, |
| | | { |
| | | field: 'productId', |
| | |
| | | visible: !disabled, |
| | | }, |
| | | ]; |
| | | // 查看审批明细(只读)时取消固定列,避免窄弹窗里挤掉产品名称、单位、备注等列 |
| | | return disabled ? withoutFixedColumns(columns) : columns; |
| | | } |
| | | |
| | | /** 列表的搜索表单 */ |