export interface GoodsDetailStateType {
	goodsDetailData: GoodsDetailDataType [];
	departmentList: DepartmentType [];
	irStatusList: Type [];
	listQuery:{
		pageSize: number;
		pageIndex: number;
		searchParams: {
			irStatus: number | null;
			rfid: string | null;
			smId: number | null;
		}
	},
	checkOutQuery: {
		id: null | number;
		claimantId: null | boolean;
	};
	checkInQuery: {
		id?: null | number;
		ids?: Array<number>;
	};
	checkOutNames: string;
	total: number;
}

export interface GoodsDetailEditType {
	title: string;
	depId: null | number;
	loading: boolean;
	classifyId: null | number;
	goodsDetailEditVisible?: boolean;
	goodsDetailForm: GoodsDetailEditFormType;
	goodsDetailRules: {};
	departmentList: DepartmentType [];
	classifyList: Array<ClassificationListType>;
	goodsList: Array<BaseMaterialListType>;
}

export interface GoodsDetailAddType extends GoodsDetailEditType{
	goodsDetailAddVisible: boolean;
	RFID: string;
	startRfid: string;
	endRfid: string;
}

export interface GoodsDetailEditFormType {
	id:  null | number;
	rfid?:  null | string;
	startRfid?:  null | string;
	endRfid?:  null | string;
	wareHousingCount?:  null | number;
	smId: null | number;
	validType: null | number;
	validTime: null | string;
}

export interface GoodsDetailDataType extends GoodsDetailEditFormType{
	name: string | null;
	depId: null | number;
	bigClassifyId: null | number;
}

export interface Type {
	id: number;
	name: string;
}

export interface DepartmentType {
	depId: number;
	depName: string;
	classificationList: Array<ClassificationListType>;
}

export interface ClassificationListType {
	baseMaterialList: Array<BaseMaterialListType>;
	materialClassifyId: number;
	materialClassifyName: string;
}

export interface BaseMaterialListType {
	materialName: string;
	smId: number;
}


export interface checkOutStateType {
	title: string;
	loading: boolean;
	checkOutDialogVisible: boolean;
	materialName: string;
	checkOutForm: {
		id?: null | number;
		receiveUid: null | number;
		ids?: Array<number>;
	};
	// checkOutMoreForm: {
	// 	ids: Array<number>;
	// 	claimantId: null | boolean;
	// }
	userList: []
}
