5、****字段的事件编辑
在申购单的第二行里是填写供应商的信息,要是每次都一个一个的填会很慢,我们可以先在【基础信息】的【供应商信息】模块里先填写好。然后通过js代码,实现一选供应商名称,其他的联系人、手机号码、地址全部都跳出来。
步骤一:准备好供应商信息
现在基础信息菜单下建好【供应商信息】模块,然后【供应商信息】模块里先填写好。
步骤二:编写js代码
打开设计器,点击【供应商名称】字段,然后字段属性里点击打开【事件编辑】。
*1.1平台函数*jwpf.getFilterData()**:
这里主要用平台内置jwpf.getFilterData()函数获取供应商信息数据,然后用jwdf.setFormVal()将获取到的数据设置到页面上。
jwpf.getFilterData()有两个参数,sqlkey(sql语句的key值)和filterParam(查询条件)。
参数sqlKey:
SqlKey怎么来呢?我们可以把sql语句存放在某字段的sql编辑里(存放在哪个字段都行,看自己喜好)。
点开【sql编辑】,点击新增。
这里的shengoudan.ShenGouDanZhuBiao.gongyingshangmingchen.sql1便是jwpf.getFilterData()函数的参数sqlKey。
参数filterParam:
jwpf.getFilterData()的另外一个参数sqlKey = { "filter_EQS_name" : "设置查询条件值"; },变量名以filter_EQS_开头,后面的name表示查询条件key,就是sql语句里“;”后面的,例如这里就是id; 其中EQS中的S表示数据类型。事件编辑窗口右下角有详细的说明。返回值json对象:
返回值是json对象,返回值格式如:
{“list”:[{“id”:”具体值”},{“lianxiren”:”具体值”},{“shoujihao”:”具体值”},{“dizhi”:”具体值”}],”map”:{“key”:”caption”}}。
用【返回值】.list,我这里是gysData.list,就能获取到列表数据:[{“id”:”具体值”},{“lianxiren”:”具体值”},{“shoujihao”:”具体值”},{“dizhi”:”具体值”}],是一个json数组,数组里的json的Key值就是sql生成规则里的字段Key。
*1.2平台函数*jwpf.setFormVal()**:
Jwpf.setFormVal()是用来设置页面值的,上一节已经详细讲过了,而且事件编辑窗口右下角有具体说明。
6、****列表选择对话框
如下图所示,点击【选择产品】,弹出产品列表对话框,勾选上你要选择的产品,然后按确认,对话框里的勾上的产品数据就会下推到申购产品明细里。这个怎么实现呢。
点击申购产品明细的表单属性,填写好后点击【设置】,编写js代码,如下:
var formParam = {
"title":"产品选择",
"formKey":"chanpinxuanzezhubiao",
"width":1000,
"height":450,
"onAfterSure":function(win) {
var rows = win._getSelectFilterData_();
/*返回值rows就是选中记录,格式是json数据,例如
[{"chanpinbianhao":"s001","chanpinmingchen":"王老吉","chanpinleixing":"01","guige":"瓶装"},
{"chanpinbianhao":"s002","chanpinmingchen":"王老吉","chanpinleixing":"02","guige":"袋装"}]
*/
if(rows){
var tableKey="ShenGouChanPinMingXi";
var rowsData = [];
/*对rows进行处理变成合适的参数rowsData,因为产品选择的叫"guige",申购产品明细叫"chanpinguige"*/
for(var i = 0;i<rows.length;i++){
rowsData.push($.extend({},rows[i],{"chanpinguige":rows[i]["guige"]}));
}
/*rowsData里就比rows多了"chanpinguige":"瓶装"*/
jwpf.setTableData(tableKey, rowsData,true);
return true;
} else {
alert("请选择产品");
}
}
};
openFormWin(formParam);//打开弹窗。
主要是在onClick事件里用用openFormWin(formParam)函数来打开弹窗,参数formParam的详细说明看右下角。
注意的是参数formParam里的”FormKey”填的是已经做好的自定义表单的属性名小写,这个自定义表单用的是第五章做的自定表单。
formParam里的”onAfterSure”就是按了确认按钮后执行的函数。
7、****样式改变
a.字段的样式
如下图,数量少于五变成红色,以便于提醒。
点击字段【数量】的字段属性【事件编辑】,onStyler事件,可以在这个事件里return一个样式,这个样式就是这个字段整列的样式。
b.整行的样式
如下图所示,把数量大于500的整行的背景颜色变成黄色。
点开申购产品明细的表单属性的【事件编辑】。onRowStyler这里的便是列表行样式的事件。