diff --git a/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx b/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx index b26aae7..93a3b36 100644 --- a/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx +++ b/src/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd.tsx @@ -276,6 +276,19 @@ const SupplierTemplateManageAdd: React.FC = ({ breadcrumb, dispatch } message.error(intl.formatMessage({ id: 'supplierTemplateManage.message.addIndicator' })); return; } + // 校验每一个一级指标所属的所有二级指标分值是否超过一级指标的分值 + const hasInvalidScore = templateData.some((stItem) => { + const totalScore = stItem.indicatorNdList.reduce( + (acc, ndItem) => acc + parseFloat(ndItem.score || '0'), + 0, + ); + return totalScore > parseFloat(stItem.score || '0'); + }); + + if (hasInvalidScore) { + message.error('一级指标分值不能小于二级指标分值之和'); + return; + } // 显示确认对话框 confirm({ @@ -341,7 +354,7 @@ const SupplierTemplateManageAdd: React.FC = ({ breadcrumb, dispatch } form.setFieldsValue({ indicatorStMore: res.data.indicatorStMore, indicatorTypeMore: res.data.indicatorTypeMore, - }) + }); } } else { message.error( @@ -509,7 +522,7 @@ const SupplierTemplateManageAdd: React.FC = ({ breadcrumb, dispatch } loading={templateList.length === 0} showSearch={true} filterOption={(input, option) => { - return (option?.children ?? '').toLowerCase().includes(input.toLowerCase()) + return (option?.children ?? '').toLowerCase().includes(input.toLowerCase()); }} onSelect={handleTemplateSelect} > @@ -543,44 +556,54 @@ const SupplierTemplateManageAdd: React.FC = ({ breadcrumb, dispatch } - - -