前端通用submit方法

/**

  • 封装公共的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 (formattedParamsfield) {

    // // 假设使用 moment 进行日期格式化,您可以根据实际情况调整

    // formattedParamsfield = moment(formattedParamsfield).format('YYYY-MM-DD HH:mm:ss');

    // }

    // });

    }

    // 处理 labelInValue 格式字段

    if (labelInValueFields && Array.isArray(labelInValueFields)) {

    formattedParams = stringFieldsFromRecord(formattedParams, labelInValueFields)

    // labelInValueFields.forEach(field => {

    // if (formattedParamsfield && Object.prototype.toString.call(formattedParamsfield) === "object Object") {

    // formattedParamsfield = JSON.stringify(formattedParamsfield);

    // }

    // });

    }

    // 处理多选字段

    if (multipleFields && Array.isArray(multipleFields)) {

    formattedParams = multipleFieldsFromRecords(formattedParams, multipleFields)

    // multipleFields.forEach(field => {

    // if (formattedParamsfield && Array.isArray(formattedParamsfield)) {

    // // 如果是多选字段且值为数组,则转换为逗号分隔的字符串

    // formattedParamsfield = formattedParamsfield.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 || '操作失败');

    }

    });

    });

    };

相关推荐
坊钰几秒前
【LangGraph框架入门级】12. 人机交互:interrupt 中断与 Command 恢复
开发语言·数据库·python·人机交互·ai编程·langgraph
开开心心就好3 分钟前
打印机卡住打不了?一键清理卡死打印队列
服务器·开发语言·算法·pdf·ocr·idea·visual studio code
涛涛ing9 分钟前
2026年的前端:你引以为傲的框架,正在被浏览器原生能力“架空”
前端
计算机魔术师11 分钟前
23项AI技术要管了:大模型API还出口得了吗?
前端
David猪大卫11 分钟前
【C++修炼】STL容器—模板进阶:非类型模板参数、模板特化、模板分离编译
c语言·开发语言·c++·经验分享·笔记·学习·面试
凤城老人13 分钟前
ZhyCMS成长日记:一个企业 CMS 从 1.0 到 3.1.3 的折腾史
前端
牛战士coding15 分钟前
Java 对象写入 Redis 后类型变了?Jackson 多态序列化问题复盘
java·开发语言·redis
Chasing__Dreams20 分钟前
python杂识--24--Nuitak打包exe
开发语言·python
yuniko-n26 分钟前
【JUC】读写锁
java·开发语言
niucloud-admin26 分钟前
NIUCLOUD LITE AI开发文档--基础开发规范
开发语言·php