const utils = { // 设定通知人员的提交数据处理 setNoticeUserData: function(data) { let arr = [] data.forEach(item => { let obj = { id: item.id, sendMessage: item.sendMessage || 0, sendEmail: item.sendEmail || 0, sendWechat: item.sendWechat || 0 } arr.push(obj) }) return arr }, // 获取objType名称 getObjName(code) { let name = '---' switch (code) { case 'building': name = '建筑' break case 'floor': name = '楼层' break case 'space': name = '空间' break case 'system': name = '系统类' break case 'facility': name = '设备类' break } return name }, // 通过查看报警通知的原始数据=》树形结构 userToTree(userData) { let obj = {} userData.forEach(ele => { obj[ele.id] = {} obj[ele.id].userInfo = ele }) return obj }, //报警条目 =》 树形结构 alarmToTree(treeObj, userId, alarmData) { treeObj[userId].alarmData = alarmData return treeObj }, //树形结构转为正常数据 treeToData(treeObj) { // console.log('utils---------------------------------------------') // console.log(treeObj) let arr = [] for (let key in treeObj) { var index1 = null var index2 = null var index3 = null // console.log(treeObj[key]) let obj = {} let userValue = treeObj[key] Object.assign(obj, userValue.userInfo) obj.level = 1 obj.isExpend = false obj.isLow = true obj.isShow = true obj.index = arr.length obj.pid = null index1 = arr.length arr.push(obj) //1级数据 if (userValue.alarmData) { let alarmArr = userValue.alarmData var objType = alarmArr[0].objType var count = 0 let userInfoData = Object.assign({}, userValue.userInfo) alarmArr.forEach(item => { // console.log("_________________________________________") // console.log(item) if (item.objType == objType) { if (count == 0) { let obj2 = {} Object.assign(obj2, userInfoData) obj2.alarmId = item.id obj2.notifyUserList = item.notifyUserList // obj2.alarmLevel = item.level; obj2.objName = item.objName // obj2.instanceInfo = item.instanceInfo; // obj2.alarmName = item.name; obj2.level = 2 obj2.isExpend = false obj2.isLow = true obj2.isShow = false obj2.index = arr.length obj2.pid = index1 index2 = arr.length arr.push(obj2) //2级 let obj3 = {} Object.assign(obj3, userInfoData) obj3.alarmId = item.id obj3.notifyUserList = item.notifyUserList // obj3.alarmLevel = item.level; // obj3.objName = item.objName; obj3.instanceInfo = item.instanceInfo // obj3.alarmName = item.name; obj3.level = 3 obj3.isExpend = false obj3.isLow = true obj3.isShow = false obj3.index = arr.length obj3.pid = index2 index3 = arr.length arr.push(obj3) //3级 let obj4 = {} Object.assign(obj4, userInfoData) obj4.alarmId = item.id obj4.notifyUserList = item.notifyUserList obj4.alarmLevel = item.level // obj4.objName = item.objName; // obj4.instanceInfo = item.instanceInfo; obj4.alarmName = item.name obj4.level = 4 obj4.isExpend = false obj4.isLow = false obj4.isShow = false obj4.index = arr.length obj4.pid = index3 arr.push(obj4) //4级 count++ } else { //同4 let obj4 = {} Object.assign(obj4, userInfoData) obj4.alarmId = item.id obj4.notifyUserList = item.notifyUserList obj4.alarmLevel = item.level // obj4.objName = item.objName; // obj4.instanceInfo = item.instanceInfo; obj4.alarmName = item.name obj4.level = 4 obj4.isExpend = false obj4.isLow = false obj4.isShow = false obj4.index = arr.length obj4.pid = index3 arr.push(obj4) //4级 } } else { count = 1 objType = item.objType //同上2-4 let obj2 = {} Object.assign(obj2, userInfoData) obj2.alarmId = item.id // obj2.notifyUserList = item.notifyUserList; // obj2.alarmLevel = item.level; obj2.objName = item.objName // obj2.instanceInfo = item.instanceInfo; // obj2.alarmName = item.name; obj2.level = 2 obj2.isExpend = false obj2.isLow = true obj2.isShow = false obj2.index = arr.length obj2.pid = index1 index2 = arr.length arr.push(obj2) //2级 let obj3 = {} Object.assign(obj3, userInfoData) obj3.alarmId = item.id // obj3.notifyUserList = item.notifyUserList; // obj3.alarmLevel = item.level; // obj3.objName = item.objName; obj3.instanceInfo = item.instanceInfo // obj3.alarmName = item.name; obj3.level = 3 obj3.isExpend = false obj3.isLow = true obj3.isShow = false obj3.index = arr.length obj3.pid = index2 index3 = arr.length arr.push(obj3) //3级 let obj4 = {} Object.assign(obj4, userInfoData) obj4.alarmId = item.id obj4.notifyUserList = item.notifyUserList obj4.alarmLevel = item.level // obj4.objName = item.objName; // obj4.instanceInfo = item.instanceInfo; obj4.alarmName = item.name obj4.level = 4 obj4.isExpend = false obj4.isLow = false obj4.isShow = false obj4.index = arr.length obj4.pid = index3 arr.push(obj4) //4级 } }) } } return arr }, // 增加通知获取报警通知人员的多条报警条目 getAlarmItemAndNotice(tableData) { let alarmConfigResultIdList = [] let alarmIdArr = [] tableData.forEach(item => { if (item.sendEmail || item.sendMessage || item.sendWechat) { let obj = { alarmConfigResultId: item.id, sendEmail: item.sendEmail, sendMessage: item.sendMessage, sendWechat: item.sendWechat } alarmConfigResultIdList.push(obj) alarmIdArr.push(item.id) } }) return { alarmConfigResultIdList, alarmIdArr } }, // 批量适用于人员处理 applyUserHandle(data) { let arr = [] data.forEach(item => { if (item.sendMessage || item.sendEmail || item.sendWechat) { let obj = { id: item.id, sendMessage: item.sendMessage, sendEmail: item.sendEmail, sendWechat: item.sendWechat } arr.push(obj) } }) return arr }, // 判断手机号是否重复 repetePhone(arr, row) { let flag = true; let farr = arr.filter(item => { return item.phone == row.phone }) if (farr.length > 1) { flag = false } return flag; }, // 整合物理实体字典 entityDict(oldArr) { let obj = {}; oldArr.forEach((ele, index) => { obj[ele.id] = ele }) return obj; }, // 获取根据objtype获取名字前缀 objPreName: function (objType) { let pre = null; switch (objType) { case "building": pre = "Build"; break; case "floor": pre = "Floor"; break; case "space": pre = "Room"; break; case "system": pre = "Sys"; break; case "facility": pre = "Equip"; break; } return pre; } } export default utils