diff --git a/src/api/oa/erp/erpProjectPlan/index.ts b/src/api/oa/erp/erpProjectPlan/index.ts index f89e263..24bfadc 100644 --- a/src/api/oa/erp/erpProjectPlan/index.ts +++ b/src/api/oa/erp/erpProjectPlan/index.ts @@ -1,6 +1,13 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -import { ErpProjectPlanVO, ErpProjectPlanForm, ErpProjectPlanQuery } from '@/api/oa/erp/erpProjectPlan/types'; +import { + ContractCollectionPageVO, + ContractCollectionStageDetailVO, + ErpProjectPlanVO, + ErpProjectPlanForm, + ErpProjectPlanQuery +} from '@/api/oa/erp/erpProjectPlan/types'; +import { ErpProjectPlanStageForm, ErpProjectPlanStageVO } from '@/api/oa/erp/erpProjectPlanStage/types'; /** * 查询项目计划列表 @@ -86,3 +93,45 @@ export const projectPlanSubmitAndFlowStart = (data: ErpProjectPlanForm): AxiosPr data: data }); }; + +/** + * 查询项目计划回款阶段列表 + */ +export const collectionStageList = (projectPlanId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectPlan/collectionStageList/' + projectPlanId, + method: 'get' + }); +}; + +/** + * 项目计划阶段回款确认 + */ +export const confirmCollectionStage = (data: ErpProjectPlanStageForm) => { + return request({ + url: '/oa/erp/erpProjectPlan/confirmCollectionStage', + method: 'post', + data + }); +}; + +/** + * 合同回款页面主列表 + */ +export const contractCollectionPage = (query?: ErpProjectPlanQuery): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectPlan/contractCollectionPage', + method: 'get', + params: query + }); +}; + +/** + * 合同回款页面阶段详情 + */ +export const contractCollectionStageDetail = (projectPlanId: string | number): AxiosPromise => { + return request({ + url: '/oa/erp/erpProjectPlan/contractCollectionStageDetail/' + projectPlanId, + method: 'get' + }); +}; diff --git a/src/api/oa/erp/erpProjectPlan/types.ts b/src/api/oa/erp/erpProjectPlan/types.ts index caf7ede..b267ef3 100644 --- a/src/api/oa/erp/erpProjectPlan/types.ts +++ b/src/api/oa/erp/erpProjectPlan/types.ts @@ -276,6 +276,65 @@ export interface ErpProjectPlanQuery extends PageQuery { */ createName?: string; + /** + * 合同名称(合同回款页查询) + */ + contractName?: string; + + /** + * 合同编号(合同回款页查询) + */ + contractNo?: string; + + /** + * 订单编号(合同回款页查询) + */ + orderNo?: string; + + /** + * 订单名称(合同回款页查询) + */ + orderName?: string; + + /** + * 部门(合同回款页查询) + */ + deptName?: string; + +} + +export interface ContractCollectionPageVO { + projectPlanId: string | number; + projectId: string | number; + contractId: string | number; + orderNo: string; + contractName: string; + orderName: string; + contractNo: string; + businessDirection: string; + orderType: string; + deptName: string; + amount: number; + paymentRate: number; +} + +export interface ContractCollectionStageDetailVO { + paymentMethodId: string | number; + contractId: string | number; + paymentStageId: string | number; + stageName: string; + collectionStage: string; + paymentPercentage: number; + paymentAmount: number; + paymentDeadline: number; + paymentDescription: string; + planStageId: string | number; + receivableDate: string; + actualRepaymentAmount: number; + collectionConfirmUserId: string | number; + collectionConfirmTime: string; + collectionConfirmStatus: string; + collectionConfirmRemark: string; } diff --git a/src/api/oa/erp/erpProjectPlanStage/types.ts b/src/api/oa/erp/erpProjectPlanStage/types.ts index 417526a..00cfb3a 100644 --- a/src/api/oa/erp/erpProjectPlanStage/types.ts +++ b/src/api/oa/erp/erpProjectPlanStage/types.ts @@ -94,6 +94,31 @@ export interface ErpProjectPlanStageVO { */ activeFlag: string; + /** + * 实际回款金额 + */ + actualRepaymentAmount: number; + + /** + * 回款确认人 + */ + collectionConfirmUserId: string | number; + + /** + * 回款确认时间 + */ + collectionConfirmTime: string; + + /** + * 回款确认状态(0未确认 1部分 2已确认) + */ + collectionConfirmStatus: string; + + /** + * 回款确认备注 + */ + collectionConfirmRemark: string; + } export interface ErpProjectPlanStageForm extends BaseEntity { @@ -192,6 +217,31 @@ export interface ErpProjectPlanStageForm extends BaseEntity { */ activeFlag?: string; + /** + * 实际回款金额 + */ + actualRepaymentAmount?: number; + + /** + * 回款确认人 + */ + collectionConfirmUserId?: string | number; + + /** + * 回款确认时间 + */ + collectionConfirmTime?: string; + + /** + * 回款确认状态(0未确认 1部分 2已确认) + */ + collectionConfirmStatus?: string; + + /** + * 回款确认备注 + */ + collectionConfirmRemark?: string; + } export interface ErpProjectPlanStageQuery extends PageQuery { @@ -281,6 +331,31 @@ export interface ErpProjectPlanStageQuery extends PageQuery { */ activeFlag?: string; + /** + * 实际回款金额 + */ + actualRepaymentAmount?: number; + + /** + * 回款确认人 + */ + collectionConfirmUserId?: string | number; + + /** + * 回款确认时间 + */ + collectionConfirmTime?: string; + + /** + * 回款确认状态(0未确认 1部分 2已确认) + */ + collectionConfirmStatus?: string; + + /** + * 回款确认备注 + */ + collectionConfirmRemark?: string; + /** * 日期范围参数 */ diff --git a/src/views/oa/erp/contractCollection/index.vue b/src/views/oa/erp/contractCollection/index.vue new file mode 100644 index 0000000..26ebf7c --- /dev/null +++ b/src/views/oa/erp/contractCollection/index.vue @@ -0,0 +1,247 @@ + + +