JS实现根据控件值自动匹配数据查询速度慢

通过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);

//给当前行其他单元格赋值

chyou 发布于 2021-11-21 15:17 (编辑于 2021-11-22 10:43)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户莎Lv5见习互助
发布于2021-11-22 10:17

把你js拿出来看看与没有可以优化的点

  • chyou chyou(提问者) 已在正文贴出来了,您看看,我觉得没啥可优化的
    2021-11-22 10:44 
  • 用户莎 用户莎 回复 chyou(提问者) 我自己试了下插12个字段还是很快的,这可能跟数据量有关,你试着减少数据量看看会不会快一些了,你就只查100条数据试试
    2021-11-22 11:28 
最佳回答
0
北纬六十六度Lv4初级互助
发布于2021-11-21 22:16

7秒匹配肯定是不正常的,优化一下语句吧

  • 3关注人数
  • 390浏览人数
  • 最后回答于:2021-11-22 10:43
    请选择关闭问题的原因
    确定 取消
    返回顶部