作者:黄倩婧  历史版本: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)
    }
  }
});

查看配置效果

选择【表单管理】-【数据模版管理】,点击“编辑”按钮,进入“产品销售情况”的数据模版,点击“预览”,如下图:

选中数据,点击“编辑”,修改“剩余数量”的值,点击“保存”

查看“产品信息”的数据模板,数据更新成功