|
@@ -357,16 +357,31 @@ const editEvent = async (row: RowVO) => {
|
|
|
dayFormVisible.value = true;
|
|
|
};
|
|
|
|
|
|
+const validateNumericFields = (fields: Record<string, any>): boolean => {
|
|
|
+ const numericFields = ['sales', 'total_sales_current_monthly', 'ad_sales', 'ad_cost', 'impression', 'ad_click', 'ad_order', 'money_by_amazon', 'money_by_other', 'availableSalesDay', 'intransitInventory', 'overseasStorage', 'refundRate'];
|
|
|
+
|
|
|
+ for (const field of numericFields) {
|
|
|
+ if (fields[field] !== null && fields[field] !== undefined && isNaN(Number(fields[field]))) {
|
|
|
+ const column = weekColumns.value.find(col => col.field === field);
|
|
|
+ const title = column ? column.title : field;
|
|
|
+ ElMessage.warning(`${title} 必须为数字`);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+};
|
|
|
+
|
|
|
//创建日数据
|
|
|
async function createDayData() {
|
|
|
- if (
|
|
|
- isNaN(parseFloat(taskDataForm.sales)) ||
|
|
|
- isNaN(parseFloat(taskDataForm.ad_sales)) ||
|
|
|
- isNaN(parseFloat(taskDataForm.ad_cost))
|
|
|
- ) {
|
|
|
- ElMessage.warning('销售额、广告销售额、广告花费必须为数字');
|
|
|
- return; // 停止执行后续操作
|
|
|
- }
|
|
|
+ // if (
|
|
|
+ // isNaN(parseFloat(taskDataForm.sales)) ||
|
|
|
+ // isNaN(parseFloat(taskDataForm.ad_sales)) ||
|
|
|
+ // isNaN(parseFloat(taskDataForm.ad_cost))
|
|
|
+ // ) {
|
|
|
+ // ElMessage.warning('销售额、广告销售额、广告花费必须为数字');
|
|
|
+ // return; // 停止执行后续操作
|
|
|
+ // }
|
|
|
+ if (!validateNumericFields(taskDataForm)) return;
|
|
|
const body = {
|
|
|
sales: taskDataForm.sales,
|
|
|
ad_sales: taskDataForm.ad_sales,
|