0界面上有一个取消按钮,适用于修改下面的字段值,不知道为啥,勾选数据再点击他提交后,会提示:会话超时 // 获取报表对象 var report = this.options.form || _g(); // 使用帆软内置的获取选中行方法(如果可用) var selectedRows = []; var $tds = $("td[widgetname='box']:has(:checked)"); // 通过jQuery查找被选中的复选框 console.log($tds) $tds.each(function () { var cell = $(this).attr('id'); console.log(cell) var row = cell.split(',')[1]; // 获取行号 console.log("行", row) selectedRows.push(parseInt(row) + 1); // 转换为 1-based 行号 }); // 如果没有选中任何行,尝试原方法 if (selectedRows.length == 0) { for (var i = 2; i <= 50; i++) { try { if (report.getCellValue(0, i - 1) == 1) { selectedRows.push(i); } } catch (e) { break; } } } if (selectedRows.length == 0) { alert("请至少选择一行数据!"); return false; } // 弹框确认是否删除数据 FR.Msg.confirm("提示", "是否确定取消该任务?", function (value) { if (value) { // 点击“确定” // 切换状态 selectedRows.forEach(function (row) { var currentStatus = report.getCellValue(30, row-1); var newStatus = currentStatus == "0" ? "1" : "0"; // 补充三元表达式另一分支,假设原逻辑要切换,可根据实际需求调整 report.setCellValue(30, row-1, newStatus); }); // 提交报表(触发报表内置的提交逻辑,不同帆软版本可能有差异,也可调用对应提交接口) // 若报表有内置提交方法,比如 _g().writeReport() ,可按需调整 report.writeReport(function () { // 提交成功后刷新页面 _g().refreshAllSheets(); }); } }); |