【问题标题】:Alfresco Activiti Workflow: How to show popup dialog (message box) confirm in button?Alfresco Activiti Workflow:如何在按钮中显示弹出对话框(消息框)确认?
【发布时间】:2019-11-13 03:47:39
【问题描述】:

我在工作流模型中定义了自己的结果约束(文件:test-model.xml):

                <constraints>
                    <constraint name="my:myOutcomeOptions" type="LIST">
                        <parameter name="allowedValues">
                            <list>
                                <value>Approve</value>
                                <value>Reject</value>
                            </list>
                        </parameter>
                    </constraint>
                </constraints>

以及自定义序列流到工作流定义(文件:test.bpmn20.xml):

<exclusiveGateway id="exclusiveGateway1"</exclusiveGateway>
<sequenceFlow id="flow3" name="Rejected" sourceRef="exclusiveGateway1" targetRef="Rejected">
    <conditionExpression xsi:type="tFormalExpression"> <![CDATA[${test_a1approvecount < test_a2approvecount}]]> </conditionExpression>
</sequenceFlow>

当我单击“拒绝”按钮显示弹出确认并单击弹出确认(确定和取消)中的按钮后显示更改为仪表板时,我想这样做。 请帮帮我!

提前谢谢!

【问题讨论】:

  • 欢迎来到 SO!所以你向我们展示你的代码......你尝试了什么?有什么研究吗?
  • 嗨,DavidGarcíaBodego,我已经研究过这份文档:blog.arvixe.com/pop-up-form-in-alfresco-share,但我还不明白它是如何工作的。

标签: popup alfresco message activiti confirm


【解决方案1】:

尝试将此代码添加到函数“onClick”中。

  var reviewTaskTransition = document.getElementsByName("prop_my_myOutcomeOptions")[0].value;

  if(reviewTaskTransition == "Approve"){   

       Alfresco.util.submitForm(p_obj.getForm());


   } else if(reviewTaskTransition == "Reject"){    

      Alfresco.util.PopupManager.displayPrompt({
           title: "Rejection Popup",
           text: "confirm?",
           noEscape: true,
           buttons: [{
               text: "Yes",
               handler: function submitRejection() {
                  Alfresco.util.submitForm(p_obj.getForm());
                  this.destroy();
               }
           },

           {
           text: "no",
           handler: function() {
           this.destroy();
           document.location.reload(true);
           },
           isDefault: true
           },

           ]
           });

    }
    else{
       Alfresco.util.submitForm(p_obj.getForm()); 
    } 

【讨论】:

  • 感谢 Gercio_J,我更新了一点: var buttonId = p_obj.get("id");下一行: if(buttonId.inclues("Approve")) { something code} ...!谢谢大家帮助我。
  • 打扰你很尴尬。我不知道在我的项目中将 activiti-transitions.js 文件放在哪里,这样当我构建 AMP 并部署它时,它将位于 tomcat 中的 /components/form/workflow/activiti-transitions.js 中。
【解决方案2】:

这在 alfresco 中实现起来有点困难。还有一件事是你把自己与后端和前端混淆了,你也在混淆其他人。

首先,bpmn 文件是后端的东西,所以无论您在其中进行什么更改,它都不会显示在前端。

根据您的要求,您需要做的是从配置更改中创建工作流。以下是某些示例,您可以在其中找到有关如何自定义表单的详细信息。

https://hub.alfresco.com/t5/ecm-archive/task-done-transition/m-p/125211/thread-id/66680 https://docs.alfresco.com/6.1/references/dev-extension-points-workflow.html

你也可以谷歌;)

【讨论】:

  • 我创建了 2 个新文件:“/org/alfresco/components/form/controls/workflow/activiti-transitions.ftl”(模板弹出窗口)和“/components/form/workflow/activiti-transitions .js”(函数过程)并在“share-config-custom.xml”中添加一个新的包含。但我不知道如何创建“activiti-transitions.ftl”文件内容以显示“Are you sure?”在消息框中并有“确定”和“取消”按钮。请指导我。
  • 你不需要在ftl文件中进行更改。ftl类似于html文件。它是可以呈现弹出窗口的javascript。在侧面的javascript文件中会有提交工作流表单的功能。在那功能你可以检查它是否被拒绝你可以穿上popup.for显示popup你可以使用alfresco的popup manager。
  • 嗨 Krutik Jayswal,我在文件“activiti-transitions.js”中自定义了函数“onClick”。我使用 Alfresco.util.PopupManager 但是当我添加它时没有看到 Alfresco 的变化。当我看到创建了“activiti-transitions.js”文件时,我重新运行了 Alfresco。我在这里找到的“activiti-transitions.js”文件:MyDesktop\alfresco\workflow-tutorial\target\tomcat\webapps\workflow-tutorial-share\components\form\workflow。我是不是做错了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 2011-09-16
  • 2016-10-08
相关资源
最近更新 更多