From fd5569a5a7be5d4f02ee8e5208219ec7149a3047 Mon Sep 17 00:00:00 2001 From: lh Date: Wed, 3 Dec 2025 15:45:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=91=A8=E6=8A=A5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=EF=BC=8C=E9=A1=B9=E7=9B=AE=E5=91=A8=E6=8A=A5=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/oa/erp/projectReport/types.ts | 5 + src/api/oa/erp/projectReportDetail/index.ts | 19 +- src/api/oa/erp/projectReportDetail/types.ts | 33 +- src/views/oa/erp/contractInfo/edit.vue | 23 +- src/views/oa/erp/projectReport/edit.vue | 996 +++++++++++--------- src/views/oa/erp/projectReport/index.vue | 143 ++- 6 files changed, 657 insertions(+), 562 deletions(-) diff --git a/src/api/oa/erp/projectReport/types.ts b/src/api/oa/erp/projectReport/types.ts index bc153e2..9f10faf 100644 --- a/src/api/oa/erp/projectReport/types.ts +++ b/src/api/oa/erp/projectReport/types.ts @@ -67,6 +67,7 @@ export interface ProjectReportVO extends extraInfo { /** * 项目编码 */ + projectCode?: string; } export interface ProjectReportForm extends BaseEntity, extraInfo { @@ -142,6 +143,10 @@ export interface ProjectReportForm extends BaseEntity, extraInfo { } export interface ProjectReportQuery extends PageQuery, extraInfo { + /** + * 项目周报ID + */ + reportId: string | number; /** * 项目ID */ diff --git a/src/api/oa/erp/projectReportDetail/index.ts b/src/api/oa/erp/projectReportDetail/index.ts index 71d5d4e..d25ac1a 100644 --- a/src/api/oa/erp/projectReportDetail/index.ts +++ b/src/api/oa/erp/projectReportDetail/index.ts @@ -1,6 +1,11 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -import { ProjectReportDetailVO, ProjectReportDetailForm, ProjectReportDetailQuery } from '@/api/oa/erp/projectReportDetail/types'; +import { + ProjectReportDetailVO, + ProjectReportDetailForm, + ProjectReportDetailQuery, + ProjectReportAndDetailWrapper +} from '@/api/oa/erp/projectReportDetail/types'; /** * 查询项目周报明细列表 @@ -74,3 +79,15 @@ export function getErpProjectReportDetailList(query) { params: query }); } + +/** + * 提交项目周报信息并发起流程 + * @param data + */ +export const projectReportSubmitAndFlowStart = (data: ProjectReportAndDetailWrapper): AxiosPromise => { + return request({ + url: '/oa/erp/projectReportDetail/projectReportSubmitAndFlowStart', + method: 'post', + data: data + }); +}; diff --git a/src/api/oa/erp/projectReportDetail/types.ts b/src/api/oa/erp/projectReportDetail/types.ts index e7e908d..6676748 100644 --- a/src/api/oa/erp/projectReportDetail/types.ts +++ b/src/api/oa/erp/projectReportDetail/types.ts @@ -1,4 +1,5 @@ -export interface ProjectReportDetailVO { +import { ProjectReportVO, ProjectReportForm, ProjectReportQuery } from '@/api/oa/erp/projectReport/types'; +export interface ProjectReportDetailVO extends extraInfo { /** * 项目周报明细ID */ @@ -105,7 +106,7 @@ export interface ProjectReportDetailVO { activeFlag: string; } -export interface ProjectReportDetailForm extends BaseEntity { +export interface ProjectReportDetailForm extends BaseEntity, extraInfo { /** * 项目周报明细ID */ @@ -212,7 +213,7 @@ export interface ProjectReportDetailForm extends BaseEntity { activeFlag?: string; } -export interface ProjectReportDetailQuery extends PageQuery { +export interface ProjectReportDetailQuery extends PageQuery, extraInfo { /** * 项目周报ID */ @@ -313,3 +314,29 @@ export interface ProjectReportDetailQuery extends PageQuery { */ params?: any; } + +export interface extraInfo { + deptName?: string; + + managerName?: string; + + chargeName?: string; + + deputyName?: string; +} + +// 扩展的项目周报明细表单类型(包含流程相关字段) +export type ProjectReportDetailFormEx = ProjectReportDetailForm & { + flowCode?: string; + variables?: Record; + bizExt?: Record; + flowStatus?: string; + projectReportStatus?: string; + file?: any; +}; + +// 项目周报和明细包装类类型 +export type ProjectReportAndDetailWrapper = { + projectReport: ProjectReportForm; + projectDetailReport: ProjectReportDetailFormEx; +}; diff --git a/src/views/oa/erp/contractInfo/edit.vue b/src/views/oa/erp/contractInfo/edit.vue index 3e73655..1f88f46 100644 --- a/src/views/oa/erp/contractInfo/edit.vue +++ b/src/views/oa/erp/contractInfo/edit.vue @@ -17,7 +17,14 @@ /> - + @@ -169,7 +176,9 @@
- 新增物料 + 新增物料 +
@@ -436,14 +445,14 @@ const contractMaterialList = computed(() => { /** 查询打印模板下拉框结构 */ const printTemplateList = ref([]); const getPrintTemplateListSelect = async () => { - let res = await getBasePrintTemplateList(null); + const res = await getBasePrintTemplateList(null); printTemplateList.value = res.data; }; /** 查询单位信息下拉框结构 */ const unitInfoList = ref([]); const getUnitInfoListSelect = async () => { - let res = await getBaseUnitInfoList(null); + const res = await getBaseUnitInfoList(null); unitInfoList.value = res.data; }; @@ -451,14 +460,14 @@ const getUnitInfoListSelect = async () => { const deptInfoList = ref([]); const getDeptInfoListSelect = async () => { const params = { deptCategory: '03' } as any; - let res = await allListDept(params); + const res = await allListDept(params); deptInfoList.value = res.data; }; /** 查询客户信息下拉框结构 */ const customerInfoList = ref([]); const getCustomerInfoListSelect = async () => { - let res = await getCrmCustomerInfoList(null); + const res = await getCrmCustomerInfoList(null); customerInfoList.value = res.data; }; @@ -537,7 +546,7 @@ const data = reactive<{ form: ContractInfoFormEx; rules: any }>({ contractFlag: [{ required: true, message: '有无合同不能为空', trigger: 'blur' }], contractCode: [{ required: true, message: '合同编号不能为空', trigger: 'blur' }], contractName: [{ required: true, message: '合同名称不能为空', trigger: 'blur' }], - paymentMethod: [{ required: true, message: '付款方式不能为空', trigger: 'blur' }], + paymentMethod: [{ required: true, message: '付款方式不能为空', trigger: 'blur' }] } }); diff --git a/src/views/oa/erp/projectReport/edit.vue b/src/views/oa/erp/projectReport/edit.vue index 0ae6c11..40c8bc1 100644 --- a/src/views/oa/erp/projectReport/edit.vue +++ b/src/views/oa/erp/projectReport/edit.vue @@ -7,13 +7,13 @@ @approvalVerifyOpen="approvalVerifyOpen" @handleApprovalRecord="handleApprovalRecord" :buttonLoading="buttonLoading" - :id="form.projectId" - :status="form.flowStatus" + :id="projectReportForm.reportDetailId" + :status="projectReportForm.flowStatus" :pageType="routeParams.type" :mode="false" /> - 上传合同附件 + 上传周报附件 - - + + @@ -115,52 +115,48 @@
- + - +
- 新增物料 + 新增周报
- - - - - - - - + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + -
- - - - + - - - - {{ dict.label }} - + + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - - - - + + - - + + - - + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + @@ -324,12 +354,11 @@ diff --git a/src/views/oa/erp/projectReport/index.vue b/src/views/oa/erp/projectReport/index.vue index 8e6a125..5ed9386 100644 --- a/src/views/oa/erp/projectReport/index.vue +++ b/src/views/oa/erp/projectReport/index.vue @@ -7,12 +7,12 @@ - -