function GetArr(res, p) {
var d = eval('(' + res.Data + ')');
return GetDicData(d, res.Type == 1, p);
}
//将字典数据转为列表 d 数据字典对象, l 是否是录入的列表数据, 否为 url访问数据
function GetDicData(d, l, p) {
var data = new Array();
if (l) {
data = d;//如果是编辑数据 直接返回
} else {
var u = d.Url + (p ? p : "");
//如果是访问数据 取返回结果
$.ajax({
type: 'get',
url: u,
async: false,
dataType: 'json',
success: function (res) {
var arr = new GetDataArr(res, d);//处理返回结果数据, 转为列表数据
data = arr;
},
error: function (Result, status, e) {
console.log(Result);
}
});
}
return data; //返回列表
}
//从获取到的json数据中取出列表数据 res=url源返回数据, d数据字典配置数据, tree bool 是否根据树形格式处理
function GetDataArr(res, data) {
var Result = new Object();
//有些路径返回类型为字符串, 将可能出现的字符串转为json对象
if (res.constructor == String)
Result = eval('(' + res + ')');
else
Result = res;
//console.log(Result);
var items = new Array();
//针对某些路径返回的对象属性, 所需列表为返回对象的一个属性时的处理方式
if (Result.constructor == Array)
items = Result;
else {
Result.Data;
for (var p in Result) {
if (Result[p].constructor == Array)
items = Result[p];
}
}
//将获取到的列表根据字典配置规则 属性名变更为字典标准属性名
var arr = new Array();
for (var i = 0; i < items.length; i++) {
var item = items[i];
var obj = new Object();
if (data.ParentID) {
obj.ID = item[data.ID];
obj.ParentID = item[data.ParentID];
obj.Level = item[data.Level];
obj.Text = item[data.Text];
obj.Value = item[data.Value];
} else {
obj.Text = item[data.Text];
obj.Value = item[data.Value];
}
arr.push(obj);
}
return arr;
}
//list 转成树形json
function listToTree(list, pid) {
var ret = [];//一个存放结果的临时数组
for (var i in list) {
if (list[i].ParentID == pid) {//如果当前项的父id等于要查找的父id,进行递归
list[i].children = listToTree(list, list[i].ID);
ret.push(list[i]);//把当前项保存到临时数组中
}
}
return ret;//递归结束后返回结果
}
var d = eval('(' + res.Data + ')');
return GetDicData(d, res.Type == 1, p);
}
//将字典数据转为列表 d 数据字典对象, l 是否是录入的列表数据, 否为 url访问数据
function GetDicData(d, l, p) {
var data = new Array();
if (l) {
data = d;//如果是编辑数据 直接返回
} else {
var u = d.Url + (p ? p : "");
//如果是访问数据 取返回结果
$.ajax({
type: 'get',
url: u,
async: false,
dataType: 'json',
success: function (res) {
var arr = new GetDataArr(res, d);//处理返回结果数据, 转为列表数据
data = arr;
},
error: function (Result, status, e) {
console.log(Result);
}
});
}
return data; //返回列表
}
//从获取到的json数据中取出列表数据 res=url源返回数据, d数据字典配置数据, tree bool 是否根据树形格式处理
function GetDataArr(res, data) {
var Result = new Object();
//有些路径返回类型为字符串, 将可能出现的字符串转为json对象
if (res.constructor == String)
Result = eval('(' + res + ')');
else
Result = res;
//console.log(Result);
var items = new Array();
//针对某些路径返回的对象属性, 所需列表为返回对象的一个属性时的处理方式
if (Result.constructor == Array)
items = Result;
else {
Result.Data;
for (var p in Result) {
if (Result[p].constructor == Array)
items = Result[p];
}
}
//将获取到的列表根据字典配置规则 属性名变更为字典标准属性名
var arr = new Array();
for (var i = 0; i < items.length; i++) {
var item = items[i];
var obj = new Object();
if (data.ParentID) {
obj.ID = item[data.ID];
obj.ParentID = item[data.ParentID];
obj.Level = item[data.Level];
obj.Text = item[data.Text];
obj.Value = item[data.Value];
} else {
obj.Text = item[data.Text];
obj.Value = item[data.Value];
}
arr.push(obj);
}
return arr;
}
//list 转成树形json
function listToTree(list, pid) {
var ret = [];//一个存放结果的临时数组
for (var i in list) {
if (list[i].ParentID == pid) {//如果当前项的父id等于要查找的父id,进行递归
list[i].children = listToTree(list, list[i].ID);
ret.push(list[i]);//把当前项保存到临时数组中
}
}
return ret;//递归结束后返回结果
}