该段代码弹出两个弹框的原因是在点击计算按钮时,首先会执行第一个弹框的代码,然后再执行第二个弹框的代码。

要解决这个问题,可以将第一个弹框的代码移动到第二个弹框的条件判断语句内部,这样只有在第二个条件判断不满足的情况下才会弹出第一个弹框。修改后的代码如下:

form.on('submit(costButton)', function (data) {
    if (table.cache.costEstimatesMFNRate.length === 0
        || table.cache.costEstimatesOptimalRate.length === 0) {
        layer.open({
            title: '温馨提示',
            type: 1,
            area: ['35%', '40%'], //宽高
            content: '            <div>\n'
                + '                <div style="display: flex;justify-content: center;align-items: center;padding: 50px">\n'
                + '                    <div>\n'
                + '                        <img src="/images/intelligentInquiry/100.png" alt="">\n'
                + '                    </div>\n'
                + '                    <div style="font-size: 18px;color: #ff761b;padding: 20px">请先完成最优税率测算<br>再来预估成本哦~</div>\n'
                + '                </div>\n'
                + '                <div style="display: flex;justify-content: center;align-items: center;">\n'
                + '                    <a href="javascript:toTaxCalculator()">\n'
                + '                        <div class="calculate-btn">最优税费测算</div>\n'
                + '                    </a>\n'
                + '                </div>\n'
                + '            </div>',
            success: function(layero, index){
                if (checkedData === '') {
                    layer.msg("请选择一般贸易税率后点击查询");
                    layer.close(index);
                    return;
                }
            }
        });
        return;
    }
    if (checkedData === '') {
        layer.msg("请选择一般贸易税率后点击查询");
        return;
    }
});

这样修改后,只有在第一个弹框的条件判断不满足的情况下才会继续执行后续代码,否则会直接关闭第一个弹框

button type=button lay-submit= lay-filter=costButton id=costButton class=layui-btn calculate-button style=计算 buttonformonsubmitcos

原文地址: https://www.cveoy.top/t/topic/iEac 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录