import { convertApi2FormUrlOnlyOne } from '@/utils';
|
import {
|
FourStreamsMaterialFileBusinessTypeEnum,
|
FourStreamsMaterialFileBusinessTypeEnumKey,
|
FourStreamsMaterialFileTableItem,
|
} from '../types';
|
|
export class FourStreamsMaterialUtils {
|
/**实体产业园材料 */
|
static PhysicalIndustrialParkMaterialFile = [
|
FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl,
|
];
|
|
/**数字经济园材料 */
|
static DigitIndustrialParkMaterialFile = [
|
FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl,
|
FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl,
|
];
|
|
static isFourStreamsParkType(parkTypeName) {
|
return (
|
ParkTypeUtils.isPhysicalIndustrialPark(parkTypeName) ||
|
ParkTypeUtils.isDigitIndustrialPark(parkTypeName)
|
);
|
}
|
|
static initFourStreamsMaterialFileList(
|
data: API.ParkBountyApplyDetailInfo,
|
parkTypeName: string
|
) {
|
if (!this.isFourStreamsParkType(parkTypeName)) return [];
|
const list = ParkTypeUtils.isPhysicalIndustrialPark(parkTypeName)
|
? this.PhysicalIndustrialParkMaterialFile
|
: this.DigitIndustrialParkMaterialFile;
|
return list.map((item) => {
|
return {
|
fileBusinessType: item,
|
fileList: convertApi2FormUrlOnlyOne(data[FourStreamsMaterialFileBusinessTypeEnumKey[item]]),
|
} as FourStreamsMaterialFileTableItem;
|
});
|
}
|
|
static fourStreamsMaterialFileList2Api(list: FourStreamsMaterialFileTableItem[]) {
|
return Object.fromEntries(
|
list.map((item) => [
|
FourStreamsMaterialFileBusinessTypeEnumKey[item.fileBusinessType],
|
item.fileList[0]?.path ?? '',
|
])
|
);
|
}
|
}
|
|
export class ParkTypeUtils {
|
static isPhysicalIndustrialPark(parkTypeName: string) {
|
return parkTypeName === '实体产业园';
|
}
|
static isDigitIndustrialPark(parkTypeName: string) {
|
return parkTypeName === '数字经济园';
|
}
|
}
|