请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
chyou(uid:95414)
职业资格认证:FCA-FineReport
  • 通过JS自动匹配数据,因我需要匹配的字段较多,比如我输入手机号,会自动匹配十二个字段值,但显示出来很慢,匹配的字段越多越慢,要七八秒时。。但不用JS查询匹配的话,用ds1.select()函数,查询出来时间在1-2秒内就出来了JS匹配参考地址:https://help.fanruan.com/finereport/doc-view-4061.html 公式匹配参考地址:https://help.fanruan.com/finereport/doc-view-534.html -----------------------------------用JS 匹配方法有办法优化查询速度吗?不知道大家是否有遇到-------------------------------------我的JS其实就是参考弄的,只是获取的字段有点多:var sj=this.getValue(); //获取当前控件值var op_name=FR.remoteEvaluate("value('账户总表','姓名','手机号','"+sj+"')");var op_area=FR.remoteEvaluate("value('账户总表','区域','手机号','"+sj+"')");var op_department=FR.remoteEvaluate("value('账户总表','部门','手机号','"+sj+"')");var op_position=FR.remoteEvaluate("value('账户总表','职位','手机号','"+sj+"')");var op_oa=FR.remoteEvaluate("value('账户总表','OA账号','手机号','"+sj+"')");var op_dingd=FR.remoteEvaluate("value('账户总表','钉钉账号','手机号','"+sj+"')");var op_email=FR.remoteEvaluate("value('账户总表','邮箱','手机号','"+sj+"')");var op_xiaos=FR.remoteEvaluate("value('账户总表','销售','手机号','"+sj+"')");var op_yunk=FR.remoteEvaluate("value('账户总表','云客','手机号','"+sj+"')");var op_chengb=FR.remoteEvaluate("value('账户总表','成本','手机号','"+sj+"')");var op_caig=FR.remoteEvaluate("value('账户总表','采购','手机号','"+sj+"')");var op_hr=FR.remoteEvaluate("value('账户总表','HR','手机号','"+sj+"')");var op_jih=FR.remoteEvaluate("value('账户总表','计划','手机号','"+sj+"')");var op_feik=FR.remoteEvaluate("value('账户总表','费控','手机号','"+sj+"')");var op_eas=FR.remoteEvaluate("value('账户总表','EAS','手机号','"+sj+"')");var op_fanr=FR.remoteEvaluate("value('账户总表','帆软','手机号','"+sj+"')");var row=FR.cellStr2ColumnRow(this.options.location).row;_g().setCellValue(0,6,row,op_name);_g().setCellValue(0,8,row,op_area);_g().setCellValue(0,10,row,op_department);_g().setCellValue(0,12,row,op_position);_g().setCellValue(0,14,row,op_oa);_g().setCellValue(0,16,row,op_dingd);_g().setCellValue(0,18,row,op_email);_g().setCellValue(0,20,row,op_xiaos);_g().setCellValue(0,22,row,op_yunk);_g().setCellValue(0,24,row,op_chengb);_g().setCellValue(0,26,row,op_caig);_g().setCellValue(0,28,row,op_hr);_g().setCellValue(0,30,row,op_jih);_g().setCellValue(0,32,row,op_feik);_g().setCellValue(0,34,row,op_eas);_g().setCellValue(0,36,row,op_fanr);//给当前行其他单元格赋值
  • 在做填报时,比如想对编辑过的内容改变颜色突出显示,就比较清楚改了哪些东西,挺有用的,JS代码如下:var location = this.options.location; var cr = FR.cellStr2ColumnRow(location);var col = cr.col;var ro = cr.row;$("tr").find("td").css({'background-color':'red'});     $("tr").find("td").css("color","white");-------------------------------------但有不足的地方,如果新增一行,此前修改内容的颜色又没了,如何解决呢------------------------------------问题总结:1、新增或删除行会刷新页面,JS是实时的,无法满足2、通过条件属性判断来改变值属性,不会因为页面刷新而改变结合上述两个特征,一起使用效果可达成过程繁琐,开此贴,希望对大家有帮助,当然后续希望有高手能够进一步优化
  • 想简单实现一功能,在左侧单击名称,右侧能展示图片这样的,如图
  • 表A:操作日期、操作类型、UUID、姓名、手机号、部门、职位、备注表B:UUID、姓名、手机号、部门、职位、最后一次操作时间(保证记录是最新的)---------------------------在填报页面有字段:操作日期、操作类型、UUID、姓名、手机号、部门、职位、备注实现功能:1、输入姓名后,会自动带出UUID、姓名、手机号、部门、职位、备注字段(此功能已实现)2、表B有填报的姓名时,当操作日期>=最后一次操作时间时,填报提交后根据UUID关键字段更新表B,若操作日期<最后一次操作时间时,不更新记录(需求:用于数据补录,补录时间与表B的最后一次操作时间作对比,小于的数据不更新,大于的更新数据)3、若表B中不含填报的姓名时,提交后把数据插入表B4、操作记录同时存入表A(此功能已实现)-------如何设置提交件呢,同时能满足2和3呢--------------------------------问题已解决,总结一下,跟大家分享:首先@檬茶茶提供的方法是没有问题的,设置提交条件1、日期判断:sql("测试OA","select 最后一次操作时间 from MC_Account where  ID='"+F4+"' ",1,1)<B42、此前无法按条件更新,是因为我用UUID作为关键字提交用了公式类似:IF(len(F4)=0,UUID(32),F4) ,经过查询,这样做提交时无法根据UUID判断3、为了解决以上问题,将填报属性里的UUID字段值的公式去除,在填报的单元格进行判断,我用了公式:IF(LEN(F4) = 0, UUID(32), 账户总表.select(ID, 手机号 = D4))经过上述调整,问题成功解决
  • 比如前端我输入手机号后,用文件控件输入手机号,就能与数据库手机号列进行比较是否存在,用JS如何实现呢:根据大侠们回复的,我修改了一下代码如下,在执行alert(num)时,报错undefined,代码简单,但试了好久还是没弄出来,麻烦看看哪里有问题:-------------------------------------------------------------------var ch = this.getValue(); //获取当前控件值var sql1="select count(1) from MC_Account where 1=1 and 手机号='"+ch+"'";//用alert(sql1)获取值是正常的var num=FR.remoteEvaluate('SQL("mc", "'+sql1+'", 1,1)');alert(num)  //运行此处出问题了
  • 如题,批量删除时,不删除首行,如图  相关代码详见附件,谢谢代码.txt 
  • 业务场景:1、表A是总表(姓名可以重复,但手机号是唯一的),表B用于存放操作记录,2、在填报时,通过姓名和手机,查询表A,2.1 若有匹配的,显示其相应数据,并对查询出的数据进行修改后提交,提交后数据同时传给表A(更新数据,主键为手机号)和表B(插入数据);2.2 若没有匹配的,则需要重新输入对应字段值后提交,现在需要对输入的手机号进行字段校验,若与表A重复的就不让提交--------------------------------------------------问题来了:2.2进行设置后,2.1匹配的数据就无法通校验了,会说重复,无法修改提交,如图有无办法通过查询匹配到的数据允许修改提交,同时对于没有匹配的数据通过2.2设置后又能实现校验呢?
  • 我做了一个报表,默认查询时显示所有内容,现在添加一个按钮,用于点击后在最后一行插入行,插入按钮事件代码为:var id = $("td:last").attr("id");//获取A列最后一行的单元格编号//id^=A代表A列,last代表最后一行_g().appendReportRC(1, id);A列为多选复选框,B列为自增长序号,C列左父格为D4,D为姓名扩展列但设置完后,点击没效果,不能在711行后插入一行如图
  • 业务场景如下:数据提报时,记录插入到一张表A(操作记录表),但同时想把部分字段数据更新到别一张表B(总表)。条件要求,以手机号作为主键,若表B含提交时的手机号时,只是更新,若B中没有含提报时的手机号,则增加记录这样如何写条件呢
  • 嵌套查询后将结果插入自定义表,执行时出错:列名或所提供值的数目与表定义不匹配;是因为我子查询的字段与新建的表格字段不一致吗。。。要怎么改呢?------------------------------------------------------------------IF NOT EXISTS (SELECT * FROM sysobjects WHERE name LIKE 'tmpworkflowusetime' AND type ='U')CREATE TABLE .(  (1000) NULL,  (1000) NULL,  (1000) NULL,  (1000) NULL,  (1000) NULL,  NULL) ON ELSEDELETE FROM tmpworkflowusetime;INSERT INTO tmpworkflowusetimeSELECT流程标题,区域,创建时间,节点名称,工作流名称,ROUND(MAX(((CONVERT(float,CONVERT(datetime,CASE WHEN 操作日期 <> '' THEN  CONVERT(VARCHAR,操作时间,20) ELSE CONVERT(VARCHAR,GETDATE(),20) END))-CONVERT(FLOAT,CONVERT(DATETIME,CONVERT(VARCHAR,接收时间,20))))*24*60)/60),2) 审批时间FROM(SELECT cast(c.workflowid as varchar(100))+'-'+cast(c.requestid as varchar(100))+'-'+cast(a.requestname as varchar(100))  流程标题,(SELECT region FROM HrmResource hr,v_mcqy qy WHERE hr.id=a.creater and qy.id=hr.subcompanyid1 )  区域,a.createdate 创建时间,e.nodename 节点名称,workflowname 工作流名称,c.operatedate 操作日期, (c.receivedate+' '+c.receivetime) AS 接收时间, (c.operatedate+' '+c.operatetime) AS 操作时间FROM workflow_requestbase a,workflow_base b ,workflow_currentoperator c,HrmResource d,workflow_nodebase e,v_mcqy fwhere a.workflowid=b.id and c.requestid=a.requestidand c.userid=d.idand c.nodeid =e.idand f.id=d.subcompanyid1and b.workflowtype in (38)and b.workflowname in ('XXXXX')and c.userid in (SELECT ID FROM HrmResource WHERE  belongto <1)and (c.operatedate is not null or c.operatetime is not null) and (c.operatedate <>'          ' or c.operatetime <>'        ')and a.createdate >='2020-01-01'and a.createdate <='2020-03-31'and e.nodename not like '%归档%' and c.preisremark not in(1,8,9) and (currentnodetype=3 or  (currentnodetype=2 and a.status like '%执行%') )--执行、归档)AGROUP BY 流程标题,区域,创建时间,节点名称,工作流名称ORDER BY 区域;

75

26

75

10

个人成就
内容被浏览31,233
加入社区7年9天
返回顶部