我想在点击按钮后在suitlet处理时在UI上显示一条消息,直到它被处理

问题描述 投票:0回答:1

我已经使用 SL 创建了一个 UI,在其中我收到了很多交易,假设我选择了 10 笔交易并提交了表单,让我明确一下按钮是自定义的批准 JE 或拒绝我已经在 sl 中附加的客户端脚本中为此创建了我的函数,现在我想显示任何类型的消息,该消息将指示单击批准或拒绝按钮后正在处理记录,直到记录处理完毕,以便用户可以理解并等待记录已处理。

我是这种方法的新手,我需要建议才能使事情正常工作。

netsuite
1个回答
0
投票

您可以执行以下操作,而不是直接发布到您的 Suitelet:

  • 为每个可选交易添加一些独特的 html。您需要能够使用普通的 DOM 方法来操作它。
  • 在处理 get 请求的 Suitelet 代码中检查“action”参数。如果该参数存在,则将请求视为客户端调用并返回 JSON。
  • 不要使用表单上的提交按钮,而是使用调用客户端脚本的常规按钮。
  • 调用客户端脚本将:
    • 收集正在批准的交易的ID
    • 操作 DOM 以显示事务正在进行中
    • 使用https.get.promise方法异步提交审批
    • promise返回时显示审批状态。

您的点击处理程序的核心可能如下所示。 setStatus 函数将取决于您如何布置要批准的交易(例如,可以更新列表类型子列表上的文本列):

setStatus(transactionId, 'submitting');

var actionURL = url.resolveScript({
    scriptId: 'customscript_approve_tran_sl', // your suitelet's script and deployment ids
    deploymentId: 'customdeploy_approve_tran_sl',
    params: {
        action:'approve',
        custparam_id: transactionid
    }
});

http.get.promise({url:actionURL}).then(resp=>{
    const data = JSON.parse(resp.body);
    if(data.succes){
        setStatus(transactionId, 'Approved');

    }else{
        setStatus(transactionId, data.message || 'Not Approved');
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.