import type { PromisePageResp, PageBaseParams } from '@feewee/h5app-common'; import { host, http } from '@feewee/h5app-common'; import type { DimensionEnum, MatchStatusEnum, QueryItemTypeEnum, QueryTypeEnum, SubTypeEnum, TypeEnum } from './entity'; export interface DetailResult { // 申请id applyId: number; // 文件id fid: string; // 文件名称 fName: string; // 文件大小,单位b fSize: number; // 品牌名称 brandName: string; // 往来单位名称 contactUnits: string; // 申报商家 id applyDealerId: number; // 申报商家名称 applyDealerName: string; // 匹配结果的最早提报时间 beginTime: number; // 匹配结果的最晚提报时间 endTime: number; // 未复核单数 notReviewedCount: number; // 未复核金额 notReviewedAmount: number; // 超60天未复核单数 overtimeNotReviewedCount: number; // 厂家审核金额 amount: number; } export interface ClaimBeforeData { // 类型 type: DimensionEnum; // 类型id typeId: number; // 类型名称 typeName: string; // 系统单数 systemCount: number; // 系统金额 systemAmount: number; // 系统有,导入无单数 notExistsCount: number; // 系统有,导入无金额 notExistsAmount: number; // 本次导入 合计单数 total: number; // 本次导入 合计金额 totalAmount: number; // 本次导入 匹配一致单数 consistentCount: number; // 本次导入 匹配一致金额 consistentAmount: number; // 本次导入 匹配不一致单数 nonConsistentCount: number; // 本次导入 匹配不一致金额 nonConsistentAmount: number; // 本次导入,系统无,导入有单数 importNonSystemCount: number; // 本次导入,系统无,导入有金额 importNonSystemAmount: number; } export interface ClaimAfterData { // 类型id typeId: number; // 类型名称 typeName: string; // 差异单数 nonConsistentCount: number; // 差异金额 nonConsistentAmount: number; // 系统金额 systemAmount: number; // 厂家金额 factoryAmount: number; } export interface PunishData { // 人员id userId: number; // 人员名称 userName: number; // 提报单数 submitCount: number; // 差异单数 nonConsistentCount: number; // 差异金额 nonConsistentAmount: number; // 差异金额占比 nonConsistentRate: number; // 处罚金额 punishAmount: number; // 处罚绩效得分率 punishRate: number; } export interface FactoryPunishOrRewardData { // 合计金额 totalAmount: number; // items: FactoryPunishOrRewardItem[]; } export interface FactoryPunishOrRewardItem { // 厂家奖励/处罚id id: number; // 文件名称 fName: string; // 文件id fid: string; // 兑现方式 cashType: number; // 处罚类型 projectTypeName: string; // 金额 amount: number; // 是否门店分摊 apportion: boolean; // 是否门店 shop: boolean; // 是否人员 user: boolean; } export interface FactoryPunishOrRewardTypeDetail { // 对象id targetId: number; // 对象名称 targetName: string; // 金额 amount: number; // 比例 proportion: number; // 绩效得分率 scoringRate: number; // 岗位名称 postName: string; // 在职门店名称 shopName: string; } export interface ReviewListParams extends PageBaseParams { applyId: number; type: DimensionEnum | QueryTypeEnum.USER_PUNISH; typeId: number; queryType: QueryTypeEnum; queryItemType: QueryItemTypeEnum; keywords?: string; } export interface ReviewListResult { // 导入数据id importDataId: number; // 索赔单号 claimNo: string; // 索赔类型 claimType: number; // 索赔类型名称 claimTypeName: string; // 复核附件 fid: string; // 厂家兑现金额 amount: number; // 系统生成-总金额 totalFee: number; // 系统生成-工时费 systemManHoursFee: number; // 系统生成-材料费 systemPartFee: number; // 系统生成与厂家差异金额 differenceAmount: number; // 提报-总金额 submitAmount: number; // 提报-工时费 submitManHoursFee: number; // 提报-材料费 submitPartFee: number; // 提报-与厂家差异金额 differenceSubmitAmount: number; // 上传其他信息:json格式 importData: string; // 提报人 claimer: string; // 提报商家名称 submitDealerName: string; // 提报时间 commitTime: number; // VIN vin: string; // 车牌号 plateNo: string; // 车辆 carName: string; // 差异原因 differenceReasonId: number; differenceReason: string; // 是否已复核 1: 未填写差异原因,2: 已填写差异原因 reviewStatus: number; } export interface DetailListParams { importDataNo: string; // 导入明细编号,同一文件一致 claimNo?: string; // 索赔单号 distributorName?: string; // 经销商 vin?: string; claimType?: number; // 索赔类型 matchStatus?: MatchStatusEnum; // 匹配状态,1:匹配一致,2:无工单记录,3:匹配不一致 current?: number; pageSize?: number; } export interface DetailListResult { id: number; // 复核 id createTime: number; // 创建时间 updateTime: number; // 更新时间 createBy: string; // 创建人 updateBy: string; // 更新人 groupId: number; // 集团id importDataNo: string; // 导入明细编号,同一文件一致 reviewAmount: number; // 复核后金额 differenceReason: string; // 差异原因, 1.工时费,材料费差异:2.厂家拒绝:3.漏报:4.其他4s店支付:5.家直接打款到公司账户;6.同一工单分多次提报;7.多个工单一次提报(See: 索赔数据不一致原因) differenceReasonName: string; // 差异原因名称 distributorName: string; // 经销商 claimNo: string; // 索赔单号 vin: string; // 车架号 claimType: string; // 索赔类型 manHoursFee: number; // 工时费 partFee: number; // 配件费 rescueFee: number; // 救援费 totalFee: number; // 总结算费用 remark: string; // 复核备注 fids: string; // 附件ids matchStatus: number; // 匹配状态,1: 匹配一致,2: 匹配不一致,3: 无工单记录(See: 索赔匹配状 } export interface ReviewDetailResult { claimOrderReviewData: ReviewData; // 复核数据 claimOrders: ClaimOrder[]; // 索赔单信息 punishes: ReviewPunish[]; // 处罚信息 } export interface ReviewData { id: number; // 主键 createTime: number; // 创建时间 updateTime: number; // 更新时间 createBy: string; // 创建人 updateBy: string; // 更新人 groupId: number; // 集团id importDataNo: string; // 导入明细编号,同一文件一致 reviewAmount: number; // 复核后金额 differenceReason: string; // 差异原因, 1.工时费,材料费差异;2.厂家拒绝;3.漏报;4.其他4s店支付;5.厂家直接打款到公司账户;6.同一工单分多次提报;7.多个工单一次提报(See: 索赔数据不一致原因) differenceReasonName: string; // 差异原因名称 distributorName: string; // 经销商 claimNo: string; // 索赔单号 vin: string; // 车架号 claimType: number; // 索赔类型 manHoursFee: number; // 工时费 partFee: number; // 配件费 rescueFee: number; // 救援费 totalFee: number; // 总结算费用 remark: string; // 复核备注 fids: string; // 附件ids matchStatus: number; // 匹配状态,1: 匹配一致,2: 匹配不一致,3: 无工单记录(See: 索赔匹配状态) } export interface ClaimOrder { type: number; // 三包类型(1:首保 2: 三包件5: 市场行动) claimUsername: number; // 索赔确认/提报员工姓名 claimSubmitAmount: number; // 提报金额 claimOrderId: number; // 索赔单id orderNo: number; // 工单号 ownerName: number; // 车主姓名 carName: number; // 车辆名称 vin: number; // 车辆vin码 plateNo: number; // 车牌号 specCode: number; // 车型代码 receiverName: number; // 接车人姓名 judgeNames: number; // 故障判断员 } export interface ReviewPunish { id: number; // 复核id createTime: number; // 创建时间 updateTime: number; // 更新时间 dataId: number; // 索赔复核导入数据id punishUserId: number; // 处罚人员id punishUsername: string; // 处罚人员 punishAmount: number; // 处罚金额 achievements: number; // 处罚绩效 punishId: number; // 绩效系统id shopId: number; shopName: string; } // 详情 export function detailApi(applyId: number): Promise { return http.get(`${host.cas}/erp/claim/review/apply/detail`, { applyId }); } // 复核前数据 export function dataBeforeReviewApi(params: { applyId: number; type: DimensionEnum }): Promise { return http.get(`${host.cas}/erp/claim/review/apply/before/review`, params); } // 复核后数据 export function dataAfterReviewApi(params: { applyId: number; type: DimensionEnum }): Promise { return http.get(`${host.cas}/erp/claim/review/apply/after/review`, params); } // 处罚信息 export function punishListApi(applyId: number): Promise { return http.get(`${host.cas}/erp/claim/review/apply/punish/list`, { applyId }); } // 厂家处罚/奖励信息 1:奖励 2:处罚 export function factoryPunishOrRewardListApi(params: { applyId: number; type: TypeEnum }): Promise { return http.get(`${host.cas}/erp/claim/review/apply/factory/info`, params); } // 厂家处罚/奖励类型详情 1:门店分摊,2:门店,3:人员 export function factoryPunishOrRewardTypeDetailApi(params: { id: number; type: SubTypeEnum }): Promise { return http.get(`${host.cas}/erp/claim/review/apply/factory/info/detail`, params); } // 复核列表 export function reviewListApi(params: ReviewListParams): PromisePageResp { return http.get(`${host.cas}/erp/claim/review/apply/import/data/page`, params); } // 详情明细 export function detailListApi(params: DetailListParams): PromisePageResp { return http.get(`${host.cas}/erp/claim/order/review/data/list`, params); } // 复核详情 export function reviewDetailApi(id: number): Promise { return http.get(`${host.cas}/erp/claim/order/review/data/${id}`); }