ZBLOG

但是逾期content这个里面展示 let vlParentOverdue = new VLayout().setVerticalAlign('top'); for (var i = 0, N = init.child.length; i < N; i++) { var initObject = init.child[i]; var vlOverdue = this.initl...

为了将逾期内容的逻辑整合到“逾期”标签的 content 函数中,你可以直接使用你的代码片段,并在这个函数内部创建并展示 vlParentOverdue。下面是如何进行集成的示例:

  1. else if ('0BJECTS' == init.type) {
  2. let self = new Fieldset(init.useLang ? lang(init.title) : init.title);
  3. let me = this;
  4. if (window.isOuterOperator != null && window.isOuterOperator != undefined && window.isOuterOperator == true) {
  5. if (init.code === 'loan') {
  6. config.layout.addMember(self);
  7. }
  8. }
  9. // 创建 outerBox 和 tabsContainer
  10. if (!document.getElementById('outerBox')) {
  11. const outerBox = document.createElement('div');
  12. outerBox.id = 'outerBox';
  13. Object.assign(outerBox.style, {
  14. border: '2px solid #000',
  15. padding: '19px',
  16. borderRadius: '5px',
  17. width: '300px'
  18. });
  19. const tabsContainer = document.createElement('div');
  20. Object.assign(tabsContainer.style, {
  21. display: 'flex',
  22. marginBottom: '19px'
  23. });
  24. const contentContainer = document.createElement('div');
  25. Object.assign(contentContainer.style, {
  26. border: '1px solid #000',
  27. padding: '19px'
  28. });
  29. const switchTab = (tab, content) => {
  30. tabsContainer.querySelectorAll('.tab').forEach(t => t.classList.remove('active-tab'));
  31. tab.classList.add('active-tab');
  32. contentContainer.innerHTML = ''; // 清空内容容器
  33. // 处理切换时的具体内容显示
  34. if (typeof content === "function") {
  35. content(); // 如果是函数则调用
  36. } else {
  37. contentContainer.textContent = content;
  38. }
  39. };
  40. const tabs = [
  41. { name: '逾期', content: () => {
  42. let vlParentOverdue = new VLayout().setVerticalAlign('top');
  43. for (var i = 0, N = init.child.length; i < N; i++) {
  44. var initObject = init.child[i];
  45. var vlOverdue = this.initlayout(initObject.child, initObject.path, editable);
  46. vlOverdue.setCSSProperty("paddingBottom", "5px");
  47. if (N > 0 && i >= 1) {
  48. vlOverdue.setCSSProperty("borderTop", "2px solid #E3E3E3");
  49. vlOverdue.setCSSProperty("paddingTop", "10px");
  50. }
  51. if (initObject.type === 'OBJECTS_OUT_COLLECTION') {
  52. me.customerOutCollection.layout.addMember(vlOverdue);
  53. me.customerOutCollection.count++;
  54. } else {
  55. vlParentOverdue.addMember(vlOverdue);
  56. }
  57. }
  58. // 将 overdue layout 添加到内容容器中
  59. contentContainer.appendChild(vlParentOverdue.getDom());
  60. }},
  61. { name: '未逾期', content: () => {/* 未逾期的处理逻辑 */} }
  62. ];
  63. tabs.forEach(({ name, content }) => {
  64. const tab = document.createElement('div');
  65. tab.textContent = name;
  66. tab.classList.add('tab');
  67. tab.addEventListener('click', () => switchTab(tab, content));
  68. tabsContainer.appendChild(tab);
  69. });
  70. switchTab(tabs[0].content); // 默认选中第一个标签页
  71. outerBox.appendChild(tabsContainer);
  72. outerBox.appendChild(contentContainer);
  73. const style = document.createElement('style');
  74. style.innerHTML = `
  75. .tab {
  76. padding: 10px;
  77. cursor: pointer;
  78. border: 1px solid #000;
  79. margin-right: 5px;
  80. color: #000;
  81. background-color: #fff;
  82. }
  83. .active-tab {
  84. background-color: #000;
  85. color: #fff;
  86. }`;
  87. document.head.appendChild(style);
  88. }
  89. }

修改说明:

  1. 整合 vlParentOverdue 的创建和填充逻辑:将你提供的代码直接放入了“逾期”标签的 content 函数内。
  2. 使用 switchTab 函数来动态切换标签:在点击不同的标签时会调用相应的 content 函数,从而展示各自对应的内容。
  3. 确保所有相关样式和结构都在正确的位置:这样可以保证界面的样式保持一致。

这样,点击“逾期”标签时,就会执行相应逻辑并展示数据,而不会影响其他部分。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?