api.ts 6.18 KB
import { http } from '@/typing/http';
import request from '@/utils/request';
import { PMS_HOST, FINANCE2_HOST } from '@/utils/host';

export interface Params{
  keywords?:string
  current?:number
  pageSize?:number
  statusValue?:number
  startTime?:number
  endTime?:number
  supplierId?:number
}
export interface PageV0{
  purchaseId?: number //配件采购id
  purchaseNo?: number //配件采购单号
  shopId?: number // 门店ID
  shopName?: string // 门店名称
  storageName?: string //库房名称
  supplierName?:string//供应商名称
  purchaseCnt?:number//采购品种数
  amount:number//总金额
  status?:string//状态
  applyTime?:string //申请时间
  proportion?: number // 发票金额要求比例
  payAmount:number
  onPayAmount:number
  payType?:string
}

export interface partParams{
  storageId?:number
  supplierId?:number
  current?:number
  pageSize?:number
  type?:number
  method?:number
}
export interface partItem{
  partId?:number
  //配件id
  partCode?:string
  //配件编码
  partName?:string
  //配件名称
  splitUnit?:string
  //拆分件规格
  partUnit?:string
  //配件规格
  splitOneCnt?:number
  //单个拆分数量
  splitCnt?:number
  //拆分后数量
  locationNo?:string
  //库位
  price?:number
  //配件单价
  stock?:number
  //库存数量
  lockStock?:number
  //锁定库存数量
  partCnt?:number // 配件数量
  partAmount?: number // 配件总金额
  actualPrice?: number // 实际实际单价
  poolId?: number // 外采池id
  expectInTime?: string //预计入库时间
  amount?: number //总价
}
export interface planePartItem{
  partId?:number
  //配件id
  partCode?:string
  //配件编码
  partName?:string
  //配件名称
  splitUnit?:string
  //拆分件规格
  partUnit?:string
  //配件规格
  splitOneCnt?:number
  //单个拆分数量
  splitCnt?:number
  //拆分后数量
  locationNo?:string
  //库位
  price?:number
  //配件单价
  stock?:number
  //库存数量
  lockStock?:number
  //锁定库存数量
  partCnt?:number // 配件数量
  partAmount?: number // 配件总金额
  actualPrice?: number // 实际实际单价
  poolId: number // 外采池id
  expectInTime?: string //预计入库时间
  amount?: number //总价
}
export interface ApplyParams{
  storageId?: number
  storageName?: string
  supplierId?: number
  supplierName?: string,
  proportion?: number,
  payType?: string,
  accountCheckPeriod?:number
  parts?: any[]
  isOutSide?: boolean
}
interface relationParams{
  tradeCompanyId?: number, 
  compCategory?: number,
  current?:number
  pageSize?:number
  dealerId?:number
}
export interface ProcessItem{
  status?: string	//未完成、进行中、已完成
  title?: string //标题
  remarks?: string[] //备注
  hasDetail?: boolean // 是否有明细
}
interface PayApplyParams{
  purchaseId?: number // 外采id
  payAmount: number // 付款金额
  payDays: string // 账期
  remark?: string // 申请理由
  fids?: string[] // 附件
}
export interface purchaseDetail{
  brandName?:string // 品牌名称
  purchaseId?:number // 配件采购id
  storageId?:number // 库房id
  storageName?:string // 库房名称
  supplierId?:number // 供应商id
  supplierName?:string // 供应商名称
  amount?: number // 总金额
  purchaseNo?: string // 采购单号
  totalAmount?:number // 总金额
  thisTimeAdvanceAmount?:number // 本次预付款
  parts?: partItem[]
}
export interface EditItem{
  shopId?:number //服务站ID
  groupId?:number//集团ID
  userId?:number//用户ID
  userName?:string//用户名称
  keywords?:string//关键词
  keyword?:string//关键字
  brandId?:number//服务站ID
  storageId?:number//库房id
  current?:number//当前第几页
  pageSize?:number //每页条数
  storageName?:string//库房名称
  supplierId?:number//供应商id
  supplierName?:string
  proportion?:number//发票金额要求比例
  payType?:string //结算方式 1 员工垫付 2 即时支付 3 付款申请
  parts?:partItem[]
  poolParts?: poolPart[]
  planParts?: planePartItem[]
  isOutSide?: boolean
}
interface poolPart{
  id: string// 类型id(vin)
  name:string //备注
  kind?:number//配件品种
  cnt?:number //配件数量
  details?:partItem[]
}
export interface RelationList{
  billAmountRatio?:number //发票比例
  accountCheckPeriod?:number //对账周期
  settleMethodList?: settleMethodList[]
}
interface settleMethodList{
  value:number
  name:string
}
/** 申请记录*/
export function getPurchaseRecord(params:Params):http.PromisePageResp<PageV0> {
  return request.get(`${PMS_HOST}/erp/part/purchase/apply/record`, {params});
}
/** 获取配件信息*/
export function getPurchasePart(params:partParams):http.PromisePageResp<partItem> {
  return request.get(`${PMS_HOST}/erp/part/purchase/list`, {params});
}
/** 提交申请*/
export function purchaseApply(params: ApplyParams) {
  return request.post(`${PMS_HOST}/erp/part/purchase/apply`, {...params});
}
/** 获取支付方式列表*/
export function getrelationlist(params: relationParams): http.PromiseResp<RelationList[]> {
  return request.get(`${FINANCE2_HOST}/trade/company//relation/listRelationByTradeCompany`, {params});
}
/** 查看流程进度*/
export function getPurchaseProcess(params: { purchaseId: number }) {
  return request.get(`${PMS_HOST}/erp/part/purchase/process`, {params});
}
/** 付款申请*/
export function purchasePayApply(params: PayApplyParams) {
  return request.post(`${PMS_HOST}/erp/part/purchase/pay/apply`, { ...params }, { contentType: "form-urlencoded" });
}
/** 付款申请进度*/
export function purchasePayApplyProcess(params: { purchaseId: number }) {
  return request.get(`${PMS_HOST}/erp/part/purchase/pay/apply/process`, {params });
}
/** 撤销申请*/
export function canaelPurchaseApply(params: { purchaseId: number}) {
  return request.post(`${PMS_HOST}/erp/part/purchase/cancel`, { ...params }, { contentType: "form-urlencoded" });
}
/** 查询配件采购详情*/
export function getPurchasePartDetail(params: { purchaseId?: number }): http.PromiseResp<purchaseDetail> {
  return request.get(`${PMS_HOST}/erp/part/purchase/detail/list`, {params});
}
/** 重新编辑获取详情信息*/
export function getEditApi(params: { purchaseId?: number }) {
  return request.get(`${PMS_HOST}/erp/part/purchase/get/data`, {params});
}