1.1.32 对人民币汇率必填,与合同结算币种关联校验。

dev
yinq 1 month ago
parent 4b832b7d18
commit abe0c8c2e5

@ -191,7 +191,7 @@
controls-position="right" controls-position="right"
placeholder="请输入对人民币汇率" placeholder="请输入对人民币汇率"
style="width: 100%" style="width: 100%"
:disabled="isFormDisabled || form.contractTerritorialFlag === '1'" :disabled="isFormDisabled || form.settlementCurrency === 'CNY'"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -889,6 +889,7 @@ type ProjectInfoFormEx = ProjectInfoForm & {
finalCustomerId?: string | number; finalCustomerId?: string | number;
effectiveCustomerOrderFlag?: string; effectiveCustomerOrderFlag?: string;
contractTerritorialFlag?: string; contractTerritorialFlag?: string;
settlementCurrency?: string;
rmbExchangeRate?: number; rmbExchangeRate?: number;
planStageList?: ErpProjectPlanStageForm[]; planStageList?: ErpProjectPlanStageForm[];
projectContractsList?: any[]; projectContractsList?: any[];
@ -920,6 +921,7 @@ const initFormData: ProjectInfoFormEx = {
customerContractCode: undefined, customerContractCode: undefined,
finalCustomerId: undefined, finalCustomerId: undefined,
contractTerritorialFlag: undefined, contractTerritorialFlag: undefined,
settlementCurrency: undefined,
rmbExchangeRate: undefined, rmbExchangeRate: undefined,
remark: undefined, remark: undefined,
ossId: undefined, ossId: undefined,
@ -938,18 +940,7 @@ const data = reactive<{ form: ProjectInfoFormEx; rules: any }>({
projectCategory: [{ required: true, message: '订单类别不能为空', trigger: 'change' }], projectCategory: [{ required: true, message: '订单类别不能为空', trigger: 'change' }],
orderType: [{ required: true, message: '订单类型不能为空', trigger: 'change' }], orderType: [{ required: true, message: '订单类型不能为空', trigger: 'change' }],
customerContractCode: [{ required: true, message: '客户合同编号不能为空', trigger: 'blur' }], customerContractCode: [{ required: true, message: '客户合同编号不能为空', trigger: 'blur' }],
rmbExchangeRate: [ rmbExchangeRate: [{ required: true, message: '对人民币汇率不能为空', trigger: 'blur' }],
{
validator: (_rule: any, value: any, callback: (err?: Error) => void) => {
if (form.value.contractTerritorialFlag === '2' && (value === undefined || value === null || value === '')) {
callback(new Error('合同属地标识为“其他”时,对人民币汇率不能为空'));
return;
}
callback();
},
trigger: 'blur'
}
],
peopleId: [{ required: true, message: '抄送人员不能为空', trigger: 'change' }], peopleId: [{ required: true, message: '抄送人员不能为空', trigger: 'change' }],
ossId: [{ required: true, message: '请上传终版合同', trigger: 'change' }] ossId: [{ required: true, message: '请上传终版合同', trigger: 'change' }]
} }
@ -1104,10 +1095,11 @@ const getDefaultRepaymentDate = (paymentMethod?: Record<string, any>): string =>
return formatDateToYmd(target); return formatDateToYmd(target);
}; };
/** 回填合同扩展字段:属地标识、对人民币汇率 */ /** 回填合同扩展字段:属地标识、结算币种、对人民币汇率 */
const fillContractExtraFields = (contractData: any) => { const fillContractExtraFields = (contractData: any) => {
form.value.effectiveCustomerOrderFlag = contractData?.effectiveCustomerOrderFlag; form.value.effectiveCustomerOrderFlag = contractData?.effectiveCustomerOrderFlag;
form.value.contractTerritorialFlag = contractData?.contractTerritorialFlag; form.value.contractTerritorialFlag = contractData?.contractTerritorialFlag;
form.value.settlementCurrency = contractData?.settlementCurrency;
form.value.rmbExchangeRate = contractData?.rmbExchangeRate; form.value.rmbExchangeRate = contractData?.rmbExchangeRate;
// //
if (contractData?.effectiveCustomerOrderFlag === '1' && contractData?.ossId) { if (contractData?.effectiveCustomerOrderFlag === '1' && contractData?.ossId) {

Loading…
Cancel
Save