根据数据动态跳转功能
Roy
• 发表于:2021-07-31 21:08:25 • 更新于:2021-07-31 21:08:25
400

概述:

很多时候针对数据的不同值(或当前登录用户),需要操作不同的功能,如果要列出所有功能,再人工判断需要点击的功能按钮操作,会显得很繁琐,这时我们可以实现一个功能,在点击同一个按钮的时候,动态运行不同的功能。

 

准备工作:

准备一个数据表,并准备几条不同数据

 http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494657080_%E5%9B%BE%E7%89%871.png

 

实现步骤:

数据类型1功能实现

1、创建功能,并添加“数据-选择-判断数据表”步骤

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494661984_%E5%9B%BE%E7%89%872.png 

 

2、实现功能的其他步骤,为了方便,这里只加一个提示步骤

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494666132_%E5%9B%BE%E7%89%873.png 

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494669686_%E5%9B%BE%E7%89%874.png 

3、再功能最后添加编程步骤,编写以下代码:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494675159_%E5%9B%BE%E7%89%875.png 

 

代码如下:         复制代码

async function runProcess($model = model, $plugin = plugin, $params) {
       //由于是通过跳转运行该功能,需执行以下代码刷新数据
       $model.command("code", {
           code: `function(){
            document.querySelector(".bm-data-table-dataset").__vue__.refresh();
           }`
       });
   }

 

4、获取功能flow

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494680831_%E5%9B%BE%E7%89%876.png 

5、获取选择步骤id

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494687077_%E5%9B%BE%E7%89%877.png 

6、将功能发布,同理实现数据类型2功能。

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494691894_%E5%9B%BE%E7%89%878.png 

 

综合操作功能实现

1、创建功能,并添加“数据-选择-判断数据表”步骤

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494697169_%E5%9B%BE%E7%89%879.png 

2、获取需要判断的属性(字段)id:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494701520_%E5%9B%BE%E7%89%8710.png 

3、添加“编程”步骤,编写以下代码:

代码如下:         复制代码

async function runProcess($model = model, $plugin = plugin, $params) { {
       $model.command("tips", {});//去除本功能提示 {
       let choose = $params.choose;//选择步骤数据,从左侧参数引用 {
    let type = choose["608a187115e32917dd7d048f"];//需要判断的属性(字段) {
       //功能map {
       let programMap = { {
           "类型1": {//数据判断值 {
            flow: "608a1aee15e32917dd7d0490",//功能flow,功能1 {
             field: "608a1af23c1a1017dcc6475e",//功能1选择步骤id {
           }, {
           "类型2": {//数据判断值 {
             flow: "608a1f8015e32917dd7d0b31",//功能flow,功能2 {
            field: "608a1f8015e32917dd7d0b33",//功能2选择步骤id {
           }, {
       } {
       //根据所选数据取得实际功能 {
      let flow = programMap[type].flow; {
    let field = programMap[type].field; {
       //跳转至功能 {
     await $model.command("program", { flow, data: { [field]: choose, } }); {
   }

 

4、保存并发功能。

实现效果:

http://pan.bnocode.com/project/5ebb991f975bfe569224be3e/attachment/20210520/1621494894927_Roy-%E6%A0%B9%E6%8D%AE%E6%95%B0%E6%8D%AE%E5%8A%A8%E6%80%81%E8%B7%B3%E8%BD%AC%E5%8A%9F%E8%83%BD-%E9%85%8D%E5%9B%BE-%E5%8A%9F%E8%83%BD%E5%8A%A8%E6%80%81%E8%B7%B3%E8%BD%AC.gif


本文是否对您有帮助?
有帮助
没帮助
您是否遇到了以下问题?
内容过期或不准确
缺少场景、事例
链接有误
太简单,步骤待完善
其他
提交反馈
如需获取即时帮助,请联系
小助理
微信扫码添加小助理
让你的想法快速变成软件吧~
联系我们
售前咨询电话
020-88520693
意见箱 · 建议反馈
您的宝贵建议,使白码更完美!
白码小助理
加入白码社区,学习更多开发小技巧!
微信扫码添加白码小助理