前端通用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 (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 || ‘操作失败’);
    }
    });
    });
    };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值