0

我创建了一个 qbo3 自定义仪表板,其中包含:

  • Loan Search顶部的面板,以及
  • Task Search贷款下方的面板

当用户单击顶部面板中的贷款时,她应该会在底部面板中看到与贷款相关的任务。

但是,Loan Search贷款的标准面板超链接导航到该Loan Summary页面。

我是否需要为Loan Search面板创建自定义 UI 组件?

4

1 回答 1

0

自定义仪表板可以利用标准Loan Search面板并使用以下代码段拦截贷款超链接上的点击事件:

document.id('Loans').addEvent('click:relay(a)', function(e, t) {
  e.preventDefault();
  let p = t.href.substring(t.href.indexOf('?')+1).parseQueryString();
  qbo3.getObject('Tasks').refresh({
    'Object': 'Loan',
    'ObjectID': p.ID
  });
})

完整版:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:import href="Theme.xslt"/>
    <xsl:output method="html" indent="yes" doctype-system="html"/>
    <xsl:template match="/">
        <html>
            <head>
                <xsl:call-template name="Head"/>
            </head>
            <body>
                <xsl:call-template name="MainMenu">
                    <xsl:with-param name="Object">Loan</xsl:with-param>
                </xsl:call-template>
                <div class="container-fluid">
                    <div class="row-fluid">
                        <div class="span12">
                            <div class="tab-content">
                                <div id="Loans" class="tab-pane" data-behavior="ObjectBind"
                                   data-objectbind-options="{{'class': 'qbo3.LoanObject', 'method': 'Search', 'render': false, 'listen': ['search'] }}"
                                >
                                    <p>...</p>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="row-fluid">
                        <div class="span12">
                            <div class="tab-content">
                                <div id="Tasks" class="tab-pane" data-behavior="ObjectBind"
                                  data-objectbind-options="{{'class': 'qbo3.ImportFormObject', 'method': 'Search', 'render': false }}"
                                >
                                    <p>...</p>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <script type="text/javascript">
document.id('Loans').addEvent('click:relay(a)', function(e, t) {
  e.preventDefault();
  let p = t.href.substring(t.href.indexOf('?')+1).parseQueryString();
  qbo3.getObject('Tasks').refresh({
    'Object': 'Loan',
    'ObjectID': p.ID
  });
})
                </script>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
于 2021-09-09T13:29:36.053 回答