ZBLOG

$.ajax({ method: "POST", url: "../d/detail/keyInfo", data: { custId: custId }, success: function(result) { var jsonRes = JSON.parse(result); for (const item of jsonRes) { if (item.code === 'loan') { ...

要在现有的 JavaScript 代码中实现一个包含标签页 (tabs) 的功能,以展示已结清、停催和诉讼的合同,您需要首先对数据进行分类,然后根据选中的标签来过滤显示的数据。

以下是如何修改现有代码以支持这个功能的一种方式:

  1. 添加 Tabs 的 HTML: 您需要在 HTML 中定义标签页的结构(这部分假设您已经有了)。例如:
   <div>
       <button onclick="showTab('settled')">已结清</button>
       <button onclick="showTab('suspended')">停催</button>
       <button onclick="showTab('litigation')">诉讼</button>
   </div>
   <div id="contractContent"></div>
  1. 增加 JavaScript 代码以处理 Tabs 切换:

在 JavaScript 中,您可以创建一个函数 showTab 来根据选择的标签展示不同的数据。更新 AJAX 请求成功后的逻辑,如下所示:

let contractsData = {
    settled: [],
    suspended: [],
    litigation: []
};

function showTab(tabName) {
    const contractContentDiv = document.getElementById("contractContent");
    contractContentDiv.innerHTML = ''; // 清空当前内容

    let dataToDisplay;
    
    switch (tabName) {
        case 'settled':
            dataToDisplay = contractsData.settled;
            break;
        case 'suspended':
            dataToDisplay = contractsData.suspended;
            break;
        case 'litigation':
            dataToDisplay = contractsData.litigation;
            break;
        default:
            return; // 不处理未知选项
    }

    // 渲染数据到页面
    dataToDisplay.forEach(contract => {
        const contractDiv = document.createElement("div");
        contractDiv.innerText = JSON.stringify(contract); // 替换为实际渲染逻辑
        contractContentDiv.appendChild(contractDiv);
    });
}

$.ajax({
    method: "POST",
    url: "../d/detail/keyInfo",
    data: { custId: custId },
    success: function(result) {
        var jsonRes = JSON.parse(result);

        for (const item of jsonRes) {
            if (item.code === 'loan') {
                for (const loan of item.child) {
                    const child_LoanStatus = loan.child.find(val => val.code === "loanStatus");
                    const child_OverduePeriod = loan.child.find(val => val.code === "overduePeriod");

                    if (child_LoanStatus && child_OverduePeriod) {
                        // 根据贷款状态将合同分类
                        if (child_LoanStatus.value === "settled") {
                            contractsData.settled.push(loan);
                        } else if (child_LoanStatus.value === "suspended") {
                            contractsData.suspended.push(loan);
                        } else if (child_LoanStatus.value === "litigation") {
                            contractsData.litigation.push(loan);
                        }
                    }

                    // ...其他原有逻辑...
                }
            }
        }

        me.keyInfo = jsonRes; 
        me.form.initForm(jsonRes);
        
        // 默认显示已结清 tab 的内容
        showTab('settled');
    }
});

注意事项:

  • 确保合适地初始化和更新 contractsData 对象。
  • 根据实际需求替换数据渲染逻辑。
  • 您可能需要额外处理样式和交互,以确保用户体验良好。
  • 上述代码片段未考虑潜在错误处理,例如网络请求失败等情况,请根据实际情况补充相应的错误处理逻辑。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=7650

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?