1. 首先需要在视图标签中增加 opcode 属性,属性值是一个有效的后端操作码,比如后端开发人员已经定义好了一个查询库存的表单操作,操作码为“querystock”,那么前端视图可以这样来写:
`<button opcode="querystock">查询库存</button>`
到此为止,当鼠标点击以上按钮时,系统就能自动向服务器发起一个请求了。
。。。。。。
那么问题来了
(1) 怎么向服务器传递参数呢?比如:查询某个商品的库存量,需要传递一个商品Id。
(2) 怎么接收服务器返回给我数据呢?比如:我要拿到服务器返回的库存量后渲染在另外一个html标签上面。
2. 设置请求参数 和 获取响应数据,在前端 js 插件中提供了两个事件
(1) 表单按钮操作前事件 onBeforeDoOperation ,可以在此事件中设置请求参数,事件定义如下:
![](https://box.kancloud.cn/480e79da2b99a47fa0b5b5837f7080d4_469x219.png)
(2) 表单按钮操作后事件 onAfterDoOperation ,可以在此事件中获取响应数据,事件定义如下:
![](https://box.kancloud.cn/a0c06866499ff49907daf51e037e5928_488x208.png)
那怎么来使用呢?
只需要在我们的前端 js 插件中重写这两个事件,然后在事件中处理即可,如下图所示:
![](https://box.kancloud.cn/c59b4d224ec788652df724b502a205fe_1050x855.png)
完整的前端 js 插件代码如下:
~~~
///<reference path="/fw/js/consts.js" />
/*
@ sourceURL=/fw/js/ydj/bas/bas_product.js
*/
; (function () {
var bas_product = (function (_super) {
var _child = function (args) {
var that = this;
_super.call(this, args);
};
__extends(_child, _super);
//表单按钮操作前事件
_child.prototype.onBeforeDoOperation = function (e) {
if (!e || !e.opcode) return;
var that = this;
switch (e.opcode) {
//对特定的操作设置请求参数
case 'querystock':
//设置商品Id
e.result = { productId: '商品Id' };
break;
}
};
//表单按钮操作后事件
_child.prototype.onAfterDoOperation = function (e) {
if (!e || !e.opcode) return;
var that = this;
var isSuccess = e.result.operationResult.isSuccess; //成功标志位
var srvData = e.result.operationResult.srvData; //srvData 数据结构以后端返回为准,此处假定后端返回的是商品库存量
switch (e.opcode) {
//获取特定操作的响应数据
case 'querystock':
if (isSuccess) {
//比如将后端返回的库存量用一个对话框来显示:螺丝刀的库存量为:666
yiDialog.a('螺丝刀的库存量为:{1}'.format(srvData));
}
break;
}
};
return _child;
})(BasePlugIn);
window.bas_product = window.bas_product || bas_product;
})();
~~~
- 业务开发详解系列
- 基础名称概念解释
- 开发调试环境搭建
- 基础资料开发详解
- 单据开发详解
- 动态表单开发详解
- 业务报表开发详解
- 单据转换流程开发详解
- 套打功能设计详解
- K3Cloud系统集成配置详解
- 系统集成开发详解系列
- 基础介绍
- 接口设计原则
- 接口访问授权
- 数据字典介绍
- 接口调用示例
- 业务应用开发Q&A
- 项目整体介绍
- 如何锁定或解锁某个字段?
- 如何锁定或解锁某个菜单按钮?
- 如何显示或隐藏某个字段?
- 如何显示或隐藏某个菜单按钮?
- 如何实现(金额=单价*数量)这样表达式计算?
- 如何使一个视图元素(按钮,标签等)具备发起一个服务请求?
- 如何向操作中传递固定参数?
- 如何向操作中传递可变或动态参数?
- 如何让一个操作具备确认交互能力?
- 如何让一个操作具备复杂交互界面能力?
- 如何设置一个字段为必录?
- 选择基础资料,如何携带出其它字段信息
- 如何进行字段校验(手机号,邮箱,身份证)?
- 如何作一个列表式报表?
- 表头字段唯一验证