自定义删除按钮
说明:自定义删除信息,并判断当前批量选择的数据是否在关联业务表存在,不存在才允许删除,存在则需要提示。
Object.assign(JTemplate,{
//加载事件
onLoad:function(template){
},
//按钮提交前置事件
beforeSubmit:function(template, action, position, selection, data, callback){
if (action == 'consumableRemove') {
const selectCodes = []
const selectIds = []
if (position === 'toolbar') {
const selections = template.$refs.crud.$selections
if (template.$utils.isEmpty(selections)) {
template.$message({
type: 'warning',
message: template.$t('common.dialog.selectedRecords')
})
return callback(false)
}
selections.forEach(item => {
selectCodes.push(item.registration_no_)
selectIds.push(item.id_)
})
} else {
selectCodes.push(data.registration_no_)
selectIds.push(data.id_)
}
this.beforeRemove(template, callback, selectCodes.join(','), selectIds.join(','))
}
callback(true)
},
beforeRemove(template, callback, selectCodes, selectIds){
this.$request({
// 调用后端脚本类请求
url: '/business/v3/form/def/getScriptValue',
method: 'post',
data: {
'script': `
List<String> queryParams = new ArrayList<>();
queryParams.add("registration_no_");
Map<String, String> whereParams = new HashMap<String,String>();
whereParams.put("registration_no_","${selectCodes}");
jdbcScript.queryDataForList("w_origin_sample",queryParams,whereParams,null);
`
}
}).then(response => {
if (this.$template.$utils.isEmpty(response.data)) {
// 判断是否存在
this.removeData(template,selectIds)
}else{
this.$template.$message({
type: 'warning',
message: '该数据已在原始实验样本存在,不能删除!'
})
}
}).catch(error => {
console.log(error)
})
},
removeData(template,selectIds){
this.$template.$confirm('确认永久删除吗?', '提示', {
type: 'warning'
}).then(() => {
this.$request({
// 调用后端脚本类请求
url: '/business/v3/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("id_", "${selectIds}");
jdbcScript.deleteDataBySql("w_register_apply",valMaps,"=");
`
}
}).then(response => {
this.$template.$message.success('删除成功!')
this.$template.search()
}).catch(error => {
console.log(error)
})
}).catch((err) => { console.log(err) })
}
});
作者:黄春艳 创建时间:2025-09-01 16:38
最后编辑:黄春艳 更新时间:2025-09-01 16:55
最后编辑:黄春艳 更新时间:2025-09-01 16:55