批量提交数据

如下图,填报中现在都是这样每一行都有驳回和同意两个按钮,,如果审批人点击了某一行的驳回后,那么设置了回调函数,数据页面会整个刷新,把这一条的审批记录修改掉,如果不刷新,状态是不会变的,那么就要刷新。所有这样有一个体验不好,就是审批人每次只能一条条的去操作,而且操作一条后等刷新了再去审批下一条。。。

image.png



现在如何用JS来批量操作,如果选中了多行后,点击驳回,那么所有选中的数据都批量操作数据库的状态,这个JS有办法吗?




现在如果按楼下老师shiroko提供的链接方式增加一个复选的,然后再提交的对true提交,可是这个不行,因为我驳回与同意是两个按钮,当点击驳回的时候,数据库对应的表有一个字段要修改为:已驳回,如果点击同意的话,数据库对应的字段修改为:已完成

现在这种情况就不知道在增加了复选框后,用户到底是驳回还是同意的了。

FineReport CD20160914 发布于 2020-7-22 17:40 (编辑于 2020-7-23 08:55)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
孤陌Lv6资深互助
发布于2020-7-23 09:02(编辑于 2020-7-23 09:27)

如果是统一修改的时候 都是 一个状态 好弄的 把驳回 和同意 放在表头  然后2个控件 做提交入库  状态写死 这样就可以区分了 

如果要 实现 不同状态 提交   那只能在按钮里的点击事件 写JS   给一个单元格赋值  驳回赋值1 同意赋值2  这样就可以了然后状态字段 就绑定这个单元格就好了   

image.png

这样设计  

  • CD20160914 CD20160914(提问者) 老师,现在就是难点在于如何批量同意或者驳回,目前的按钮只能是单次同意或者驳回,而且驳回或者同意后,整个页面都会刷新。其实体验并不好。
    2020-07-23 09:18 
  • 孤陌 孤陌 回复 CD20160914(提问者) 我已经说了 这个是用复选框控件 的情况下啊 这就是批量解决的啊
    2020-07-23 09:20 
  • 孤陌 孤陌 回复 CD20160914(提问者) 说了 不要在每行都加 驳回和同意 把这2个按钮 放在表头 然后点击事件 设置为提交入库 然后设置提交条件 状态 直接写死 驳回按钮 写1 同意按钮 状态就写2 这样你选中了 勾选的 数据然后 你想点击同意还是驳回 就随便你了
    2020-07-23 09:23 
  • CD20160914 CD20160914(提问者) 回复 孤陌 哦。我先在电脑上测试看一下会不会有什么问题,谢谢
    2020-07-23 09:30 
  • CD20160914 CD20160914(提问者) 谢谢,按你的方式测试可以了。
    2020-07-23 15:28 
最佳回答
0
shirokoLv6资深互助
发布于2020-7-22 17:42(编辑于 2020-7-22 17:59)

你用js去提交的同时,改变当前页面状态不就好了。。就不需要刷新了

----

弄一列复选框,参考https://help.finereport.com/doc-view-533.html

然后填报属性弄提交条件,单元格是true的才提交

  • CD20160914 CD20160914(提问者) 现在没有用js提交,只是内置的回调函数。这样写的:if (fr_submitinfo.success) { FR.Msg.toast(\'当前行提交成功\'); location.reload(); } else { FR.Msg.toast(\'当前行提交失败\'); } 而且关键是要批量提交,就是假如有50个要同意的,那么现在业务只能一条条点击同意。不能批量
    2020-07-22 17:47 
  • CD20160914 CD20160914(提问者) 老师,能不能做一个示例,就是假如我点击了复选框以后,对应E列的值就为1,否则就是空,那么 我最后只要提交E列为1的数据就行了,就是复选框我可能在多行分别点击,那么每一行对应的E列都变成1,这个JS怎么写
    2020-07-22 18:12 
  • 3关注人数
  • 966浏览人数
  • 最后回答于:2020-7-23 09:27
    请选择关闭问题的原因
    确定 取消
    返回顶部