449 lines
17 KiB
JavaScript
449 lines
17 KiB
JavaScript
|
angular.module('nurseApp').controller('alarmExpertConfigCtrl',['$scope','$filter','$rootScope','$modal','balert','bconfirm','baseTypeService','alarmExpertService','TemplateService','equipmentTemplateService','$q',
|
|||
|
function($scope,$filter,$rootScope,$modal,balert,bconfirm,baseTypeService,alarmExpertService,TemplateService,equipmentTemplateService,$q){
|
|||
|
(function(){
|
|||
|
$scope.selectEvent = {
|
|||
|
EquipmentId:'',
|
|||
|
baseEquipmentId:'',
|
|||
|
keyWor:'',
|
|||
|
expired:'NULL' //'NULL' 全部 0 未过期 1 过期
|
|||
|
}
|
|||
|
$scope.alarmexpertList = []
|
|||
|
$scope.equipmentTemplates = []
|
|||
|
$scope.alarmexpertInfo = {}
|
|||
|
$scope.uploadFileList = []
|
|||
|
$scope.allDevice = []
|
|||
|
$scope.allTemplate = []
|
|||
|
$scope.query = {
|
|||
|
baseEquipmentName:''
|
|||
|
}
|
|||
|
equipmentTemplateService.getAllEquipmentTemplate().then(function (data) {
|
|||
|
$scope.allTemplates = data;
|
|||
|
baseTypeService.getDeviceList().then(function(data){
|
|||
|
data.forEach(function(Equipment) {
|
|||
|
$scope.allDevice.push({
|
|||
|
EquipmentId:Equipment.EquipmentId,
|
|||
|
EquipmentName:Equipment.EquipmentName,
|
|||
|
EquipmentTemplateId:Equipment.EquipmentTemplateId,
|
|||
|
baseEquipmentId:_.findWhere($scope.allTemplates,{EquipmentTemplateId:Equipment.EquipmentTemplateId}).EquipmentBaseType
|
|||
|
});
|
|||
|
});
|
|||
|
})
|
|||
|
});
|
|||
|
TemplateService.GetEquipmentBaseType().then(function (data) {
|
|||
|
$scope.equipmentTemplates = data;
|
|||
|
$scope.serch()
|
|||
|
});
|
|||
|
})();
|
|||
|
|
|||
|
var setAlarmExpertDialog = $modal({
|
|||
|
scope: $scope,
|
|||
|
templateUrl: 'partials/alarmExpert/setAlarmExpert.html',
|
|||
|
show: false
|
|||
|
});
|
|||
|
$scope.alarmExpertDialog = {
|
|||
|
title:'',
|
|||
|
type:''
|
|||
|
}
|
|||
|
|
|||
|
$scope.serch = function(){
|
|||
|
alarmExpertService.getAlarmexpert($scope.selectEvent).then(function(data){
|
|||
|
if(data){
|
|||
|
$scope.alarmexpertList = data
|
|||
|
$scope.tableParams.onChange('',undefined)
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
$scope.getEquipmentBaseTypeName = function(baseId){
|
|||
|
if(baseId == '2200') return "ALL"
|
|||
|
var result = _.find($scope.equipmentTemplates, function (item) {
|
|||
|
return item.baseEquipmentId == baseId
|
|||
|
});
|
|||
|
if(result){
|
|||
|
return result.baseEquipmentName
|
|||
|
}
|
|||
|
return baseId
|
|||
|
}
|
|||
|
|
|||
|
$scope.getEquipmentNameByID = function(Id){
|
|||
|
var result = _.find($scope.allDevice, function (item) {
|
|||
|
return item.EquipmentId == Id
|
|||
|
});
|
|||
|
if(result){
|
|||
|
return result.EquipmentName
|
|||
|
}
|
|||
|
return baseId
|
|||
|
}
|
|||
|
|
|||
|
$scope.changeEquipmentBaseType = function(id){
|
|||
|
|
|||
|
}
|
|||
|
$scope.changeEquipment = function(id,selectEvent){
|
|||
|
var deferred = $q.defer();
|
|||
|
var TemplateId = _.findWhere($scope.allDevice,{EquipmentId:id}).EquipmentTemplateId
|
|||
|
TemplateService.GetEventByEquipmentTemplateId(TemplateId).then(function (data) {
|
|||
|
if(data){
|
|||
|
$scope.EquipmentEvent = data
|
|||
|
deferred.resolve(data);
|
|||
|
}
|
|||
|
// if(selectEvent){
|
|||
|
// $scope.alarmexpertInfo.EventId = selectEvent
|
|||
|
// }else{
|
|||
|
// $scope.alarmexpertInfo.EventId = $scope.EquipmentEvent[0].EventId
|
|||
|
// }
|
|||
|
});
|
|||
|
return deferred.promise;
|
|||
|
}
|
|||
|
//导出
|
|||
|
$scope.exportToHtml = function () {
|
|||
|
$scope.loading = true
|
|||
|
alarmExpertService.getAlarmexpertAll().then(function (data) {
|
|||
|
if(data == "OK"){
|
|||
|
$scope.loading = false
|
|||
|
downloadAlarmexpertURI("/upload/exportData.xls","/upload/exportData.xls")
|
|||
|
}
|
|||
|
else{
|
|||
|
$scope.loading = false
|
|||
|
balert.show("danger", $scope.languageJson.alarmExpert.Prompt.ExportFailed, 3000);
|
|||
|
}
|
|||
|
});
|
|||
|
};
|
|||
|
|
|||
|
//导入 star--------------------
|
|||
|
var addAlarmExpertDialog = $modal({
|
|||
|
scope: $scope,
|
|||
|
templateUrl: 'partials/alarmExpert/addAlarmExpert.html',
|
|||
|
show: false
|
|||
|
});
|
|||
|
$scope.$on("fileSelected", function (event, msg) {
|
|||
|
$scope.file = msg;
|
|||
|
});
|
|||
|
|
|||
|
$scope.addAlarmExpertExcel = function () {
|
|||
|
addAlarmExpertDialog.$promise.then(addAlarmExpertDialog.show);
|
|||
|
};
|
|||
|
|
|||
|
$scope.analysisHtml = function () {
|
|||
|
$scope.loading = true;
|
|||
|
var file = $scope.file;
|
|||
|
if (file === undefined) return;
|
|||
|
console.log($scope.file);
|
|||
|
if ($scope.file.name != "exportData.xls"){
|
|||
|
balert.show("danger", $scope.languageJson.alarmExpert.Prompt.fileName, 3000); //文件名不同禁止导入
|
|||
|
$scope.loading = false
|
|||
|
return;
|
|||
|
}
|
|||
|
alarmExpertService.ImportAlarmExpert($scope.file).then(function(data){
|
|||
|
if(data == 'OK'){
|
|||
|
balert.show("success", $scope.languageJson.alarmExpert.Prompt.addSuess, 3000);//添加成功
|
|||
|
addAlarmExpertDialog.hide();
|
|||
|
$scope.serch()
|
|||
|
}else{
|
|||
|
$scope.loading = false
|
|||
|
balert.show("danger", $scope.languageJson.alarmExpert.Prompt.addFail, 3000);//添加失败
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
//导入 end--------------------
|
|||
|
function downloadAlarmexpertURI(uri,name){
|
|||
|
var link = document.createElement('a')
|
|||
|
link.download = name
|
|||
|
link.target = '_blank'
|
|||
|
link.href = uri
|
|||
|
document.body.appendChild(link)
|
|||
|
link.click()
|
|||
|
document.body.removeChild(link)
|
|||
|
}
|
|||
|
|
|||
|
/* 数组分页
|
|||
|
pageNo 页码
|
|||
|
pageSize 显示条数
|
|||
|
array AllSignalList
|
|||
|
*/
|
|||
|
function pagination(pageNo, pageSize, array) {
|
|||
|
var offset = (pageNo - 1) * pageSize;
|
|||
|
return (offset + pageSize >= array.length) ? array.slice(offset, array.length) : array.slice(offset, offset + pageSize);
|
|||
|
}
|
|||
|
|
|||
|
$scope.tableParams = {
|
|||
|
currentPage: 1,//当前页面
|
|||
|
itemsPerPage: 10,//显示条数
|
|||
|
pagesLength: 10,
|
|||
|
totalItems: 0,//总条数
|
|||
|
hint: {
|
|||
|
the: $scope.languageJson.Paging.The,
|
|||
|
page: $scope.languageJson.Paging.Page,
|
|||
|
articel: $scope.languageJson.Paging.Articel,
|
|||
|
eachPage: $scope.languageJson.Paging.EachPage,
|
|||
|
total: $scope.languageJson.Paging.Total,
|
|||
|
noData: $scope.languageJson.Paging.NoData
|
|||
|
},
|
|||
|
list: [],
|
|||
|
perPageOptions: [10, 20, 30, 40, 50],
|
|||
|
onChange: function (newValue, oldValue) {
|
|||
|
if (newValue == undefined) return;
|
|||
|
$scope.loading = true;
|
|||
|
var index = $scope.tableParams.currentPage;//当前页面
|
|||
|
var size = $scope.tableParams.itemsPerPage;//显示条数
|
|||
|
// var filterList = $filter('filter')(newValue,$scope.serch);//数据筛选
|
|||
|
//分页
|
|||
|
$scope.tableParams.list = pagination(index,size,$scope.alarmexpertList)
|
|||
|
$scope.tableParams.totalItems = $scope.alarmexpertList.length
|
|||
|
$rootScope.$emit('resultTotal', {});
|
|||
|
$scope.loading = false;
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
$scope.setAlarmExpert = function(alarm){
|
|||
|
console.log(alarm)
|
|||
|
$scope.uploadFileList = []
|
|||
|
$scope.alarmexpertInfo = {}
|
|||
|
$scope.alarmExpertDialog.title = $scope.languageJson.alarmExpert.add + $scope.languageJson.alarmExpert.alarmList
|
|||
|
$scope.alarmExpertDialog.type = 'add'
|
|||
|
$scope.alarmexpertInfo.keyWord = alarm.meanings
|
|||
|
$scope.alarmexpertInfo.alarmexpertattachment = $scope.uploadFileList
|
|||
|
$scope.alarmexpertInfo.EquipmentId = alarm.deviceId
|
|||
|
$scope.changeEquipment($scope.alarmexpertInfo.EquipmentId).then(function(data){
|
|||
|
if(data){
|
|||
|
var event = _.findWhere(data,{EventName:alarm.eventName})
|
|||
|
if(event){
|
|||
|
$scope.alarmexpertInfo.EventId = event.EventId
|
|||
|
}else{
|
|||
|
$scope.alarmexpertInfo.EventId = data[0].EventId
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
TemplateService.GetEquipmentBaseType().then(function (data) {
|
|||
|
if(data){
|
|||
|
$scope.equipmentTemplates = data;
|
|||
|
alarmExpertService.getEquipmentBaseType(alarm.deviceId).then(function(baseId){
|
|||
|
if(baseId){
|
|||
|
$scope.alarmexpertInfo.baseEquipmentId = baseId
|
|||
|
setAlarmExpertDialog.show()
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
//点击添加
|
|||
|
$scope.addAlarmexpert = function(){
|
|||
|
$scope.uploadFileList = []
|
|||
|
$scope.alarmexpertInfo = {}
|
|||
|
$scope.alarmExpertDialog.title = $scope.languageJson.alarmExpert.add + $scope.languageJson.alarmExpert.alarmList
|
|||
|
$scope.alarmExpertDialog.type = 'add'
|
|||
|
$scope.alarmexpertInfo.alarmexpertattachment = $scope.uploadFileList
|
|||
|
// $scope.alarmexpertInfo.baseEquipmentId = $scope.equipmentTemplates[0].baseEquipmentId
|
|||
|
// var a = _.findWhere($scope.allDevice,{baseEquipmentId:$scope.alarmexpertInfo.baseEquipmentId}).EquipmentId
|
|||
|
$scope.alarmexpertInfo.EquipmentId = $scope.allDevice[0].EquipmentId
|
|||
|
$scope.changeEquipment($scope.alarmexpertInfo.EquipmentId).then(function(data){
|
|||
|
if(data){
|
|||
|
$scope.alarmexpertInfo.EventId = data[0].EventId
|
|||
|
}
|
|||
|
})
|
|||
|
// $scope.alarmexpertInfo.baseEquipmentId = _.findWhere($scope.equipmentTemplates,{baseEquipmentId:$scope.allDevice[0].baseEquipmentId}).baseEquipmentId
|
|||
|
setAlarmExpertDialog.show()
|
|||
|
}
|
|||
|
//点击编辑
|
|||
|
$scope.editAlarmexpert = function(rowData){
|
|||
|
$scope.uploadedFileList = JSON.parse(JSON.stringify(rowData.alarmexpertattachment))
|
|||
|
$scope.uploadFileList = []
|
|||
|
$scope.alarmExpertDialog.title = $scope.languageJson.alarmExpert.edit + $scope.languageJson.alarmExpert.alarmList
|
|||
|
$scope.alarmExpertDialog.type = 'edit'
|
|||
|
$scope.alarmexpertInfo = JSON.parse(JSON.stringify(rowData))
|
|||
|
$scope.alarmexpertInfo.EquipmentId = $scope.alarmexpertInfo.equipmentId
|
|||
|
$scope.alarmexpertInfo.EventId = $scope.alarmexpertInfo.eventId
|
|||
|
$scope.changeEquipment($scope.alarmexpertInfo.EquipmentId).then(function(data){
|
|||
|
if(data){
|
|||
|
$scope.alarmexpertInfo.EventId = $scope.alarmexpertInfo.eventId
|
|||
|
}
|
|||
|
})
|
|||
|
$scope.alarmexpertInfo.verification == 1 ? $scope.isVerify = true : $scope.isVerify = false
|
|||
|
$scope.alarmexpertInfo.alarmexpertattachment = $scope.uploadFileList
|
|||
|
// $scope.uploadFileList = getUplodList($scope.alarmexpertInfo.alarmexpertattachment)
|
|||
|
setAlarmExpertDialog.show()
|
|||
|
}
|
|||
|
//点击详情
|
|||
|
$scope.showAlarmexpert = function(rowData){
|
|||
|
$scope.uploadedFileList = JSON.parse(JSON.stringify(rowData.alarmexpertattachment))
|
|||
|
$scope.uploadFileList = []
|
|||
|
$scope.alarmExpertDialog.title = $scope.languageJson.alarmExpert.alarmList + $scope.languageJson.alarmExpert.info
|
|||
|
$scope.alarmExpertDialog.type = 'info'
|
|||
|
$scope.alarmexpertInfo = rowData
|
|||
|
$scope.alarmexpertInfo.EquipmentId = $scope.alarmexpertInfo.equipmentId
|
|||
|
$scope.changeEquipment($scope.alarmexpertInfo.EquipmentId).then(function(data){
|
|||
|
if(data){
|
|||
|
$scope.alarmexpertInfo.EventId = $scope.alarmexpertInfo.eventId
|
|||
|
}
|
|||
|
})
|
|||
|
|
|||
|
$scope.alarmexpertInfo.verification == 1 ? $scope.isVerify = true : $scope.isVerify = false
|
|||
|
// $scope.uploadFileList = getUplodList($scope.alarmexpertInfo.alarmexpertattachment)
|
|||
|
setAlarmExpertDialog.show()
|
|||
|
}
|
|||
|
|
|||
|
function getUplodList(arr){
|
|||
|
var result = []
|
|||
|
for (var i = 0; i < arr.length; i++) {
|
|||
|
result.push(
|
|||
|
{
|
|||
|
id:i+1,
|
|||
|
FileName:arr[i].attachmentName,
|
|||
|
File:arr[i].attachmentPath
|
|||
|
}
|
|||
|
)
|
|||
|
|
|||
|
}
|
|||
|
return result
|
|||
|
}
|
|||
|
|
|||
|
//点击保存
|
|||
|
$scope.setAlarmexpertInfo = function(alarmExpertDialog,alarmexpertInfo){
|
|||
|
$scope.alarmexpertInfo = alarmexpertInfo
|
|||
|
$scope.loading = true;
|
|||
|
$scope.alarmexpertInfo.createrUser = localStorage.getItem("username")
|
|||
|
var danger = cheakFilterData($scope.alarmexpertInfo)
|
|||
|
if(danger){
|
|||
|
balert.show("danger", danger, 3000);
|
|||
|
$scope.loading = false;
|
|||
|
return
|
|||
|
}
|
|||
|
if($scope.alarmexpertInfo.keyWord){
|
|||
|
$scope.alarmexpertInfo.keyWord = $scope.alarmexpertInfo.keyWord.replaceAll(',',',')
|
|||
|
}
|
|||
|
switch (alarmExpertDialog.type) {
|
|||
|
case 'add':
|
|||
|
alarmexpertAdd()
|
|||
|
break;
|
|||
|
case 'edit':
|
|||
|
alarmexpertEdit()
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//告警专家知识录入
|
|||
|
function alarmexpertAdd(){
|
|||
|
alarmExpertService.alarmexpertAdd($scope.alarmexpertInfo).then(function(data){
|
|||
|
if(data == 'OK'){
|
|||
|
balert.show("success", $scope.languageJson.alarmExpert.Prompt.addSuess, 3000);//添加成功
|
|||
|
$scope.serch()
|
|||
|
$scope.loading = false
|
|||
|
setAlarmExpertDialog.hide()
|
|||
|
}else{
|
|||
|
$scope.loading = false
|
|||
|
balert.show("danger", $scope.languageJson.alarmExpert.Prompt.addFail, 3000);//添加失败
|
|||
|
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
//告警专家知识编辑
|
|||
|
function alarmexpertEdit(){
|
|||
|
$scope.alarmexpertInfo.alarm_Id = $scope.alarmexpertInfo.alarmId
|
|||
|
var req = {
|
|||
|
alarm_Id:$scope.alarmexpertInfo.alarmId,
|
|||
|
title:$scope.alarmexpertInfo.title,
|
|||
|
problem:$scope.alarmexpertInfo.problem,
|
|||
|
solution:$scope.alarmexpertInfo.solution,
|
|||
|
// baseEquipmentId:$scope.alarmexpertInfo.baseEquipmentId,
|
|||
|
equipmentId:$scope.alarmexpertInfo.EquipmentId,//设备id
|
|||
|
eventId:$scope.alarmexpertInfo.EventId,//事件id
|
|||
|
keyWord:$scope.alarmexpertInfo.keyWord,
|
|||
|
verificationUser:$scope.alarmexpertInfo.verification == '1' ? $scope.alarmexpertInfo.createrUser : "",
|
|||
|
verification:$scope.alarmexpertInfo.verification,
|
|||
|
remarks:$scope.alarmexpertInfo.remarks,
|
|||
|
alarmexpertattachment:$scope.alarmexpertInfo.alarmexpertattachment
|
|||
|
}
|
|||
|
alarmExpertService.alarmexpertModify(req).then(function(data){
|
|||
|
if(data == 'OK'){
|
|||
|
balert.show("success", $scope.languageJson.alarmExpert.Prompt.editSuess, 3000);//修改成功
|
|||
|
$scope.serch()
|
|||
|
$scope.loading = false
|
|||
|
setAlarmExpertDialog.hide()
|
|||
|
}else{
|
|||
|
$scope.loading = false
|
|||
|
balert.show("danger", $scope.languageJson.alarmExpert.Prompt.editFail, 3000);//修改失败
|
|||
|
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
//配置无效
|
|||
|
$scope.confNotEffective = function(){
|
|||
|
//确认配置无效?
|
|||
|
bconfirm.show($scope, $scope.languageJson.alarmExpert.save + $scope.languageJson.alarmExpert.notEffective + '?').then(function (data) {
|
|||
|
if (data) {
|
|||
|
$scope.loading = true
|
|||
|
var req = {
|
|||
|
alarm_Id:$scope.alarmexpertInfo.alarmId,
|
|||
|
expired:1
|
|||
|
}
|
|||
|
alarmExpertService.alarmexpertModify(req).then(function(data){
|
|||
|
if(data == 'OK'){
|
|||
|
balert.show("success", $scope.languageJson.alarmExpert.Prompt.editSuess, 3000);//修改成功
|
|||
|
$scope.serch()
|
|||
|
$scope.loading = false
|
|||
|
setAlarmExpertDialog.hide()
|
|||
|
}else{
|
|||
|
$scope.loading = false
|
|||
|
balert.show("danger", $scope.languageJson.alarmExpert.Prompt.editFail, 3000);//修改失败
|
|||
|
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
function cheakFilterData(checkData){
|
|||
|
var result = false
|
|||
|
if(!checkData.title){
|
|||
|
return result = $scope.languageJson.alarmExpert.Prompt.titleNULL
|
|||
|
}
|
|||
|
if(!checkData.problem){
|
|||
|
return result = $scope.languageJson.alarmExpert.Prompt.problemNULL
|
|||
|
}
|
|||
|
if(!checkData.solution){
|
|||
|
return result = $scope.languageJson.alarmExpert.Prompt.solutionNULL
|
|||
|
}
|
|||
|
return result
|
|||
|
}
|
|||
|
|
|||
|
$scope.$on("fileSelected", function (event, msg) {
|
|||
|
$scope.File = msg;
|
|||
|
$scope.loading=true;
|
|||
|
if ($scope.File == undefined) {
|
|||
|
// balert.show('danger', $scope.languageJson.Configuration.ImageControl.UploadError, 3000);
|
|||
|
$scope.loading=false;
|
|||
|
return;
|
|||
|
}
|
|||
|
if($scope.File.size > 512000){
|
|||
|
balert.show('danger', "请选择小于500k的文件!", 3000);
|
|||
|
$scope.loading=false;
|
|||
|
return;
|
|||
|
}
|
|||
|
var reader = new FileReader();
|
|||
|
//读取文件
|
|||
|
reader.readAsDataURL($scope.File);
|
|||
|
//读取成功
|
|||
|
reader.addEventListener('load', function(e) {
|
|||
|
var str = this.result;
|
|||
|
var id = $scope.uploadFileList.length + 1
|
|||
|
$scope.uploadFileList.push(
|
|||
|
{
|
|||
|
id:id,
|
|||
|
FileName:$scope.File.name,
|
|||
|
File:str
|
|||
|
}
|
|||
|
)
|
|||
|
$scope.loading=false;
|
|||
|
});
|
|||
|
});
|
|||
|
$scope.uploadFile = function(){
|
|||
|
var $file = $('#file1')
|
|||
|
$file.focus().click();
|
|||
|
}
|
|||
|
$scope.removeUpload = function(index){
|
|||
|
$scope.uploadFileList.splice(index,1)
|
|||
|
}
|
|||
|
}])
|