五、字段的事件编辑

在CRM案例的报价单模块中,需要填写客户的一些基本信息,要是每次都一个一个的填会很慢,我们可以先在【基础信息】的【客户信息】模块里先填写好。然后通过js代码,实现选择客户后,客户信息中对应的的联系人、手机号码、地址等信息全部都自动带出来。

步骤一:准备好供应商信息

先在【基础信息】菜单下建好【客户信息】模块,然后在【客户信息】模块里填写好客户的基本信息。

步骤二:编写js代码

打开设计器,点击【客户名称】字段,然后字段属性里点击打开【事件编辑】。

JS代码如下:

if(newValue){
    var data=jwpf.getFilterData("baojiadan.QuotationsZhuBiao.dinggoukehu.sql1",{"filter_EQL_kid":newValue});
    if(data&&data.list&&data.list.length)
    {
        jwpf.setFormVal("fukuanfangshi",data.list[0]['fukuanfangshi']);
        jwpf.setFormVal("kehubianhao",data.list[0]['kehubianhao']);
        jwpf.setFormVal("kehuhetonghao",data.list[0]['kehuhetonghao']);
        jwpf.setFormVal("bizhong",data.list[0]['waixiaobizhong']);
        jwpf.setFormVal("shifukaipiao",data.list[0]['shifukaipiao']);
        jwpf.setFormVal("yunshufangshi",data.list[0]['yunshufangshi']);
        jwpf.setFormVal("wofanggongsi",data.list[0]['wofanggongsi']);
        jwpf.setFormVal("yewuyuan",data.list[0]['yewuyuan']);
        jwpf.setFormVal("kefu",data.list[0]['kefu']);
        jwpf.setFormVal("dinggoulianxiren",{"key":data.list[0]['lxr'],"caption": data.list[0]['xingming'],"id":data.list[0]['lxr'],"text": data.list[0]['xingming']});
        jwpf.setFormVal("dinggoulianxidizhi",data.list[0]['shouhuodizhi']);
        jwpf.setFormVal("dinggoulianxidianhua",data.list[0]['dianhua']);
    }
  }

1.1 平台函数jwpf.getFilterData():

这里主要用平台内置jwpf.getFilterData()函数获取供应商信息数据,然后用jwdf.setFormVal()将获取到的数据设置到页面上。

jwpf.getFilterData()有两个参数,sqlkey(sql语句的key值)和filterParam(查询条件)。

参数:

sqlKey

SqlKey怎么来呢?我们可以把sql语句存放在某字段的sql编辑里(存放在哪个字段都行,看自己喜好)。

点开【sql编辑】,点击新增。

Sql代码如下:

SELECT
    a.WoFangGongSi,
    a.FuKuanFangShi,
    a.WaiXiaoBiZhong,
    a.ShiFuKaiPiao,
    a.KeHuBianHao,
    a.ShuiHaoXinXi,
    a.YunShuFangShi,
    a.KaiPiaoDanWeiMingChen,
    CONCAT(a.DiZhi, '-', a.DianHua) AS KaiPiaoDiZhi,
    a.KaiHuYinXing,
    a.YeWuYuan,
    a.KeFu,
    b.ID AS lxr,
    b.XingMing,
    b.ShouHuoDiZhi,
    b.DianHua
FROM
    KE_HU_XIN_XI_ZHU_BIAO a
LEFT JOIN KE_HU_XIN_XI_ZI_BIAO_1 b 
ON 
a.ID = b.MASTER_ID
AND b.MoRen = '1'
WHERE
    a.ID = :kid

这里的baojiadan.QuotationsZhuBiao.dinggoukehu.sql1便是jwpf.getFilterData()函数的参数sqlKey(sqlKey要用英文双引号引用(单引号也是可以的))。

filterParam

jwpf.getFilterData()的另外一个参数 filterParam= { "filter_EQS_name" : "设置查询条件值"; } ,变量名以filterEQS开头,后面的name表示查询条件key,就是sql语句里“:”后面的,例如这里就是id; 其中EQS中的S表示数据类型(S--字符串;L--整数;N--小数;D--日期)。事件编辑窗口右下角有详细的说明。返回值json对象:

返回值是json对象,返回值格式如:

{
  "list":[{
    "id":"具体值"
  },{
    "lianxiren":"具体值"
  },{
    "shoujihao":"具体值"
  },{
    "dizhi":"具体值"
  }],
  "map":{
    "key":"caption"
  }
}

用【返回值】.list,我这里是gysData.list,就能获取到列表数据: [{"id":"具体值"},{"lianxiren":"具体值"},{"shoujihao":"具体值"},{"dizhi":"具体值"}] ,是一个json数组,数组里的json的Key值就是sql生成规则里的字段Key。

注:参数filterParam中的变量名开头的写法,不仅仅只有filterEQS,还有另外一种写法:fixEQS。Filter和fix的区别是:fix是固定查询条件,filter是动态查询条件。固定条件参数,指的是sql里写死条件的。动态条件参数,指的是根据参数自动加上查询条件的

1.2 平台函数jwpf.setFormVal():

Jwpf.setFormVal()是用来设置页面值的,上一节已经详细讲过了,而且事件编辑窗口右下角有具体说明。

Copyright © 2022 杭州企云信息科技有限公司 all right reserved,powered by 简搭(jabdp)该文件修订时间: 2022-06-30 11:08:56

results matching ""

    No results matching ""