1.0.71 合同付款方式赋值到回款阶段

dev
yinq 5 days ago
parent 0003abe10f
commit 0421dd3443

@ -146,58 +146,58 @@
<!-- 项目阶段计划 -->
<el-card shadow="never" style="margin-top: 0">
<template #header>
<el-row :gutter="10">
<el-col :span="1.5">
<span class="card-title">回款阶段</span>
</el-col>
<el-col :span="1.5" v-if="!isFormDisabled">
<el-button type="primary" icon="Plus" @click="handleAddPlanStage"></el-button>
</el-col>
</el-row>
</template>
<!-- <template #header>-->
<!-- <el-row :gutter="10">-->
<!-- <el-col :span="1.5">-->
<!-- <span class="card-title">回款阶段</span>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5" v-if="!isFormDisabled">-->
<!-- <el-button type="primary" icon="Plus" @click="handleAddPlanStage"></el-button>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </template>-->
<el-table :data="planStageList" border stripe max-height="400">
<el-table-column label="序号" type="index" width="60" align="center" />
<el-table-column label="项目阶段" width="150" align="center">
<template #default="scope">
<el-select v-model="scope.row.projectPhases" placeholder="请选择项目阶段" style="width: 100%" :disabled="isFormDisabled">
<el-option v-for="dict in project_phases" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</template>
</el-table-column>
<el-table-column label="计划开始时间" width="160" align="center">
<template #default="scope">
<el-date-picker
v-model="scope.row.planStartTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="选择日期"
style="width: 100%"
:disabled="isFormDisabled"
/>
</template>
</el-table-column>
<el-table-column label="计划结束时间" width="160" align="center">
<template #default="scope">
<el-date-picker
v-model="scope.row.planEndTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="选择日期"
style="width: 100%"
:disabled="isFormDisabled"
/>
</template>
</el-table-column>
<el-table-column label="回款阶段" width="150" align="center">
<!-- <el-table-column label="项目阶段" width="150" align="center">-->
<!-- <template #default="scope">-->
<!-- <el-select v-model="scope.row.projectPhases" placeholder="请选择项目阶段" style="width: 100%" :disabled="isFormDisabled">-->
<!-- <el-option v-for="dict in project_phases" :key="dict.value" :label="dict.label" :value="dict.value" />-->
<!-- </el-select>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="计划开始时间" width="160" align="center">-->
<!-- <template #default="scope">-->
<!-- <el-date-picker-->
<!-- v-model="scope.row.planStartTime"-->
<!-- type="date"-->
<!-- value-format="YYYY-MM-DD"-->
<!-- placeholder="选择日期"-->
<!-- style="width: 100%"-->
<!-- :disabled="isFormDisabled"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="计划结束时间" width="160" align="center">-->
<!-- <template #default="scope">-->
<!-- <el-date-picker-->
<!-- v-model="scope.row.planEndTime"-->
<!-- type="date"-->
<!-- value-format="YYYY-MM-DD"-->
<!-- placeholder="选择日期"-->
<!-- style="width: 100%"-->
<!-- :disabled="isFormDisabled"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="回款阶段" width="220" align="center">
<template #default="scope">
<el-select v-model="scope.row.collectionStage" placeholder="请选择回款阶段" clearable style="width: 100%" :disabled="isFormDisabled">
<el-option v-for="stage in paymentStageList" :key="stage.paymentStageId" :label="stage.stageName" :value="stage.collectionStage" />
<el-option v-for="stage in paymentStageList" :key="stage.paymentStageId" :label="stage.paymentMethod" :value="stage.paymentStageId" />
</el-select>
</template>
</el-table-column>
<el-table-column label="预计回款比例(%)" width="150" align="center">
<el-table-column label="预计回款比例(%)" width="220" align="center">
<template #default="scope">
<el-input-number
v-model="scope.row.repaymentRate"
@ -222,7 +222,7 @@
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="预计回款时间" width="160" align="center">
<el-table-column label="预计回款时间" width="220" align="center">
<template #default="scope">
<el-date-picker
v-model="scope.row.repaymentTime"
@ -266,11 +266,11 @@
<el-input v-model="scope.row.remark" placeholder="请输入备注" :disabled="isFormDisabled" />
</template>
</el-table-column>
<el-table-column v-if="!isFormDisabled" label="操作" width="80" align="center" fixed="right">
<template #default="scope">
<el-button type="danger" link icon="Delete" @click="handleDeletePlanStage(scope.$index)"></el-button>
</template>
</el-table-column>
<!-- <el-table-column v-if="!isFormDisabled" label="操作" width="80" align="center" fixed="right">-->
<!-- <template #default="scope">-->
<!-- <el-button type="danger" link icon="Delete" @click="handleDeletePlanStage(scope.$index)"></el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</el-card>
@ -285,7 +285,6 @@
import { getErpProjectInfoList, getProjectInfo, listProjectInfo } from '@/api/oa/erp/projectInfo';
import { saveContractOrder, updateContractOrder, submitContractOrderAndFlowStart } from '@/api/oa/erp/contractOrder';
import { ProjectInfoForm } from '@/api/oa/erp/projectInfo/types';
import { getRuleGenerateCode } from '@/api/system/codeRule';
import { startWorkFlow } from '@/api/workflow/task';
import { StartProcessBo } from '@/api/workflow/workflowCommon/types';
import SubmitVerify from '@/components/Process/submitVerify.vue';
@ -300,7 +299,6 @@ import { CodeRuleEnum, FlowCodeEnum, ProjectCategoryEnum } from '@/enums/OAEnum'
import { getErpProjectPlanStageList, listErpProjectPlanStage } from '@/api/oa/erp/erpProjectPlanStage';
import { ErpProjectPlanStageForm, ErpProjectPlanStageQuery } from '@/api/oa/erp/erpProjectPlanStage/types';
import { listContractInfo, getContractInfo } from '@/api/oa/erp/contractInfo';
import { ContractInfoVO, ContractInfoQuery } from '@/api/oa/erp/contractInfo/types';
import { getBasePaymentStageList } from '@/api/oa/base/paymentStage';
import { PaymentStageVO } from '@/api/oa/base/paymentStage/types';
import { getInfo } from '@/api/login';
@ -359,7 +357,10 @@ const paymentStageList = ref<PaymentStageVO[]>([]);
const getPaymentStageList = async () => {
try {
const res = await getBasePaymentStageList({ pageNum: 1, pageSize: 9999 });
paymentStageList.value = res.data || [];
paymentStageList.value = (res.data || []).map((item: any) => ({
...item,
paymentStageId: item.paymentStageId != null ? String(item.paymentStageId) : item.paymentStageId
}));
} catch (error) {
console.error('查询回款阶段列表失败:', error);
paymentStageList.value = [];
@ -583,6 +584,32 @@ const loadContractInfo = async () => {
return String(id.trim());
}) as any;
}
//
const list = (contractData as any).contractPaymentMethodList;
if (list && Array.isArray(list) && list.length > 0) {
planStageList.value = list.map((pm: any, index: number) => {
const stage = paymentStageList.value.find((s: PaymentStageVO) => String(s.paymentStageId) === String(pm.paymentStageId));
return {
planStageId: undefined,
projectId: form.value.projectId,
projectPlanId: undefined,
projectPhases: '',
planStartTime: undefined,
planEndTime: undefined,
collectionStage: stage.paymentStageId,
repaymentRate: pm.paymentPercentage ?? undefined,
repaymentAmount: undefined,
repaymentTime: undefined,
delayDay: undefined,
receivableDate: undefined,
reasonsExplanation: '',
scheduleRemark: '',
sortOrder: pm.sortOrder ?? index + 1,
remark: pm.remark ?? '',
activeFlag: '1'
} as ErpProjectPlanStageForm;
});
}
}
}
} catch (error) {

Loading…
Cancel
Save