今天维护旧项目发现导出的路径拼接路径写的太复杂,简单优化了一下
有一说一 看着全局变量 和 一大堆的代码 属实让我这个前端有点难受
var _self = this;
_self.PageInfo.pageIndex = 1;
var dataInfo = form.getValue('FormModel');
_self.Search.HandlingDepartmentID = dataInfo.HandlingDepartmentID;
_self.Search.FlowIDSou = dataInfo.FlowIDSou;
_self.Search.IsRemindSou = dataInfo.IsRemindSou;
_self.Search.SouTypeIDSou = dataInfo.SouTypeIDSou;
_self.Search.SouSecondTypeIDSou = dataInfo.SouSecondTypeIDSou;
_self.Search.FirstLevelIDSou = dataInfo.FirstLevelIDSou;
_self.Search.SecondLevelIDSou = dataInfo.SecondLevelIDSou;
_self.Search.CaseActionIDSou = dataInfo.CaseActionIDSou;
_self.Search.StreetCodeSou = dataInfo.StreetCodeSou;
_self.Search.FindStartTime = dataInfo.FindStartTime;
_self.Search.FindEndTime = dataInfo.FindEndTime;
_self.Search.StartTime = dataInfo.StartTime;
_self.Search.EndTime = dataInfo.EndTime;
_self.Search.FinalStartTime = dataInfo.FinalStartTime;
_self.Search.FinalEndTime = dataInfo.FinalEndTime;
_self.Search.TaskStatus = dataInfo.TaskStatus;
_self.Search.IsComplete = dataInfo.IsComplete;
window.location.href = "/Api/Source/ExcelOut?SouNumberSou=" + _self.Search.SouNumberSou + "&AddressSou=" + _self.Search.AddressSou + "&ContentSou=" + _self.Search.ContentSou + "&HandlingDepartmentID=" + _self.Search.HandlingDepartmentID + "&FlowIDSou=" + _self.Search.FlowIDSou + "&IsRemindSou=" + _self.Search.IsRemindSou + "&SouTypeIDSou=" + _self.Search.SouTypeIDSou + "&SouSecondTypeIDSou=" + _self.Search.SouSecondTypeIDSou + "&FirstLevelIDSou=" + _self.Search.FirstLevelIDSou + "&SecondLevelIDSou=" + _self.Search.SecondLevelIDSou + "&CaseActionIDSou=" + _self.Search.CaseActionIDSou + "&StreetCodeSou=" + _self.Search.StreetCodeSou + "&FindStartTime=" + _self.Search.FindStartTime + "&FindEndTime=" + _self.Search.FindEndTime + "&StartTime=" + _self.Search.StartTime + "&EndTime=" + _self.Search.EndTime + "&FinalStartTime=" + _self.Search.FinalStartTime + "&FinalEndTime=" + _self.Search.FinalEndTime + "&TaskStatus=" + _self.Search.TaskStatus;
优化方案一
let _self = this;
_self.PageInfo.pageIndex = 1;
let dataInfo = form.getValue('FormModel');
let obj = {}
let str = ""
for (const key in _self.Search) {
obj[key] = dataInfo[key] ? dataInfo[key] : _self.Search[key] ? _self.Search[key] : "";
}
delete obj.IsCq;
for (const key in obj) {
str += `${key}=${searchKey}&`
}
window.location.href = "接口?" + str.slice(0, -1);
优化方案二 极致的压缩代码
let _self = this;
_self.PageInfo.pageIndex = 1;
let dataInfo = form.getValue('FormModel');
let str = ""
for (const key in _self.Search) {
let searchKey = dataInfo[key] ? dataInfo[key] : _self.Search[key] ? _self.Search[key] : '';
if (key != "IsCq") str += `${key}=${searchKey}&`
}
window.location.href = "接口?" + str.slice(0, -1);