///
import IGood from './IGood';
import ImportGoods from './ImportGoods';
import EndowCode from './EndowCode';
import ProductComparison from './ProductComparison';
import { WrappedFormUtils } from 'kts-components-antd-x3/lib/form/Form';
import InvoiceController from '../..';
import IColumnsReplenish from './IColumnsReplenish';
import Drag from './Drag';
export default class GoodsListState {
/** 扣除额 */
deduction: number;
/** 产品最大数 */
goodMax?: number;
/** 是否可以切换(含税/不含税)状态 */
isSwitchTax?: boolean;
/** 切换含税时是否重新计算 */
isRecalculateWhenSwitchTax: boolean;
/** 是否根据税收分类编码改变商品的可选税率 */
isUpdateGoodsTaxRateList: boolean;
/** 是否能添加折扣行 */
isAddDiscount?: boolean;
/** 是否可以添加行 */
isAddRow: boolean;
/** 是否可以删除行 */
isRemRow: boolean;
/** 批量删除 */
isBatchRemRow: boolean;
/** 是否含税 */
isTaxIncluded: boolean;
/**
* 计算类型
* @param 1: 含税金额不变
* @param 2: 不含税金额不变
* @param 3: 自动(根据含税表现isTaxIncluded)
* */
calculateType: '1' | '2' | '3';
/** 是否显示我方 */
isMyShow: boolean;
/** 正在编辑的货物 */
editGood?: IGood;
/** 被编辑行的form对象 */
form?: WrappedFormUtils;
/** 商品表格补充配置 */
columnsReplenish: {
[key: string]: IColumnsReplenish;
};
/** 商品表格隐藏列 */
columnshide: string[];
/** 单位列表 */
unitList: string[];
/** 默认税率 */
defaultRate: any;
/** 税率列表 */
taxRateList: number[];
/** 搜索条件 */
searchValue: string;
/** 货物列表 */
goodsList: IGood[];
/** 货物字典 */
goodsMap: Map;
/** 子级展开的货物 */
expandedRowKeys: string[];
/** 货物菜单扩展 */
goodsMenuExpand: ((index: string, controller: InvoiceController) => React.ReactNode)[];
/** 金额含税(受控,输入后不再自动计算) */
amountIncludeTax?: number;
/** 金额不含税(受控,输入后不再自动计算) */
amountExcludeTax?: number;
/** 税额(受控,输入后不再自动计算) */
amountTax?: number;
/** 列表选中的货物索引列表 */
selectedGoodIndex: string[];
/** 准备添加折扣的货物索引列表 */
discountGoodIndex: string[];
/** 货物赋码的相关数据 */
endowCode: EndowCode;
/** 导入商品的相关数据 */
importGoods: ImportGoods;
/** 商品对照 相关 */
productComparison: ProductComparison;
/** 是否显购买示导入抽屉 */
isVisibleDrawer: boolean;
/** 是否可以合并明细 */
isMergeDetails: boolean;
/** 是否可以合并折扣 */
isMergeDiscount: boolean;
/** 是否可以销售折让 */
isSalesDiscount: boolean;
/** 是否可以销售赠品 */
isSalesGifts: boolean;
/** 正在 添加商品对照 的货物 */
addComparisonIndex?: string;
/** 商品拖拽数据 */
drag: Drag;
}