// 获取传入的参数var role = '${role}'; // 用户角色var sysmonth = '${sysmonth}'; // 系统月份(如 '2025-07')var month_id = '${month_id}'; // 报表页面的月份(如 '2025-07')//alert(role);//alert(sysmonth);//alert(month_id);FR.Msg.prompt("提示:是否确认退回", "请填写退回说明", "", function(promptResult) { // 检查用户是否点击了确认(不是取消) if (!promptResult) return; // 获取输入的意见值 var opinion = arguments && arguments.toString(); // 将意见值赋给B2单元格 _g().setCellValue(0, 0,0, opinion); var boxes = _g().getWidgetsByName("box"); // 复选框控件名 var selectedCount = 0; var canSubmit = true; // 1. 检查是否有勾选 for (let i = 0; i < boxes.length; i++) { if (boxes.getValue()) { selectedCount++; } } if (selectedCount === 0) { FR.Msg.alert("提示", "未选择需要退回的组织"); return; } // 2. 遍历所有选中项,进行校验 for (let i = 0; i < boxes.length; i++) { if (boxes.getValue()) { var row = FR.cellStr2ColumnRow(boxes.options.location).row; var fValue = _g().getCellValue(0, 5, row); // F列:状态值 // 校验1:F列必须为1(已上报) if (fValue !== 1) { canSubmit = false; FR.Msg.alert("提示", "只有已上报状态才能退回"); break; } // 校验2:如果角色是“二级组织”,必须 sysmonth == month_id if (role === "二级") { if (sysmonth !== month_id) { canSubmit = false; FR.Msg.alert("提示", "二级组织仅可退回当月数据"); break; } } // 校验2:如果角色是“二级组织”,必须 sysmonth == month_id if (role === "一级") { canSubmit = false; FR.Msg.alert("提示", "末级组织不可退回"); break; } // 所有校验通过,更新F列为2(退回状态) _g().setCellValue(0, 5, row, 2); // 建议写成数字 2 } } // 3. 最终提交 if (canSubmit) { window.submit_flag = 1; _g('${sessionID}').verifyAndWriteReport(); }});