mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-04-16 02:18:11 +00:00
41 lines
960 B
Java
41 lines
960 B
Java
/**
|
|
* online 自定义按钮表达式处理类
|
|
*/
|
|
export default class ButtonExpHandler {
|
|
/**
|
|
* 构造器
|
|
* @param express
|
|
*/
|
|
constructor(express,record) {
|
|
this._express = express;
|
|
this._record = record;
|
|
}
|
|
|
|
get show() {
|
|
if(!this._express || this._express==''){
|
|
return true;
|
|
}
|
|
let arr = this._express.split('#');
|
|
//获取字段值
|
|
let fieldValue = this._record[arr[0]];
|
|
//获取表达式
|
|
let exp = arr[1].toLowerCase();
|
|
//判断表达式
|
|
if(exp === 'eq'){
|
|
return fieldValue == arr[2];
|
|
}else if(exp === 'ne'){
|
|
return !(fieldValue == arr[2]);
|
|
}else if(exp === 'empty'){
|
|
if(arr[2]==='true' || arr[2]===true){
|
|
return !fieldValue || fieldValue=='';
|
|
}else{
|
|
return fieldValue && fieldValue.length>0
|
|
}
|
|
}else if(exp === 'in'){
|
|
let arr2 = arr[2].split(',');
|
|
return arr2.indexOf(String(fieldValue))>=0;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
} |