审批问题

我想实现当批量点击审核通过时,退回原因控件置为不可用,当点击退回时,退回原因文本控件中必须有值,不然审核结果的状态不改变,并且弹出提示框“请填写原因”,下面是我做的,请求帮忙修改一下!

审核测试.cpt

EBW)CV$FO]CV32O4HEV4`RP.png

FineReport yzm231847 发布于 2021-9-15 10:24 (编辑于 2021-9-15 10:51)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
1
ColdmanLv6高级互助
发布于2021-9-15 10:27(编辑于 2021-9-16 10:26)

var boxes = _g().getWidgetsByName("box");

//获取当前页的复选按钮控件数组

var value = 2;

//获取当前控件值

if (typeof(boxes[0]) != "undefined") {

for (i = 0; i < boxes.length; i++) {

if (boxes[i].getValue() == true) {

var ro = FR.cellStr2ColumnRow(boxes[i].options.location).row;

//获取行号

var col = 7;

//获取列号

//如果控件大于1个,则遍历修改选中行当前列的值

var v1 = _g().getWidgetByCell(FR.columnRow2CellStr({col:8, row:ro})).getValue();

if (v1.length == 0) {

alert("请填写原因");

} else {

_g().setCellValue(0, col, ro, value);

}

}

}

} else {

if (boxes.getValue() == true) {

var row = FR.cellStr2ColumnRow(boxes.options.location).row;

//获取行号

var col = 7;

//获取列号

_g().setCellValue(0, col, ro, value);

//如果控件只有1个,则直接判断是否选中,选中的话修改当前列的值

}

}

image.png

JS控制单元格控件是否可用/可见- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

设置退回原因控件不可用的参考这个自己改一下

  • yzm231847 yzm231847(提问者) 全部采纳完毕
    2021-09-15 10:43 
  • yzm231847 yzm231847(提问者) 求大神帮解决!
    2021-09-15 10:57 
  • Coldman Coldman 回复 yzm231847(提问者) 退回的JS这么改
    2021-09-15 10:57 
  • yzm231847 yzm231847(提问者) 回复 Coldman 还有个小bug,当选择退回时,如果先选中单选框再填写原因,点击退回时第一次会提示“请填写原因”,再点一次才成功,请问怎么修改一下呢。
    2021-09-16 09:30 
  • Coldman Coldman 回复 yzm231847(提问者) 看新回复,复制上去看一下,原因应该是先选了复选框再填原因,如果没有点击一下其他地方直接填完点退回,此时控件值应该是还没有赋值到单元格上,所以此时取的单元格值为空,修改为根据行列号取控件值就没问题了
    2021-09-16 10:27 
  • 2关注人数
  • 492浏览人数
  • 最后回答于:2021-9-16 10:26
    请选择关闭问题的原因
    确定 取消
    返回顶部