作者:管理员 历史版本:1 最后编辑:Eddy 更新时间:2024-10-24 16:08
设置个性自定义按钮业务
简介:在配置用户业务模块,系统默认的按钮满足不了时,可以先在后端编写业务接口,然后通过自定义按钮方式快速集成整合使用,比如:增加是否启用按钮,点击此按钮,启用状态进信息进行改变等业务,均可使用自定义按钮后,然后编写模板脚本实现!
1、进入数据模板管理
登录系统,选择【表单管理】-【数据模板管理】,添加或编辑某条数据,进入模版设置,然后选择“模版配置”下的“列表-功能按钮”,点击“添加按钮”,选择“自定义按钮”,如下图:
2、设置自定义按钮编码
点击按钮“设置”按钮,进入按钮设置页面,根据业务填写相关信息,如下图:
3、点击模版脚本按钮
设置完按钮信息后,在同个页面选择“模版属性”下的“模版脚本”,点击此按钮,进入模版脚本编辑器页面,如下图:
4、进入模版脚本编辑器
点击“模版脚本”按钮,进入模版脚本编辑器页面,先点击“插入默认脚本”,然后在默认脚本输入按钮代码,如下图:
温馨说明:
代码示例,调用后端脚本类请求,并将更新代码传参,如下所示:
Object.assign(JTemplate,{ //加载事件 onLoad:function(template){ }, //按钮提交前置事件 beforeSubmit:function(template, action, position, selection, data, callback){ //对应自定义按钮编码一致 if(action === 'isUse'){ this.useData(template,selection) }else{ callback(true) } }, //编写触发后台业务更新代码 useData(template,pk){ this.$request({ //调用后端脚本类请求 url:'/form/def/getScriptValue', method: 'post', data: { 'script': ` import java.util.HashMap; import java.util.Map; Map<String,Object> valMaps = new HashMap<String,Object>(); valMaps.put("zhuang_tai_", "N"); scriptImpl.updateDataByBusValue("${pk}","t_consumablesbasic",valMaps); ` } }).then(response => { template.$message.success("关闭成功!") template.search() }).catch(error => { console.log(error) }) } });
5、点击预览按钮,看效果
点击“预览”按钮,效果如下图:
6、点击保存按钮
最后关闭预览页面,点击右上角的“保存”按钮,保存数据即可,如下图:
7、自定义删除按钮
if(action === 'isDel'){
this.useData(template,selection)
} else if(action === 'isDel'){
template.$confirm('确认删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.removeData(template,selection)
}).catch(() => {})
}else{
callback(true)
}
},
removeData(template,pk){
this.$request({
url:'/form/def/getScriptValue',
method: 'post',
data: {
'script': `
import java.util.HashMap;
import java.util.Map;
Map<String,Object> valMaps = new HashMap<String,Object>();
valMaps.put("is_del_", "Y");
scriptImpl.updateDataByBusValue("${pk}","t_checkresult",valMaps);
`
}
}).then(response => {
template.$message.success("删除成功!")
template.search()
}).catch(error => {
console.log(error)
})
}