作者:黄倩婧 历史版本:1 最后编辑:黄倩婧 更新时间:2025-06-09 14:20
适用版本:v3.6.0+;
业务场景描述:
1、有2个表,一个为产品信息表,一个为产品销售情况表;
2、填报页面,产品销售情况表进行保存后,根据产品编号把剩余数量的值更新到产品信息表的产品数量字段。
2张表的字段分别如下:
产品销售表:
产品信息表:
表单管理配置步骤:
1、登录系统,选择【表单管理】-【表单管理】,点击“添加/编辑”按钮,进入表单设计页面,点击“表单脚本”,如下图:
2、设置表单脚本
script里面的内容可以调用后端工具类,具体用法可以参考文档:后端工具类
以下为当前业务的脚本例子:
Object.assign(JForm, {
//加载事件
onLoad: function (form) {
},
//表单按钮后置事件
afterSubmit: function (form, action, postValue, callback) {
if (action === 'save') {
this.$request({
//此url请求地址是在后端微服务部署,微服务单体部署需改成/form/def/getScriptValue
url: '/business/v3/form/def/getScriptValue',
method: 'post',
data: {
'script': `
import java.util.HashMap;
import java.util.HashMap;
import java.util.Map;
// 更新t_cpxx表,当字段chan_pin_bian_hao_等于表单的chanPinBianHao值时,更新chan_pin_shu_字段为shengYuShuLiang的值
Map<String, Object> updateMap = new HashMap<>();
updateMap.put("chan_pin_shu_", "${form.getData('shengYuShuLiang')}");
Map<String, Object> whereMap = new HashMap<>();
whereMap.put("chan_pin_bian_hao_", "${form.getData('chanPinBianHao')}");
jdbcScript.updateData("t_cpxx", updateMap, whereMap);
`,
}
}).then(response => {
this.$request({
//刷新缓存
url: '/business/v3/form/cache/system/flushAll',
method: 'post'
})
}).catch(error => {
})
callback(true)
}
}
});
查看配置效果
选择【表单管理】-【数据模版管理】,点击“编辑”按钮,进入“产品销售情况”的数据模版,点击“预览”,如下图:
选中数据,点击“编辑”,修改“剩余数量”的值,点击“保存”
查看“产品信息”的数据模板,数据更新成功