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

dev
yinq 5 days ago
parent 0003abe10f
commit 0421dd3443

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

Loading…
Cancel
Save