作者:黄倩婧 历史版本:1 最后编辑:黄倩婧 更新时间:2025-06-05 10:45
适用版本:v3.6.0+;
业务场景描述:
1、每个产品都有属于自己的产品编号;
2、对产品信息进行修改时,需要记录所有的变更记录。
数据模板管理配置步骤:
1、登录系统,选择【表单管理】-【数据模板管理】,点击“添加/编辑”按钮,进入模板设计页面,如下图:
2、添加变更按钮
3、设置按钮名称、按钮编码,开启级联设置,点击【级联设置】
4、选择在线表单,设置参数,把业务数据的id传递给参数changeid
5、保存数据模板
表单管理配置步骤:
1、登录系统,选择【表单管理】-【表单管理】,点击“添加/编辑”按钮,进入表单设计页面,点击“表单脚本”,如下图:
2、添加“保存”、“关闭”按钮
3、设置表单脚本
Object.assign(JForm,{
//加载事件,实现需求:数据模板列表添加的自定义-级联-在线表单-新增配置,点击时把对应id的表单数据回填到表单里
onLoad:function(form){
console.info(form,this)
form.$watch('params',(data)=>{
//这里把级联的changeid传递进来,通过这个changeid回填表单数据
let _id = data?.changeid
console.info(data, _id)
//formKey为表单key,注意修改
if(form.$utils.isNotEmpty(_id)) {
let params = {
pk: _id,
formKey: 'cpxx',
rightsScope: 'form',
needFormDefData: false
}
let _api = window?.__IBPS_CONFIG__?.API_BUSINESS_BASE_URL || '/business/v3'
this.$request({
url:_api+'/form/def/getFormData',
method: 'post',
params: params
}).then(response => {
//TODO:处理数据返回的逻辑,把id清空
console.info(response)
let boDataStr = response?.data?.boData||''
if(form.$utils.isEmpty(boDataStr)){return}
let boData = form.$utils.parseJSON(boDataStr) || {}
let _formData = form.getDataByAttr(boData) || {}
_formData['id'] = ''
form.formData = _formData
}).catch(error => {
console.log(error)
})
}
},{deep:true,immediate:true})
}
});
查看配置效果
选择【表单管理】-【数据模版管理】,点击“编辑”按钮,进入数据模版,点击“预览”,如下图:
选中数据,点击“变更”
修改数据,点击【保存】
列表显示新增数据
我们可以通过产品编号来查询所有变更记录