1022 lines
26 KiB
JavaScript
1022 lines
26 KiB
JavaScript
var post = {
|
|
zy: {
|
|
name: "专业",
|
|
url: "/report/device/findSubSystemMS",
|
|
// url: '/report/reportForm/findTenantList',
|
|
param: "",
|
|
data: []
|
|
},
|
|
cz: {
|
|
name: "厂站",
|
|
url: "/report/device/findStationLocationMS",
|
|
// url: '/report/reportForm/findAreaList',
|
|
param: "",
|
|
data: []
|
|
},
|
|
dev: {
|
|
name: "所有设备",
|
|
url: "/report/device/findDeviceMS",
|
|
// url: '/report/reportForm/findAreaDeviceList',
|
|
param: "",
|
|
data: []
|
|
},
|
|
gdc: {
|
|
name: "获取设备下所有测点",
|
|
url: "/report/device/checkDevicePropertity",
|
|
param: "",
|
|
data: []
|
|
},
|
|
cd: {
|
|
name: "所有测点",
|
|
url: "/report/device/findDevicePropertity",
|
|
param: "",
|
|
data: {}
|
|
},
|
|
addReport: {
|
|
name: "增加修改报表",
|
|
url: "/report/fileFolder/saveOrUpdateFileFolderMs"
|
|
},
|
|
allReport: {
|
|
name: "获取所有报表文件信息",
|
|
url: "/report/fileFolder/findFileFolderMs"
|
|
},
|
|
delFile: {
|
|
name: "删除文件",
|
|
url: "/report/fileFolder/deleteFileFolderByTreeCodeMs"
|
|
},
|
|
getReport: {
|
|
name: "获取报表详细信息",
|
|
url: "/report/fileFolder/findFileFolderByTreeCodeMs"
|
|
},
|
|
syCd: {
|
|
name: "收益测点",
|
|
url: "/report/monitorBusiness/findDevicePropertyMSByDev"
|
|
},
|
|
userGroup: {
|
|
name: "获取用户组",
|
|
url: "/report/fileFolder/findUsergDefList"
|
|
},
|
|
save: {
|
|
name: "保存权限",
|
|
url: "/report/fileFolder/insertUsergReportInfoList"
|
|
},
|
|
fileInput: {
|
|
name: "文件导入",
|
|
url: "/report/fileFolder/upload"
|
|
},
|
|
fileOutput: {
|
|
name: "文件导出",
|
|
url: "/report/fileFolder/download"
|
|
},
|
|
modelList: {
|
|
name: "模板文件",
|
|
url: "/report/api/ureport2/getXMLNameList"
|
|
},
|
|
excelUpload: {
|
|
name: "excel模板导入",
|
|
url: "/report/fileFolder/uploadExcel"
|
|
},
|
|
excelSave: {
|
|
name: "excel报表保存",
|
|
url: "/report/fileFolder/saveOrUpdateExcel"
|
|
}
|
|
};
|
|
//excel报表保存
|
|
function excelReportSave(param, fn) {
|
|
axios.post(post.excelSave.url, param).then(function(res) {
|
|
var d = res.data;
|
|
vm.$notify({
|
|
title: d.operateFlag ? vm.i18n.prompt.suc : vm.i18n.prompt.fail,
|
|
message: d.message,
|
|
type: d.operateFlag ? "success" : "error"
|
|
});
|
|
vm.excelSaveLoading = false;
|
|
if (d.operateFlag) {
|
|
getReportTree();
|
|
vm.excelFilesPanel = false;
|
|
fn(res);
|
|
}
|
|
});
|
|
}
|
|
|
|
function getModelList() {
|
|
axios.post(post.modelList.url, {}).then(function(res) {
|
|
vm.report_types = res.data.data || [];
|
|
vm.modelType = vm.report_types[0] ? vm.report_types[0].name : "";
|
|
});
|
|
}
|
|
function getDevCD(devCodeString) {
|
|
axios.post(post.gdc.url, { devTpName: devCodeString }).then(function(res) {
|
|
vm.devHasCD = res.data;
|
|
});
|
|
}
|
|
/**
|
|
* @desc 拦截请求qs序列化和添加token
|
|
*/
|
|
axios.interceptors.request.use(
|
|
function(config) {
|
|
var o = getToken();
|
|
if (o.token) {
|
|
//添加token
|
|
config.headers.Authorization = "Bearer " + o.token;
|
|
}
|
|
config.headers.language = i18n();
|
|
if (config.method === "post" && config.url !== post.addReport.url) {
|
|
config.data = Qs.stringify(config.data, {
|
|
allowDots: true,
|
|
arrayFormat: "indices"
|
|
});
|
|
}
|
|
return config;
|
|
},
|
|
function(err) {
|
|
return Promise.reject(err);
|
|
}
|
|
);
|
|
|
|
function fileOutput(treeCode) {
|
|
location.href = post.fileOutput.url + "?treeCode=" + treeCode.treeCode;
|
|
// axios.get(post.fileOutput.url, {params:treeCode})
|
|
// .then(function (res) {
|
|
// console.log(res)
|
|
// })
|
|
}
|
|
/**保存权限 */
|
|
function setGroupPower({ usergArr, treeCode, id }) {
|
|
axios
|
|
.post(post.save.url, {
|
|
usergArr: usergArr,
|
|
treeCode: treeCode,
|
|
id: id
|
|
})
|
|
.then(function(res) {
|
|
vm.$notify({
|
|
title: vm.i18n.prompt.power,
|
|
message: vm.i18n.prompt.set,
|
|
type: "success"
|
|
});
|
|
vm.powerPanel = false;
|
|
})
|
|
.catch(function(err) {
|
|
console.error(err);
|
|
});
|
|
}
|
|
/**获取用户组 */
|
|
function getAllUserGroup() {
|
|
if (powerDialog()) {
|
|
axios
|
|
.post(post.userGroup.url, {})
|
|
.then(function(res) {
|
|
post.userGroup.data = res.data.usergInfo;
|
|
vm.allUserGroup = [];
|
|
for (var i = 0; i < res.data.usergInfo.length; i++) {
|
|
var d = res.data.usergInfo[i];
|
|
vm.allUserGroup.push({
|
|
id: d.PERM_ID,
|
|
name: d.PERM_NAME
|
|
});
|
|
vm.checkedGroup.push(d.PERM_ID);
|
|
}
|
|
})
|
|
.catch(function(err) {
|
|
console.error(err);
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @desc 重新请求接口
|
|
* @param {*} title
|
|
* @param {*} fn
|
|
*/
|
|
function reQueryPost(title, fn, context, param) {
|
|
vm.$confirm(title, vm.i18n.prompt.tip, {
|
|
confirmButtonText: vm.i18n.prompt.ok,
|
|
cancelButtonText: vm.i18n.prompt.cancel,
|
|
type: "info",
|
|
callback: function(action, instance) {
|
|
if (action == "confirm") {
|
|
if (!context) {
|
|
context = window;
|
|
}
|
|
context[fn].apply(context, param);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var devFn = {
|
|
requestCount: 0,
|
|
ress: {},
|
|
complate: function(fn) {
|
|
configDevSearch().map(function(v) {
|
|
devFn[v.fnName](v.labelName, v.type, devFn.definedFn(fn));
|
|
});
|
|
},
|
|
definedFn: function(fn) {
|
|
return function() {
|
|
if (configDevSearch().length == devFn.requestCount) {
|
|
devFn.requestCount--;
|
|
fn(devFn.ress);
|
|
}
|
|
};
|
|
},
|
|
setElSelect(labelName, type, fnName, res) {
|
|
var obj = {
|
|
getZY: "profession",
|
|
getST: "station"
|
|
};
|
|
vm[obj[fnName]] = res; //赋值
|
|
vm[obj[fnName] + "_info"] = {
|
|
label: labelName,
|
|
type: type
|
|
};
|
|
res[0] && (vm["check_" + obj[fnName]] = res[0].id); //附加初始值
|
|
},
|
|
getZY: function(labelName, type, fn) {
|
|
/*获取专业信息*/
|
|
axios
|
|
.post(post.zy.url, {})
|
|
.then(function(res) {
|
|
var arr = res.data.mapData.subSystemList;
|
|
post.zy.data = arr;
|
|
//处理数据
|
|
var resData = devFn.dataToList(arr, {
|
|
label: "name",
|
|
id: "subSystemId",
|
|
code: "code"
|
|
});
|
|
// for (var i = 0; i < arr.length; i++) {
|
|
// var obj = {
|
|
// label: arr[i].name,
|
|
// id: arr[i].subSystemId,
|
|
// code: arr[i].code
|
|
// }
|
|
// resData.push(obj);
|
|
// }
|
|
|
|
//缓存数据
|
|
|
|
devFn.ress.getZY = resData;
|
|
|
|
// vm.profession = resData;
|
|
// resData[0] && (vm.check_profession = resData[0].id);//附加初始值
|
|
|
|
//设置vm数据以及其他
|
|
devFn.setElSelect(labelName, type, "getZY", resData);
|
|
devFn.requestCount++;
|
|
fn(fn);
|
|
// if (post.cz.data[0] !== undefined) {
|
|
// getDev(post.zy.data[0].id, post.cz.data[0].id)
|
|
// }
|
|
})
|
|
.catch(function(err) {
|
|
console.error(err);
|
|
reQueryPost(vm.i18n.prompt.zyerr, "getZY", devFn, [
|
|
labelName,
|
|
type,
|
|
fn
|
|
]);
|
|
});
|
|
},
|
|
getST: function(labelName, type, fn) {
|
|
/*获取车站信息*/
|
|
axios
|
|
.post(post.cz.url, {})
|
|
.then(function(res) {
|
|
var arr = res.data.mapData.stationLocationList;
|
|
post.cz.data = arr;
|
|
var resData =
|
|
type == "list"
|
|
? devFn.dataToList(arr, {
|
|
label: "name",
|
|
id: "locationId",
|
|
code: "code"
|
|
})
|
|
: devFn.dataToTree(arr, {
|
|
label: "name",
|
|
id: "locationId",
|
|
code: "code"
|
|
});
|
|
// for (var i = 0; i < arr.length; i++) {
|
|
// resData.push({
|
|
// label: arr[i].name,
|
|
// id: arr[i].locationId,
|
|
// key: '',
|
|
// code: arr[i].code
|
|
// });
|
|
// }
|
|
|
|
// vm.station = resData;
|
|
// resData[0]&&(vm.check_station = resData[0].id);//附加初始值
|
|
|
|
devFn.ress.getST = resData;
|
|
devFn.setElSelect(labelName, type, "getST", resData);
|
|
devFn.requestCount++;
|
|
fn(fn);
|
|
// getDev(post.zy.data[0] !== undefined ? post.zy.data[0].id : '', post.cz.data[0].id);
|
|
})
|
|
.catch(function(err) {
|
|
console.error(err);
|
|
reQueryPost(vm.i18n.prompt.czerr, "getST", devFn, [
|
|
labelName,
|
|
type,
|
|
fn
|
|
]);
|
|
});
|
|
},
|
|
dataToList(arr, keys) {
|
|
var resData = [];
|
|
for (var i = 0; i < arr.length; i++) {
|
|
var obj = {},
|
|
d = arr[i];
|
|
for (var k in keys) {
|
|
obj[k] = d[keys[k]];
|
|
}
|
|
resData.push(obj);
|
|
}
|
|
return resData;
|
|
},
|
|
dataToTree(arr, keys) {
|
|
var resData = [],
|
|
treeNode = {};
|
|
for (var i = 0; i < arr.length; i++) {
|
|
var obj = {},
|
|
d = arr[i];
|
|
for (var k in keys) {
|
|
obj[k] = d[keys[k]];
|
|
}
|
|
obj.treeCode = d.treeCode;
|
|
obj.treePCode = d.treePCode;
|
|
if (treeNode[d.treeCode]) {
|
|
treeNode[d.treeCode] = Object.assign(treeNode[d.treeCode], obj);
|
|
} else {
|
|
treeNode[d.treeCode] = obj;
|
|
}
|
|
if (d.treePCode === undefined || d.treePCode === "") {
|
|
resData.push(treeNode[d.treeCode]);
|
|
} else {
|
|
if (treeNode[d.treePCode]) {
|
|
treeNode[d.treePCode].children
|
|
? treeNode[d.treePCode].children.push(treeNode[d.treeCode])
|
|
: (treeNode[d.treePCode].children = [treeNode[d.treeCode]]);
|
|
} else {
|
|
treeNode[d.treePCode] = {
|
|
treeCode: d.treePCode,
|
|
children: [treeNode[d.treeCode]]
|
|
};
|
|
}
|
|
}
|
|
}
|
|
return resData;
|
|
}
|
|
};
|
|
|
|
/* 获取收益测点 */
|
|
function getProceeds(param) {
|
|
if (!param) {
|
|
return false;
|
|
}
|
|
axios
|
|
.post(post.syCd.url, {
|
|
devCode: param
|
|
})
|
|
.then(function(res) {
|
|
var num = 0,
|
|
tvalue = vm.cur_report_type.value,
|
|
expaned = {};
|
|
var dflt = {
|
|
check: [],
|
|
node: [],
|
|
expaned: []
|
|
};
|
|
for (
|
|
var i = 0, arr = [], obj = {};
|
|
i < res.data.mapData.pointList.length;
|
|
i++
|
|
) {
|
|
var d = res.data.mapData.pointList[i];
|
|
if (d.property == "ym") {
|
|
if (tvalue == "month" && d.name.indexOf("日") == -1) {
|
|
continue;
|
|
} else if (tvalue == "year" && d.name.indexOf("月") == -1) {
|
|
continue;
|
|
}
|
|
}
|
|
var key = d.name.substr(0, 1);
|
|
if (obj[key] === undefined) {
|
|
obj[key] = {
|
|
label: key,
|
|
code: d.sname,
|
|
nodetype: "property_type",
|
|
tid: "t_" + num++,
|
|
children: []
|
|
};
|
|
arr.push(obj[key]);
|
|
|
|
dflt.check.push(obj[key].tid);
|
|
dflt.node.push(obj[key].tid);
|
|
if (expaned[obj[key].ptid] === undefined) {
|
|
dflt.expaned.push(obj[key].ptid);
|
|
expaned[obj[key].ptid] = true;
|
|
}
|
|
}
|
|
|
|
obj[key].children.push({
|
|
label: d.name,
|
|
code: d.sname,
|
|
nodetype: "property",
|
|
value: d.value,
|
|
tid: "p_" + num++,
|
|
type: d.property,
|
|
ptid: obj[key].tid
|
|
});
|
|
|
|
dflt.check.push(obj[key].children[obj[key].children.length - 1].tid);
|
|
dflt.node.push(obj[key].children[obj[key].children.length - 1].tid);
|
|
}
|
|
post.syCd.data = obj;
|
|
vm.default_property = dflt;
|
|
vm.all_property = obj;
|
|
vm.creatProperty();
|
|
})
|
|
.catch(function(err) {});
|
|
}
|
|
|
|
/*获取所有设备信息*/
|
|
function getDev(subSystem, station) {
|
|
axios
|
|
.post(post.dev.url, {
|
|
subSystem: subSystem,
|
|
station: station
|
|
})
|
|
.then(function(res) {
|
|
var resData = [];
|
|
resData = listToTree(res.data.mapData.deviceMsList, function(o) {
|
|
var obj = {
|
|
label: o.name,
|
|
code: o.treeCode,
|
|
e: defaulte(),
|
|
devType: true
|
|
};
|
|
return obj;
|
|
});
|
|
var jsonstring = JSON.stringify(resData);
|
|
post.dev.data = JSON.parse(jsonstring);
|
|
vm.all_dev = JSON.parse(jsonstring);
|
|
vm.clone_all_dev = JSON.parse(jsonstring);
|
|
vm.tree_loading = false;
|
|
})
|
|
.catch(function(err) {});
|
|
}
|
|
|
|
/**
|
|
* @desc 获取所有属性
|
|
*/
|
|
function getCdInfo(param, flag) {
|
|
var resData = {},
|
|
num = 0;
|
|
|
|
var _param = {
|
|
devTpName: param === undefined ? "" : param.devTpName,
|
|
type: param === undefined ? "" : param.type
|
|
};
|
|
axios
|
|
.post(post.cd.url, _param)
|
|
.then(function(res) {
|
|
var errFlag = true;
|
|
var arr = res.data.mapData.measuringList;
|
|
var tidList=[];
|
|
if(!vm.isNew){
|
|
tidList=vm.cd_tid;
|
|
}
|
|
var dflt = {
|
|
check: [],
|
|
node: [],
|
|
expaned: []
|
|
},
|
|
expaned = {};
|
|
for (var i = 0; i < arr.length; i++) {
|
|
var type = {
|
|
label: arr[i].name,
|
|
code: arr[i].type,
|
|
nodetype: "property_type",
|
|
// tid: "t_" + num++,
|
|
tid: "t_" + arr[i].type+';',
|
|
children: []
|
|
};
|
|
var pro = arr[i].propertyList;
|
|
for (var n = 0; n < pro.length; n++) {
|
|
var property = {
|
|
label: pro[n].name + "(" + pro[n].code + ")",
|
|
code: pro[n].code,
|
|
isCommon: pro[n].typeValue,
|
|
type: arr[i].type,
|
|
nodetype: "property",
|
|
pointType: pro[n].pointType,
|
|
stateText: pro[n].stateText,
|
|
stateTextList: pro[n].stateTextList,
|
|
// tid: "p_" + num++,
|
|
tid: "p_" + pro[n].code+";",
|
|
ptid: type.tid,
|
|
children: []
|
|
};
|
|
|
|
//新建时取默认,非新建时取原来
|
|
if ((vm.isNew&&property.isCommon == 1)||(tidList.indexOf(property.tid)!==-1&&!vm.isNew)) {
|
|
dflt.check.push(property.tid);
|
|
dflt.node.push(property);
|
|
if (expaned[property.ptid] === undefined) {
|
|
dflt.expaned.push(property.ptid);
|
|
expaned[property.ptid] = true;
|
|
}
|
|
}
|
|
var mst = pro[n].measuringStaticTypeList;
|
|
if (mst.length == 0 && errFlag) {
|
|
errFlag = false;
|
|
vm.$notify({
|
|
title: vm.i18n.prompt.fail,
|
|
message: "ERROR",
|
|
type: "error"
|
|
});
|
|
}
|
|
for (var k = 0; k < mst.length; k++) {
|
|
property.children.push({
|
|
label: mst[k].name,
|
|
code: mst[k].type,
|
|
propertyCode: pro[n].code,
|
|
nodetype: "property_value",
|
|
value: mst[k].value,
|
|
// tid: "s_" + num++,
|
|
tid: property.tid+"s_" + mst[k].type+";",
|
|
ptid: property.tid
|
|
});
|
|
//新建时取默认,非新建时取原来
|
|
|
|
if ((vm.isNew&&property.isCommon == 1&&k===0)||(tidList.indexOf(property.children[k].tid)!==-1&&!vm.isNew)) {
|
|
dflt.check.push(property.children[k].tid);
|
|
dflt.node.push(property.children[k]);
|
|
}
|
|
}
|
|
type.children.push(property);
|
|
}
|
|
resData[arr[i].type] = type;
|
|
}
|
|
|
|
|
|
vm.default_property = dflt;
|
|
console.log("getCdInfo -> dflt", dflt)
|
|
if (param.devList && param.devTypeList) {
|
|
vm.pushCd(param.devList, param.devTypeList, dflt.node);
|
|
}
|
|
post.cd.data = resData;
|
|
vm.all_property = resData;
|
|
vm.creatProperty();
|
|
})
|
|
.catch(function(err) {});
|
|
}
|
|
|
|
function getCheckedNodeTid(nodeList){
|
|
if(nodeList instanceof Array){
|
|
var nodetype={property:1,property_value:1};
|
|
var children=[];
|
|
var processed={};
|
|
var result=nodeList.reduce((o,v,i)=>{
|
|
if(nodetype[v.nodetype]){
|
|
var tid=v.tid.split(';');
|
|
if(tid.length>1){tid.length=tid.length-1}
|
|
var r=tid.join(';')+';'
|
|
if(!processed[r]){
|
|
o.push(r);
|
|
processed[r]=1;
|
|
}
|
|
}
|
|
|
|
if(v.children&&v.children.length>0){
|
|
children=children.concat(v.children);
|
|
}
|
|
return o;
|
|
},[]);
|
|
if(children.length>0){
|
|
result=result.concat(getCheckedNodeTid(children));
|
|
}
|
|
return result
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @desc 增加修改报表
|
|
* treePCode:102//父级id
|
|
* name:报表名
|
|
* type: type:类型 0文件夹、1文件
|
|
* fileDetail:报表内容
|
|
* operateFlag:操作标志//0新增、1修改
|
|
*
|
|
* @param{Object}param
|
|
*
|
|
*/
|
|
function auReport(param, node, fn,func) {
|
|
var flag = param.operateFlag;
|
|
axios
|
|
.post(
|
|
post.addReport.url,
|
|
pako.gzip(encodeURIComponent(JSON.stringify(param)), {
|
|
to: "string"
|
|
}),
|
|
{
|
|
headers: {
|
|
"Content-Encoding": "gzip",
|
|
"Content-Type": "text/plain"
|
|
}
|
|
}
|
|
)
|
|
.then(function(res) {
|
|
var d = res.data;
|
|
vm.$notify({
|
|
title: d.operateFlag ? vm.i18n.prompt.suc : vm.i18n.prompt.fail,
|
|
message: d.message,
|
|
type: d.operateFlag ? "success" : "error"
|
|
});
|
|
vm.save_loading = false;
|
|
if (node !== undefined && fn !== undefined && d.operateFlag) {
|
|
fn(node, d.obj);
|
|
}
|
|
if(typeof func==='function'&&!d.operateFlag){
|
|
func();
|
|
}
|
|
if (
|
|
powerDialog() &&
|
|
flag == 0 &&
|
|
d &&
|
|
d.operateFlag &&
|
|
d.obj &&
|
|
d.obj.type == 1
|
|
) {
|
|
vm.showPowerPanel({
|
|
treeCode: d.obj.treeCode,
|
|
id: d.obj.id
|
|
});
|
|
}
|
|
})
|
|
.catch(function(err) {
|
|
vm.$notify({
|
|
title: vm.i18n.prompt.fail,
|
|
message: vm.i18n.prompt.adderr,
|
|
type: "error"
|
|
});
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @desc 获取所有报表文件信息
|
|
* @param {Object} param 参数treeCode
|
|
*/
|
|
function getReportTree(param) {
|
|
if (param === undefined) {
|
|
param = {};
|
|
}
|
|
axios
|
|
.post(post.allReport.url, param)
|
|
.then(function(res) {
|
|
var arr = listToTree(res.data.mapData.fileFolderList, function(o) {
|
|
return {
|
|
code: o.treeCode,
|
|
label: o.name,
|
|
filetype: "report",
|
|
type: o.type
|
|
};
|
|
});
|
|
vm.reportFiles = arr;
|
|
vm.checkedFiles = arr;
|
|
})
|
|
.catch(function(err) {});
|
|
}
|
|
/**
|
|
* @desc 删除文件或文件夹
|
|
* @param {Object} param
|
|
*/
|
|
function deleteReport(param, fn) {
|
|
if (param === undefined) {
|
|
param = {};
|
|
}
|
|
axios
|
|
.post(post.delFile.url, param)
|
|
.then(function(res) {
|
|
var d = res.data;
|
|
vm.$notify({
|
|
title: d.operateFlag ? vm.i18n.prompt.suc : vm.i18n.prompt.fail,
|
|
message: d.message,
|
|
type: d.operateFlag ? "success" : "error"
|
|
});
|
|
fn(d.operateFlag);
|
|
})
|
|
.catch(function(err) {
|
|
vm.$notify({
|
|
title: vm.i18n.prompt.err,
|
|
message: vm.i18n.prompt.delerr,
|
|
type: "error"
|
|
});
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @desc 获取文件详细信息
|
|
* @param {Object} param
|
|
* @param {Function} fn
|
|
*/
|
|
function getReportDetail(param, fn) {
|
|
if (param === undefined) {
|
|
return false;
|
|
}
|
|
axios
|
|
.post(post.getReport.url, param)
|
|
.then(function(res) {
|
|
var d = res.data;
|
|
var detail = d.mapData.fileFolder.fileDetail;
|
|
fn(detail);
|
|
vm.$notify({
|
|
title: d.operateFlag ? vm.i18n.prompt.suc : vm.i18n.prompt.fail,
|
|
message: d.message,
|
|
type: d.operateFlag ? "success" : "error"
|
|
});
|
|
var obj = {
|
|
treePCode: d.mapData.fileFolder.treePCode,
|
|
treeCode: d.mapData.fileFolder.treeCode,
|
|
name: d.mapData.fileFolder.name,
|
|
type: d.mapData.fileFolder.type,
|
|
fileDetail: detail,
|
|
operateFlag: 1
|
|
};
|
|
vm.openedFile = obj;
|
|
})
|
|
.catch(function(err) {
|
|
vm.$notify({
|
|
title: vm.i18n.prompt.fail,
|
|
message: vm.i18n.prompt.readerr,
|
|
type: "error"
|
|
});
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @desc
|
|
* @param {*} type
|
|
* @param {*} start
|
|
* @param {*} interval
|
|
*/
|
|
function getTimeList(type, start, interval, ban) {
|
|
var itv = Number(Math.floor(interval * 60));
|
|
var arr = [],
|
|
obj = {
|
|
day: 24,
|
|
udf: 16,
|
|
tm: 3,
|
|
td: 7,
|
|
year: 12,
|
|
month: 31,
|
|
cr: 8
|
|
};
|
|
|
|
if (isNaN(itv)) {
|
|
itv = 60;
|
|
}
|
|
var num;
|
|
//日||自定义
|
|
if (type == "day" || type == "udf") {
|
|
var s = start < 0 ? -24 - start : start;
|
|
if (ban == "cr") {
|
|
type = ban;
|
|
}
|
|
for (var i = 0; i < obj[type] * 60; i = i + itv) {
|
|
var hour = (Math.floor(i / 60) + s) % 24;
|
|
var miu = Number(i % 60);
|
|
if (miu < 10) {
|
|
miu = "0" + miu;
|
|
}
|
|
arr.push({
|
|
label:
|
|
(hour < 0
|
|
? /*'昨日'+*/ prependZero(24 + hour)
|
|
: /*'今日'+*/ prependZero(hour)) +
|
|
":" +
|
|
miu,
|
|
code: i.toFixed(2),
|
|
start: start,
|
|
tid: "l_" + i
|
|
});
|
|
}
|
|
} else if (type == "year") {
|
|
var s = start < 0 ? -12 - start : start;
|
|
for (var i = 0; i < 12; i++) {
|
|
num = (i + s) % 12;
|
|
arr.push({
|
|
label: num == 0 ? 12 : num < 0 ? /*'去年'+*/ 12 + num : /*'今年'+*/ num,
|
|
code: i.toFixed(2),
|
|
start: start,
|
|
tid: "l_" + i
|
|
});
|
|
}
|
|
} else {
|
|
var s = start < 0 ? -31 - start : start;
|
|
for (var i = 0; i < obj[type]; i++) {
|
|
num = (i + s) % 31;
|
|
arr.push({
|
|
label: num == 0 ? 31 : num < 0 ? /*'上月'+*/ 31 + num : /*'本月'+*/ num,
|
|
code: i.toFixed(2),
|
|
start: start,
|
|
tid: "l_" + i
|
|
});
|
|
}
|
|
}
|
|
return arr;
|
|
}
|
|
|
|
//工具方法
|
|
/*把list转成tree结构数据*/
|
|
function listToTree(arr, fn) {
|
|
arr === undefined && (arr = []);
|
|
var result = [],
|
|
allObj = {},
|
|
p = [];
|
|
for (var i = 0; i < arr.length; i++) {
|
|
if (arr[i].treeCode && arr[i].treeCode === arr[i].treePCode) {
|
|
continue;
|
|
}
|
|
//构建对象
|
|
if (allObj[arr[i].treeCode] === undefined) {
|
|
allObj[arr[i].treeCode] = arr[i];
|
|
allObj[arr[i].treeCode].children = [];
|
|
} else {
|
|
allObj[arr[i].treeCode] = Object.assign(
|
|
{},
|
|
arr[i],
|
|
allObj[arr[i].treeCode]
|
|
);
|
|
}
|
|
allObj[arr[i].treeCode] = Object.assign(
|
|
{},
|
|
allObj[arr[i].treeCode],
|
|
fn(arr[i])
|
|
);
|
|
if (!arr[i].treePCode) {
|
|
//如果没有treePCode或treePCode为空,默认最高级
|
|
if (arr[i].treeCode.devType !== undefined) {
|
|
arr[i].treeCode.devType = false;
|
|
}
|
|
p.push(arr[i].treeCode);
|
|
} else {
|
|
if (allObj[arr[i].treePCode]) {
|
|
if (arr[i].treePCode.devType !== undefined) {
|
|
arr[i].treePCode.devType = false;
|
|
}
|
|
allObj[arr[i].treePCode].children.push(allObj[arr[i].treeCode]);
|
|
} else {
|
|
allObj[arr[i].treePCode] = {
|
|
children: [allObj[arr[i].treeCode]],
|
|
devType: false
|
|
};
|
|
}
|
|
}
|
|
}
|
|
//类别
|
|
for (var k in allObj) {
|
|
if (allObj[k].children === undefined || allObj[k].children.length == 0) {
|
|
allObj[k].nodetype = "dev";
|
|
} else {
|
|
allObj[k].nodetype = "dev_type";
|
|
allObj[k].children = allObj[k].children.sort(function(a, b) {
|
|
return a.remark10 - b.remark10;
|
|
});
|
|
}
|
|
}
|
|
//组合成节点格式
|
|
for (var k = 0; k < p.length; k++) {
|
|
result.push(allObj[p[k]]);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
if (!Object.assign) {
|
|
Object.defineProperty(Object, "assign", {
|
|
enumerable: false,
|
|
configurable: true,
|
|
writable: true,
|
|
value: function(target, firstSource) {
|
|
"use strict";
|
|
if (target === undefined || target === null)
|
|
throw new TypeError("Cannot convert first argument to object");
|
|
var to = Object(target);
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var nextSource = arguments[i];
|
|
if (nextSource === undefined || nextSource === null) continue;
|
|
var keysArray = Object.keys(Object(nextSource));
|
|
for (
|
|
var nextIndex = 0, len = keysArray.length;
|
|
nextIndex < len;
|
|
nextIndex++
|
|
) {
|
|
var nextKey = keysArray[nextIndex];
|
|
var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
|
|
if (desc !== undefined && desc.enumerable)
|
|
to[nextKey] = nextSource[nextKey];
|
|
}
|
|
}
|
|
return to;
|
|
}
|
|
});
|
|
}
|
|
|
|
function prependZero(n) {
|
|
return n < 10 && n >= 0 ? "0" + n : n;
|
|
}
|
|
|
|
/**
|
|
* @desc 初始化
|
|
*/
|
|
|
|
function init(vm) {
|
|
if (!vm.reportFilesPanel) {
|
|
/*报表类型初始化*/
|
|
vm.report_types = getReportType();
|
|
/*报表样式初始化*/
|
|
vm.report_style = getReportStyle();
|
|
|
|
devFn.complate(function(res) {
|
|
var params = [];
|
|
params[0] = res.getZY && res.getZY[0] ? res.getZY[0].id : "";
|
|
params[1] = res.getST && res.getST[0] ? res.getST[0].id : "";
|
|
getDev(params[0], params[1]);
|
|
});
|
|
// getZY(); //专业
|
|
// getST(); //车站
|
|
// getCdInfo();//测点信息
|
|
getReportTree(); //所有报表
|
|
if (powerDialog()) {
|
|
getAllUserGroup(); //获取所有用户组
|
|
}
|
|
vm.cur_report_type = vm.report_types[0];
|
|
vm.sketch = vm.report_types[0].type[0];
|
|
vm.cur_report_style = vm.report_style[0];
|
|
}
|
|
}
|
|
function initModel(vm) {
|
|
getModelList();
|
|
devFn.complate(function(res) {
|
|
var params = [];
|
|
params[0] = res.getZY && res.getZY[0] ? res.getZY[0].id : "";
|
|
params[1] = res.getST && res.getST[0] ? res.getST[0].id : "";
|
|
getDev(params[0], params[1]);
|
|
});
|
|
getReportTree(); //所有报表
|
|
if (powerDialog()) {
|
|
getAllUserGroup(); //获取所有用户组
|
|
}
|
|
}
|
|
|
|
(function($) {
|
|
$(document)
|
|
.on("mousedown", "#table td>div,#table th>div", function() {
|
|
return false;
|
|
})
|
|
.on("mousedown", ".udf-width td,.udf-width th", function(e) {
|
|
var $td = $(this);
|
|
var width = parseFloat($td.css("width"), 10);
|
|
var tw = parseFloat($("#table").css("width"), 10);
|
|
var ox = e.pageX || e.clientX;
|
|
var w = 0;
|
|
var index = $td.index();
|
|
$("#table")
|
|
.addClass("noselect")
|
|
.attr("unselectable", "on");
|
|
$("body").on("mousemove", function(event) {
|
|
var nx = event.pageX || event.clientX;
|
|
w = nx - ox;
|
|
$td.css("width", width + w + "px");
|
|
$("#table").css("width", tw + w + "px");
|
|
});
|
|
$("body").on("mouseup", function() {
|
|
$("body")
|
|
.removeClass("noselect")
|
|
.removeAttr("unselectable");
|
|
$("body")
|
|
.off("mousemove")
|
|
.off("mouseup");
|
|
vm.table = $("#table").html();
|
|
vm.tb_width = parseFloat($("#table").css("width"), 10);
|
|
vm.cols_width[index] = parseFloat($td.css("width"));
|
|
$("#table")
|
|
.removeClass("noselect")
|
|
.removeAttr("unselectable");
|
|
});
|
|
});
|
|
if (window.parent && self == window.parent) {
|
|
$("body").css("background", getTheme()["$bg-color"]);
|
|
}
|
|
})(jQuery);
|
|
|
|
function listToObj(list) {
|
|
for (var i = 0, obj = {}; i < list.length; i++) {
|
|
obj[list[i].treeCode] = list[i];
|
|
}
|
|
return obj;
|
|
}
|