You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Suite CRM中使用jQuery根据合同起始日期和月数自动计算到期日?

在Suite CRM中用jQuery自动计算合同到期日

嘿,这个需求我之前帮人处理过,其实实现起来不难,咱们一步步来:

首先,你得先确认三个字段的实际ID——Suite CRM里的字段(尤其是自定义字段)ID通常是字段名_c的格式,比如你的合同起始日期如果是自定义字段,ID可能是#start_date_c,月数是#months_c,到期日是#end_date_c。你可以打开表单页面,右键点击字段选择「检查元素」,在浏览器控制台里找到对应的ID。

接下来,咱们写jQuery代码来实现自动计算:

$(document).ready(function() {
    // 监听起始日期和月数字段的变化,同时支持选择日期和手动输入
    $('#start_date_c, #months_c').on('change keyup', function() {
        // 获取输入值
        const startDateStr = $('#start_date_c').val();
        const monthsToAdd = parseInt($('#months_c').val());

        // 验证输入是否有效:日期为空、月数不是正整数时清空到期日
        if (!startDateStr || isNaN(monthsToAdd) || monthsToAdd <= 0) {
            $('#end_date_c').val('');
            return;
        }

        // 解析起始日期:Suite CRM默认是DD/MM/YYYY格式,要拆分处理
        const [day, month, year] = startDateStr.split('/');
        // JS的Date月份是0-based(0=1月),所以要减1
        const startDate = new Date(year, month - 1, day);

        // 计算到期日:直接给月份加指定数量
        const endDate = new Date(startDate);
        endDate.setMonth(endDate.getMonth() + monthsToAdd);

        // 把计算后的日期格式化为DD/MM/YYYY,补零保证两位数字
        const formattedDay = String(endDate.getDate()).padStart(2, '0');
        const formattedMonth = String(endDate.getMonth() + 1).padStart(2, '0');
        const formattedYear = endDate.getFullYear();

        // 设置到期日字段的值
        $('#end_date_c').val(`${formattedDay}/${formattedMonth}/${formattedYear}`);
    });
});

几个关键细节要留意:

  • 日期格式适配:Suite CRM默认用DD/MM/YYYY,所以解析时必须按日、月、年的顺序拆分,不能用浏览器默认的解析逻辑。
  • 月份的特殊处理:JavaScript的Date对象月份是从0开始计数的,所以解析和设置月份时要记得加/减1,不然会出现月份偏移的问题。
  • 边界情况防护:如果用户没选日期、月数输入非数字或者负数,直接清空到期日,避免出现错误的计算结果。
  • 事件覆盖:同时监听change(选择日期时触发)和keyup(手动输入月数时触发),确保所有操作场景都能触发计算。

最后,把这段代码放到Suite CRM的自定义脚本里就行:你可以通过Studio进入对应模块的编辑页面,找到「自定义JavaScript」选项粘贴代码;或者直接把代码放到custom/modules/[你的模块名]/js/custom.js文件里,修复文件权限后重建系统缓存就生效了。

内容的提问来源于stack exchange,提问作者Sneha Ashtekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:58:32