/**
-
封装公共的submit方法(适配场景中)
-
Tong
*/
export const handleSubmit = (
form: any,
record: any,
onCallback: any,
setVisibleModal: any,
saveModel: any,
dateFields?: string[], // 添加日期字段名数组参数
labelInValueFields?: string[], // 添加 labelInValue 字段名数组参数
multipleFields?: string[], // 添加多选字段名数组参数
) => {
form.validateFields().then((formParams: any) => {
let formattedParams = { ...formParams };
// 处理日期类型字段
if (dateFields && Array.isArray(dateFields)) {
formattedParams = convertStringsToDates(formattedParams, dateFields)
// dateFields.forEach(field => {
// if (formattedParams[field]) {
// // 假设使用 moment 进行日期格式化,您可以根据实际情况调整
// formattedParams[field] = moment(formattedParams[field]).format('YYYY-MM-DD HH:mm:ss');
// }
// });
}
// 处理 labelInValue 格式字段
if (labelInValueFields && Array.isArray(labelInValueFields)) {
formattedParams = stringFieldsFromRecord(formattedParams, labelInValueFields)
// labelInValueFields.forEach(field => {
// if (formattedParams[field] && Object.prototype.toString.call(formattedParams[field]) === "[object Object]") {
// formattedParams[field] = JSON.stringify(formattedParams[field]);
// }
// });
}
// 处理多选字段
if (multipleFields && Array.isArray(multipleFields)) {
formattedParams = multipleFieldsFromRecords(formattedParams, multipleFields)
// multipleFields.forEach(field => {
// if (formattedParams[field] && Array.isArray(formattedParams[field])) {
// // 如果是多选字段且值为数组,则转换为逗号分隔的字符串
// formattedParams[field] = formattedParams[field].join(',');
// }
// });
}
const params = {
...formattedParams,
id: record?.id,
};
saveModel(params).then((res: any) => {
if (res && res.status === 0) {
setVisibleModal(false)
message.success('操作成功');
form.resetFields();
if(onCallback) onCallback();
} else {
message.error(res.message || '操作失败');
}
});
});
};