declare interface IdentifyStateType {
	identifyData: Array<IdentifyType>
	user: null | number
	searchQuery: {
		pageIndex: number,
		pageSize: number,
		assessPlanName: string,
		experimentName: string,
		tag: number,
	}
	total: number
	identificationMethodList: Array<Type>,
	evaluateMethodList: Array<Type>
	planList: Array<PlanType>
	personList: Array<SystemPersonType>
}

declare interface IdentifyQueryType {
	title: string,
	activeName: string,
	list?: IdentifyType [],
	identifyQueryVisible: boolean,
	identifyMethodVisible: boolean
	currentMethod: number | null
	identifyQueryForm: identifyQueryFormType,
	identifyForm: IdentifyType,
	identificationMethodList: Array<Type>,
	planList: Array<PlanType>
	personList: Array<AllPersonListType>
}

declare interface identifyQueryFormType {
	id: null | number,
	identificationMethod: null | number,
	assessType: null | number,
	assessStartTime: string,
	riskUnitName: string
}


declare interface IdentifyType {
	id: number | null,
	technologyMeasure?: string,
	assessPlanName?: string,
	manageMeasure?: string,
	educationMeasure?: string,
	personalProtectionMeasure?: string,
	emergencyMeasure?: string,
	identificationMethod: number | null,
	hazopId?: number | null,
	jhaId?: number | null,
	phaId?: number | null,
	sclId?: number | null,
	analogyId?: number | null,
	analogyCheckItem: string,
	analogyRiskFactor: string,
	analogyResult: string,
	analogyReference: string,
	hazopNode: string,
	hazopParam: string,
	hazopParamDesc: string,
	hazopGuide: string,
	hazopDeviation: string,
	hazopPossibleCauses: string,
	hazopResult: string,
	jhaCheckItem: string,
	jhaRiskFactor: string,
	jhaResult: string,
	phaCheckItem: string,
	phaRiskFactor: string,
	phaResult: string,
	sclCheckItem: string,
	sclCheckStandard: string,
	sclCheckUnstandard: string,
	sclCheckResult: string,
	planExecStatus?: number,
	evaluateMethod?: number,
	factorQueryDTOList?: EvaluateType [],
	evaluateUser?: string,
	result?: number | null,
	identificationDesc: string
}

declare interface Type {
	id: number,
	name: string,
}

declare interface IdentifyDialogType {
	title: string,
	method: null | number,
	evaluateMethod: null | number,
	evaluateUser?: string,
	time: string [],
	disabled: boolean,
	identifyDialogVisible: boolean,
	identifyForm: {
		id: number | null,
		identificationMethod: number | null,
		result: null | number,
		identificationDesc: string,
		hazopId?: number | null,
		jhaId?: number | null,
		phaId?: number | null,
		sclId?: number | null,
		analogyId?: number | null,
		analogyCheckItem: string,
		analogyRiskFactor: string,
		analogyResult: string,
		analogyReference: string,
		hazopNode: string,
		hazopParam: string,
		hazopParamDesc: string,
		hazopGuide: string,
		hazopDeviation: string,
		hazopPossibleCauses: string,
		hazopResult: string,
		jhaCheckItem: string,
		jhaRiskFactor: string,
		jhaResult: string,
		phaCheckItem: string,
		phaRiskFactor: string,
		phaResult: string,
		sclCheckItem: string,
		sclCheckStandard: string,
		sclCheckUnstandard: string,
		sclCheckResult: string,
	},
	identifyFormRules: {

	},
	identificationMethodList: Array<Type>,
	evaluateMethodList: Array<Type>
	planList: Array<PlanType>
	personList?: Array<NewPersonListType>
}
