import {validatenull} from "@/util/validate";
|
import {findArray} from "@/util/util";
|
|
/**
|
* 按钮的基础服务
|
*/
|
|
/**
|
* 替换文本中的${xxx}
|
* @param text 文本
|
* @param dataStore 选择的数据
|
* @param sourceData 来源数据
|
* @returns 替换后的值,字符串
|
*/
|
export const replaceFreeMarker = (text,dataStore,sourceData) => {
|
//替换表达式
|
if (!sourceData) {
|
sourceData = {};
|
}
|
if (!dataStore) {
|
dataStore = [];
|
}
|
let replaceData = dataStore.length > 0 ? dataStore[0] : {};
|
if (text && text.indexOf("${") > -1 && text.indexOf("}")) {
|
//js只能使用${xxx}这种的方式
|
let reg = "root.${";
|
while (text.indexOf(reg) > -1) {
|
let temp = text.substring(0, text.indexOf(reg));
|
let field = text.substring(text.indexOf(reg) + reg.length, text.indexOf("}"));
|
let end = text.substring(text.indexOf("}") + 1);
|
field = replaceData[field] || sourceData[field] || '';
|
text = temp + field + end;
|
}
|
reg = "sourceData.${";
|
while (text.indexOf(reg) > -1) {
|
let temp = text.substring(0, text.indexOf(reg));
|
let field = text.substring(text.indexOf(reg) + reg.length, text.indexOf("}"));
|
let end = text.substring(text.indexOf("}") + 1);
|
field = replaceData[field] || sourceData[field] || '';
|
text = temp + field + end;
|
}
|
reg = "${";
|
while (text.indexOf(reg) > -1) {
|
let temp = text.substring(0, text.indexOf(reg));
|
let field = text.substring(text.indexOf(reg) + reg.length, text.indexOf("}"));
|
let end = text.substring(text.indexOf("}") + 1);
|
field = replaceData[field] || sourceData[field] || '';
|
text = temp + field + end;
|
}
|
}
|
return text;
|
};
|