xiaoyi
6 天以前 5c243d9d05da668a32b1bc9a4f543ea081488d11
src/api/crm/contract/index.ts
@@ -1,4 +1,4 @@
import type { PageParam, PageResult } from '../../../packages/effects/request/src';
import type { PageParam, PageResult } from '@vben/request';
import type { CrmPermissionApi } from '#/api/crm/permission';
@@ -26,7 +26,10 @@
    totalProductPrice: number;
    discountPercent: number;
    totalPrice: number;
    depositPrice?: number; // 定金金额,单位:元
    totalReceivablePrice: number;
    totalInvoicePrice?: number; // 已开票金额(含审批中),单位:元
    unInvoicePrice?: number; // 未开票金额,单位:元
    signContactId: number;
    signContactName?: string;
    signUserId: number;
@@ -38,19 +41,39 @@
    updateTime?: Date;
    products?: ContractProduct[];
    contactName?: string;
    orderId?: number; // 关联 ERP 销售订单编号
    orderNo?: string; // ERP 销售订单单号
    contractType?: string; // 合同类型(供用电/能源服务等)
    voltageLevel?: string; // 电压等级
    electricityType?: string; // 用电类型
    contractCapacity?: number; // 合同容量(kVA)
    tariffMode?: string; // 电价模式
    meterMode?: string; // 计量方式
    payCycle?: number; // 缴费周期(月)
    commandCount?: number; // 指令数量
  }
  /** 合同产品信息 */
  export interface ContractProduct {
    id: number;
    productId: number;
    productName: string;
    productNo: string;
    productUnit: number;
    productPrice: number;
    itemId: number;
    itemName: string;
    itemCode: string;
    itemBarCode: string;
    itemSpecification?: string;
    itemUnitName: string;
    itemUnitName2?: string;
    itemUnitName3?: string;
    itemPrice: number;
    contractPrice: number;
    count: number;
    totalPrice: number;
  }
  /** 审批流程 */
  export interface ApproveProcess {
    key: string;
    name: string;
  }
}
@@ -113,8 +136,17 @@
}
/** 提交审核 */
export function submitContract(id: number) {
  return requestClient.put(`/crm/contract/submit?id=${id}`);
export function submitContract(id: number, processDefinitionKey: string) {
  return requestClient.put('/crm/contract/submit', null, {
    params: { id, processDefinitionKey },
  });
}
/** 获取合同审批流程列表 */
export function getContractApproveProcessList() {
  return requestClient.get<CrmContractApi.ApproveProcess[]>(
    '/crm/contract/approve-process-list',
  );
}
/** 合同转移 */
@@ -131,3 +163,8 @@
export function getRemindContractCount() {
  return requestClient.get<number>('/crm/contract/remind-count');
}
/** 根据合同生成销售订单 */
export function generateSaleOrder(id: number) {
  return requestClient.post<number>('/crm/contract/generate-sale-order', null, { params: { id } });
}