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

dev
yinq 1 month ago
parent 4b832b7d18
commit abe0c8c2e5

@ -191,7 +191,7 @@
controls-position="right"
placeholder="请输入对人民币汇率"
style="width: 100%"
:disabled="isFormDisabled || form.contractTerritorialFlag === '1'"
:disabled="isFormDisabled || form.settlementCurrency === 'CNY'"
/>
</el-form-item>
</el-col>
@ -889,6 +889,7 @@ type ProjectInfoFormEx = ProjectInfoForm & {
finalCustomerId?: string | number;
effectiveCustomerOrderFlag?: string;
contractTerritorialFlag?: string;
settlementCurrency?: string;
rmbExchangeRate?: number;
planStageList?: ErpProjectPlanStageForm[];
projectContractsList?: any[];
@ -920,6 +921,7 @@ const initFormData: ProjectInfoFormEx = {
customerContractCode: undefined,
finalCustomerId: undefined,
contractTerritorialFlag: undefined,
settlementCurrency: undefined,
rmbExchangeRate: undefined,
remark: undefined,
ossId: undefined,
@ -938,18 +940,7 @@ const data = reactive<{ form: ProjectInfoFormEx; rules: any }>({
projectCategory: [{ required: true, message: '订单类别不能为空', trigger: 'change' }],
orderType: [{ required: true, message: '订单类型不能为空', trigger: 'change' }],
customerContractCode: [{ required: true, message: '客户合同编号不能为空', trigger: 'blur' }],
rmbExchangeRate: [
{
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'
}
],
rmbExchangeRate: [{ required: true, message: '对人民币汇率不能为空', trigger: 'blur' }],
peopleId: [{ 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);
};
/** 回填合同扩展字段:属地标识、对人民币汇率 */
/** 回填合同扩展字段:属地标识、结算币种、对人民币汇率 */
const fillContractExtraFields = (contractData: any) => {
form.value.effectiveCustomerOrderFlag = contractData?.effectiveCustomerOrderFlag;
form.value.contractTerritorialFlag = contractData?.contractTerritorialFlag;
form.value.settlementCurrency = contractData?.settlementCurrency;
form.value.rmbExchangeRate = contractData?.rmbExchangeRate;
//
if (contractData?.effectiveCustomerOrderFlag === '1' && contractData?.ossId) {

Loading…
Cancel
Save