请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
Kennethq(uid:3010035)
职业资格认证:尚未取得认证
  • 填报上有两个文本控件,分别是设备编码和规格,我使用js已分别完成在他们编辑结束时获取值赋值给任务编码,现在得到的结果是设备编码编辑结束,任务编码的值=设备编码,接着规格编辑结束后,任务编码=规格编码。我希望得到的是 在设备编码和规格都编辑结束后,任务编码=设备编码_规格 的形式var equipValue = this.getValue(); var location = this.options.location;  //获取当前控件的位置 var cr = FR.cellStr2ColumnRow(location); var col = cr.col;  //列号 var ro = cr.row;  //行号 _g().setCellValue(0,col+5,ro,equipValue); console.log('设备编码值:', equipValue); alert(equipValue);var specValue=this.getValue(); console.log('规格:', specValue); var location = this.options.location;  //获取当前控件的位置 var cr = FR.cellStr2ColumnRow(location); var col = cr.col;  //列号 var ro = cr.row;  //行号 _g().setCellValue(0,col-5,ro,specValue); console.log('规格:', specValue); alert(specValue);、我改在哪个地方把他们拼起来?怎么写
  • 写了 js  把设备编码的值赋给任务编码,正常情况下修改设备编码,任务编码也会变,才开始插入或更新还比较正常,但多操作一下,提示框的值就是之前设备编码的值了
  • 在输入了设备编码未提交前,我在设备编码的文本控件-时间-编辑结束后加了js代码,为的是输入设备编码的时候,任务编码会同时生成一样的值,但现在控制台提示赋值成功,界面上的任务编码并没有显示出来// 获取控件对象var equipControl = contentPane.getWidgetByName('euip');var taskCodeControl = contentPane.getWidgetByName('txttaskcode');// 检查控件是否存在if (equipControl && taskCodeControl) {    // 获取设备编码当前值并处理    var equipValue = equipControl.getValue() || '';    equipValue = equipValue.toString().trim();     // 同步设备编码值到任务编码    taskCodeControl.setValue(equipValue);      // 输出调试信息    console.log('设备编码值变更为: ', equipValue);    console.log('任务编码已同步更新为: ', taskCodeControl.getValue());} else {    console.error('控件不存在 - 设备编码控件:', !!equipControl, '任务编码控件:', !!taskCodeControl);}
  • 实现目标:选中或全选数据后,点击筛选栏的删除按钮,是否删除表格的值就可以变成“是”或“否”,不放在表格上,且只要一个按钮不要选择类控件,实现单元格值的切换。之前是放在单元格上按钮里,找了一段代码,放在筛选栏上的删除按钮里,就不行。麻烦帮忙看看,各位大佬// 获取报表对象var report = this.options.form || _g();// 使用帆软内置的获取选中行方法(如果可用)var selectedRows = ;var $tds = $("td:has(:checked)"); // 通过jQuery查找被选中的复选框$tds.each(function() {    var cell = $(this).attr('id');    var row = cell.split(','); // 获取行号    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;}// 切换状态selectedRows.forEach(function(row) {    var currentStatus = report.getCellValue(28, row - 1);    var newStatus = currentStatus == "0" ? "1" : "0";    report.setCellValue(28, row - 1, newStatus);});
  • 输入设备编码(001),任务编码会根据公式自动生成值(00111),点击提交,数据库会存入对应值,这个公式是直接放在了单元格-插入公式的位置在这条数的基础上修改任务编码(2121),点击提交,数据库会存入2121,但是界面上还是会显示成00111.目的:再次修改这条数的任务编码时,要求界面上显示的是修改后的值。因为也试过,任务编码用表字段,在条件属性加这个判断公式,当设备编码不为空的时候,就自动生成。但这个生成的编码会在提交后才在界面上显示,并且数据库存入的这条数的任务编码是空的,就无法满足需求。
  • ${if(len(结束日期) == 0,"","and mibr.updated_on BETWEEN '" + '2020-01-01' + "' AND '"+format(DATEDELTA(结束日期,1),'YYYY-MM-dd')+"'")}原参数是上面这样写的,我的需求是 如果开始日期不等于结束日期,那么就按日期筛选框选的的开始日期到结束日期来做过滤,如果开始日期=结束日期就统计2020-01-01至结束日期的数据,这样的话该怎么改上面这段呢
  • 在任务编码设了公式,IF(LEN(B4)>0, CONCATENATE(B4,format(today(), "yyyyMMdd"),"seq()"), "")     为了修改设备编码的时候可以随着变动,单独修改任务编码提交后,界面显示还是公式生成的数据,但是数据是改过来了的
  • 目前已经实现 设备编码变的时候任务编码会跟着变,但是想设置成如果有人修改了任务编号,那么后面设备编码再变的时候任务编码不会改变 请问可以怎么实现
  • 在提交前,我如果新增或修改了设备编码,我想任务编码会自动生成一个由输入的设备编码+当天日期+序号的默认值,然后再点击提交存到数据库中(之所以没有直接写公式在单元格,是因为他在提交后才生效,就导致每次插入数据库的时候都会有一条空的任务编号的数据)。求求各位大佬说详细点,用了各种方式,找了AI帮忙写代码,但没什么用,主要是没有JS基础 就很难受,下面是ai生成的  放在了设备编码单元格-文本控件-时间-编辑结束后// 设备编码单元格编辑结束事件计划初版-测试.zip// 假设设备编码所在单元格为B4,任务编码所在单元格为G4var deviceCodeCell = contentPane.getCell("B4");var taskCodeCell = contentPane.getCell("G4");// 生成唯一序号的方法(简化版,实际应用中可能需要更复杂的逻辑)var generateSequence = function() {    // 这里可以使用更复杂的逻辑,比如从数据库获取当前最大序号    // 暂时返回固定值,您可以根据需要修改    return "001";};// 给设备编码单元格绑定编辑结束事件deviceCodeCell.on("afterEdit", function() {    // 获取设备编码单元格的值    var deviceCode = this.getValue();        // 如果设备编码不为空才生成任务编码    if (deviceCode && deviceCode !== "") {        // 获取当前日期并格式化为yyyyMMdd格式        var today = new Date();        var year = today.getFullYear();        var month = today.getMonth() + 1; // 月份从0开始,所以加1        var day = today.getDate();                // 补全月份和日期为两位数        month = month < 10 ? "0" + month : month;        day = day < 10 ? "0" + day : day;                var dateStr = year + "" + month + "" + day;                // 获取序号        var sequence = generateSequence();                // 拼接任务编码        var taskCode = deviceCode + "-" + dateStr + "-" + sequence;                // 设置任务编码到对应单元格        taskCodeCell.setValue(taskCode);                // 刷新单元格显示        taskCodeCell.refresh();    } else {        // 如果设备编码为空,清空任务编码        taskCodeCell.setValue("");        taskCodeCell.refresh();    }});// 页面加载完成后,如果设备编码已有值,初始化任务编码contentPane.on("afterLoad", function() {    var deviceCode = deviceCodeCell.getValue();    if (deviceCode && deviceCode !== "") {        // 触发一次编辑结束事件来生成任务编码        deviceCodeCell.fireEvent("afterEdit");    }});
  • 任务编码想由图中另外三个字段自动组成,其中前两个可以编辑,创建时间由数据库自动生成

63

1

63

10

个人成就
内容被浏览2,251
加入社区286天
返回顶部