'use strict';
/**
* controller for User Profile Example
*/
app.controller('timingMessageSendingCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_schedule", "api_bpm_data", "api_wechatfile", "api_configure_data", "moment", "api_sysinfo", function ($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_schedule, api_bpm_data, api_wechatfile, api_configure_data, moment, api_sysinfo) {
$scope.langs = i18nService.getAllLangs();
$scope.lang = 'zh-cn';
i18nService.setCurrentLang($scope.lang);
var loginUser = $rootScope.user;
$scope.xinzeng = false;
$scope.shanchu = false;
$scope.bianji = false;
$scope.zantingzhixing = false;
for (var i = 0; i < loginUser.menu.length; i++) {
if (loginUser.menu[i].link == "xunjianjihua_xinzeng") {
$scope.xinzeng = true
}
if (loginUser.menu[i].link == "xunjianjihua_shanchu") {
$scope.shanchu = true
}
if (loginUser.menu[i].link == "xunjianjihua_bianji") {
$scope.bianji = true
}
if (loginUser.menu[i].link == "xunjianjihua_zantingzhixing") {
$scope.zantingzhixing = true
}
}
var defaultFilterData = {
"idx": 0,
"sum": 10
};
var inspectPlanParameter = {
"idx": 0,
"sum": 10,
"operation": "",
"status": "",
"inspection": {
"inspectionTypeDTO": {
"id": ""
}
}
};
//本地存储
sessionStorage.inspectPlanParameter = JSON.stringify(inspectPlanParameter);
$scope.memoryfilterData = {
"idx": 0,
"sum": 10
}
// $scope.isMask = false;
$scope.gridOptions = {};
$scope.gridOptions.data = 'myData';
$scope.gridOptions.enableColumnResizing = true;
$scope.gridOptions.enableFiltering = false;
$scope.gridOptions.enableGridMenu = true;
$scope.gridOptions.enableRowSelection = true;
$scope.gridOptions.showGridFooter = true;
$scope.gridOptions.showColumnFooter = false;
$scope.gridOptions.useExternalFiltering = false;
$scope.gridOptions.useExternalPagination = true;
$scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
$scope.gridOptions.paginationPageSize = 10;
$scope.gridOptions.multiSelect = true;
$scope.gridOptions.enableSelectionBatchEvent = true; //使用批量使用事件
//行鼠标悬浮变色功能
// $scope.gridOptions.rowTemplate = '
';
$scope.gridOptions.rowTemplate = "";
$scope.gridOptions.rowIdentity = function (row) {
return row.id;
};
$scope.gridOptions.getRowIdentity = function (row) {
return row.id;
};
$scope.transfer = function (status) {
if (status === "正常") {
return "执行中"
} else if (status === "停止") {
return "暂停中"
}
}
$scope.gridOptions.columnDefs = [{
name: 'item',
displayName: '序号',
width: 50,
enableFiltering: false
},
{
name: 'title',
displayName: '标题',
width: '10%',
enableFiltering: true
},
{
name: 'content',
displayName: '发送内容',
width: '35%',
enableFiltering: false,
cellTemplate: '{{row.entity.content}}
'
},
{
name: 'timeStep1',
displayName: '重复策略',
width: '10%',
enableFiltering: false,
cellTemplate: '每日每周每月每年
'
},
{
name: 'timeStep2',
displayName: '定时发送时间',
width: '12%',
enableFiltering: false,
cellTemplate: '{{ row.entity.executeTime|date:"HH时mm分" }}{{row.entity.weekName}} {{ row.entity.executeTime|date:"HH时mm分" }}{{row.entity.extra1}}日 {{ row.entity.executeTime|date:"HH时mm分" }}{{ row.entity.executeTime|date:"MM月dd日HH时mm分" }}
'
},
{
name: 'active',
displayName: '状态',
width: 50,
enableFiltering: false,
cellTemplate: '{{ row.entity.active?"开启":"关闭" }}
'
},
{
name: 'usersName',
displayName: '接收人',
width: '10%',
enableFiltering: false
},
{
minWidth: '230',
name: '操作',
enableFiltering: false,
cellTemplate: '' +
'
编辑' +
'
停用' +
'
启用' +
'
'
},
];
$scope.transferTime = function (time) {
return moment(time).format('YYYY-MM-DD HH:mm');
}
//新增数据
$scope.addData = function () {
$state.go('app.inspection.editor', {
formKey: 'inspectionform',
service: 'api_bpm_data',
});
}
$scope.inspectdata = {};
//打开编辑弹出框
$scope.hc_eject_big = false;
$scope.edit_obj = {};//编辑的对象
$scope.isWarehousing = 'day';//重复策略
$scope.isActive = 0;//是否启用
$scope.t_title = '';//标题
$scope.userIds = [];//接收人ids
$scope.t_userList = [];//接收人
$scope.hourAndMinute = null;//选择小时,分钟
$scope.doWeek = null;//选择周
$scope.doMonth = '';//选择日
$scope.weeks = [
{ id: 1, name: '周一' },
{ id: 2, name: '周二' },
{ id: 3, name: '周三' },
{ id: 4, name: '周四' },
{ id: 5, name: '周五' },
{ id: 6, name: '周六' },
{ id: 7, name: '周日' }
];
$scope.months = [...Array(32).keys()].slice(1);
$scope.selectRowFunction = function (data) {
console.log(data);
$scope.edit_obj = data;
$scope.hc_eject_big = true;
//回显数据
$scope.t_title = data.title;
$scope.isWarehousing = data.timeStep;
switch (data.timeStep) {
case 'week':
$scope.doWeek = $scope.weeks.find(v => v.id == data.extra1);
break;
case 'month':
$scope.doMonth = data.extra1;
break;
case 'year':
$scope.starttimesModel = moment(data.executeTime);
break;
}
$scope.hourAndMinute = moment(data.executeTime);
$scope.isActive = data.active;
$scope.userIds = data.users;
};
// 关闭编辑弹出框
$scope.close = function () {
$scope.hc_eject_big = false;
}
$scope.changeWeek = function (selected) {
$scope.doWeek = selected;
}
$scope.changeMonth = function (selected) {
$scope.doMonth = selected;
}
//保存
$scope.preservation = function () {
//判空 start
if(!$scope.t_title){
SweetAlert.swal({
title: "标题不能为空",
text: "标题不能为空",
type: "error"
});
return;
}else if($scope.userIds.length === 0){
SweetAlert.swal({
title: "接收人不能为空",
text: "接收人不能为空",
type: "error"
});
return;
}else{
switch($scope.isWarehousing){
case 'week':
if(!$scope.doWeek){
SweetAlert.swal({
title: "计划执行(每周)不能为空",
text: "计划执行(每周)不能为空",
type: "error"
});
return;
}
break;
case 'month':
if(!$scope.doMonth){
SweetAlert.swal({
title: "计划执行(每月)不能为空",
text: "计划执行(每月)不能为空",
type: "error"
});
return;
}
break;
case 'year':
if(!$scope.starttimesModel){
SweetAlert.swal({
title: "计划执行(每年)不能为空",
text: "计划执行(每年)不能为空",
type: "error"
});
return;
}
break;
}
}
//判空 end
var toData = {
"messageJob": {}
};
//处理数据 start
toData.messageJob.content = $scope.edit_obj.content;
toData.messageJob.id = $scope.edit_obj.id;
toData.messageJob.key = $scope.edit_obj.key;
toData.messageJob.title = $scope.t_title;
toData.messageJob.timeStep = $scope.isWarehousing;
switch($scope.isWarehousing){
case 'day':
break;
case 'week':
toData.messageJob.extra1 = $scope.doWeek.id;
break;
case 'month':
toData.messageJob.extra1 = $scope.doMonth;
break;
case 'year':
break;
}
toData.messageJob.executeTime = moment($scope.hourAndMinute).valueOf();
toData.messageJob.active = $scope.isActive;
toData.messageJob.userIds = $scope.userIds.map(v=>v.id).toString();
// 当前所属院区或责任科室
if($rootScope.user.duty){
toData.messageJob.branch = $rootScope.user.duty.branch;
}else if($rootScope.user.branch){
toData.messageJob.branch = $rootScope.user.branch.id;
}
console.log(toData.messageJob)
//处理数据 end
api_bpm_data.updData('messageJob', toData).then(function (response) {
$scope.close();
var myData = Restangular.stripRestangular(response);
if (myData.status == 200) {
SweetAlert.swal({
title: "保存成功!",
type: "success",
confirmButtonColor: "#007AFF"
}, function () {
$scope.refreshData('expand-right', $scope.fileData);
});
} else {
SweetAlert.swal({
title: "操作失败",
text: "操作失败",
type: "error"
});
}
}, function () {
});
}
//切换重复策略
$scope.changeWarehousing = function (type) {
$scope.isWarehousing = type;
$scope.doWeek = null;
$scope.doMonth = '';
$scope.starttimesModel = null;
}
//切换是否启用
$scope.changeActive = function (type) {
$scope.isActive = type;
}
// 接收人查询
$scope.d_name = '';//防止抖动
$scope.refreshDat_users = function (name, userIds = []) {
$scope.t_userList = [];
name = name || "";
$scope.d_name = name;
userIds = userIds || [];
var dat = {
"user": {
name: name
},
"idx": 0,
"sum": 999
}
api_sysinfo.fetchDataList("user", dat).then(function (data) {
if (data.status == 200) {
if($scope.d_name == name){
if (userIds.length) {
userIds.forEach(v => {
data.list.forEach((v1, i) => {
if (v.id == v1.id) {
data.list.splice(i, 1)
}
})
})
}
$scope.t_userList = data.list;
}
}
});
}
$scope.refreshDat_users();
// 修改接收人
$scope.changeUser = function (userIds) {
$scope.userIds = userIds;
}
//打开每天定时发送时间--日期选择框
$scope.starttimesModel = null;
$scope.startOpened = false;
//跳转到查看列表
$scope.seeFunction = function (data) {
var filedata = {
model: {
inspection: data
}
};
$state.go('app.inspection.form', {
formKey: 'inspection__detailform',
service: 'api_bpm_data',
model: JSON.stringify(filedata)
});
}
// $scope.onDblClick = function(data) {
// var filedata = {
// model: {
// inspection: data.entity
// }
// };
// $state.go('app.inspection.form', {
// formKey: 'inspection__detailform',
// service: 'api_bpm_data',
// model: JSON.stringify(filedata)
// });
// };
//跳转到查看列表
$scope.lookFunction = function (data) {
var filedata = {
model: {
inspection: data
}
};
$state.go('app.inspection.form', {
formKey: 'inspection__detailform',
service: 'api_bpm_data',
model: JSON.stringify(filedata)
});
};
//启用/停用
$scope.runFunction = function (data) {
console.log(data)
var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
var upData = {};
upData.id = data.id;
upData.operation = 1;
var modalInstance = $modal.open({
// templateUrl: 'assets/views/inspect/changRun.html',
templateUrl: 'assets/views/delete.html',
// size: "sm",
controller: function ($scope, $modalInstance) {
$scope.isRunFunction = true;
if (data.active) {
$scope.title = '停用';
$scope.connect = '确定要停用?';
} else {
$scope.title = '启用';
$scope.connect = '确定要启用?';
}
$scope.ok = function () {
$modalInstance.close(data);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
},
size: 'sm'
})
modalInstance.result.then(function (result) {
console.log(result)
if (result) {
result.active = !result.active;
var toData = {
"messageJob": result
};
// 当前所属院区或责任科室
if($rootScope.user.duty){
toData.messageJob.branch = $rootScope.user.duty.branch;
}else if($rootScope.user.branch){
toData.messageJob.branch = $rootScope.user.branch.id;
}
api_bpm_data.updData('messageJob', toData).then(function (response) {
var myData = Restangular.stripRestangular(response);
if (myData.status == 200) {
SweetAlert.swal({
title: (myData.data.active ? '启动' : '停用') + "成功!",
type: "success",
confirmButtonColor: "#007AFF"
}, function () {
$scope.refreshData('expand-right', $scope.fileData);
});
} else {
SweetAlert.swal({
title: "操作失败",
text: "操作失败",
type: "error"
});
}
}, function () {
});
}
});
};
// $scope.newincident = function(data) {
// $state.go('app.incident.editor', {});
// };
//行删除
$scope.removeData = function () {
console.log($scope.selected.items);
var modalInstance = $modal.open({
templateUrl: 'assets/views/delete.html',
controller: function ($scope, $modalInstance) {
// $scope.textLog = "是否删除巡检计划";
$scope.title = '巡检计划删除';
$scope.connect = '确定要删除巡检计划?';
$scope.ok = function () {
$modalInstance.close("start");
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
},
size: 'sm'
})
modalInstance.result.then(function (result) {
if (result) {
if ($scope.selected.items.length != 0) {
$rootScope.isMask = true;
}
var rmvList = [];
angular.forEach($scope.selected.items, function (item) {
rmvList.push(item.id);
});
if (rmvList.length > 0) {
api_bpm_data.rmvData('inspection', rmvList).then(function (response) {
if (response.status == 200) {
$rootScope.isMask = false;
SweetAlert.swal({
title: "删除成功!",
type: "success",
confirmButtonColor: "#007AFF"
}, function () {
$scope.myData = _.reject($scope.myData, function (o) {
return _.includes(rmvList, o.id);
});
$scope.selected = {
items: []
};
});
$scope.gridApi.selection.clearSelectedRows();
var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
var showData = {
"idx": filterData.idx,
"sum": filterData.sum,
"inspection": {
"inspectionTypeDTO": {
"id": ""
}
}
}
if (filterData.inspection && filterData.inspection.inspectionTypeDTO && filterData.inspection.inspectionTypeDTO.id) {
showData.inspection.inspectionTypeDTO.id = filterData.inspection.inspectionTypeDTO.id
} else {
showData.inspection.inspectionTypeDTO.id = -1
}
$scope.refreshData('expand-right', $scope.fileData);
//取消遮罩层
// $scope.isMask = false;
} else {
$rootScope.isMask = false;
SweetAlert.swal({
title: "操作异常!",
text: "系统异常,请稍后重试,或者联系管理员!",
type: "error"
});
}
})
}
}
}, function () {
// $scope.ldloading[style.replace('-', '_')] = false;
});
}
$scope.selected = {
items: []
}
$scope.editted = {
items: []
}
$scope.testRow = [];
$scope.gridOptions.onRegisterApi = function (gridApi) {
//导入gridApi对象
$scope.gridApi = gridApi;
//分页选项
gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
var filtersData = {};
filtersData.idx = newPage - 1;
filtersData.sum = pageSize;
$scope.pageNum = $scope.gridApi.pagination.getPage() - 1;
// console.log(pp);
filterData.idx = $scope.pageNum;
$scope.fileData.idx = newPage - 1;
$scope.fileData.sum = pageSize;
sessionStorage.inspectPlanParameter = JSON.stringify(filterData);
$scope.refreshData('expand-right', $scope.fileData);
});
//勾选行事件
gridApi.selection.on.rowSelectionChanged($scope, function (data) {
if (data.isSelected) {
$scope.selected.items.push(data.entity);
} else {
//objs:需要遍历的集合 data:遍历时当前的数据 index:遍历时当前索引
//array:需要遍历的集合,每次遍历时都会把objs原样的传一次。
//angular.forEach(objs, function(data,index,array)
angular.forEach($scope.selected.items, function (ObjIndex, index, destObj) {
// console.log(ObjIndex);
// console.log(index);
// console.log(destObj);
if (ObjIndex.id == data.entity.id) {
destObj.splice(index, 1)
}
})
}
});
//批量全选
gridApi.selection.on.rowSelectionChangedBatch($scope, function (rows, event) {
// if ($scope.selected.items.length != 0) {
// $scope.selected.items = [];
angular.forEach(rows, function (ObjIndex, index, destObj) {
if (ObjIndex.isSelected) {
$scope.selected.items.push(ObjIndex.entity);
} else {
$scope.selected.items = [];
// $scope.selected.items.splice(index, 1);
}
});
// } else {
// }
// $scope.mySelectedRows = $scope.gridApi.selection.getSelectedRows();
// if ($scope.selected.items.length == 0) {
// $scope.selected.items = $scope.mySelectedRows;
// } else if ($scope.mySelectedRows.length == 0) {
// for (var i = 0; i < $scope.selected.items.length; i++) {
// for (var j = 0; j < rows.length; j++) {
// if ($scope.selected.items[i].id == rows[j].entity.id) {
// $scope.selected.items.splice(i, 1);
// }
// }
// }
// } else {
// angular.forEach($scope.mySelectedRows, function(item) {
// $scope.selected.items.push(item);
// });
// }
});
//列过滤事件
gridApi.core.on.filterChanged($scope, function () {
var grid = this.grid;
var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
angular.forEach(grid.columns, function (item) {
if (item.enableFiltering) {
if (angular.isDefined(item.filters[0].term) && item.filters[0].term != '') {
if (angular.isUndefined(filterData['inspection'])) {
filterData['inspection'] = {};
}
filterData['inspection']['title'] = item.filters[0].term;
}
}
});
sessionStorage.inspectPlanParameter = JSON.stringify(filterData);
$scope.refreshData('expand-right', filterData);
});
};
// //刷新按钮
// $scope.reload = function() {
// var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
// var showData = {
// "idx": filterData.idx,
// "sum": filterData.sum,
// "inspection": {
// "inspectionTypeDTO": {
// "id": ""
// }
// }
// }
// if (filterData.inspection && filterData.inspection.inspectionTypeDTO && filterData.inspection.inspectionTypeDTO.id) {
// showData.inspection.inspectionTypeDTO.id = filterData.inspection.inspectionTypeDTO.id
// } else {
// showData.inspection.inspectionTypeDTO.id = -1
// }
// $scope.refreshData('expand-right', showData);
// }
//重置按钮
$scope.reload = function () {
// var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
// var data={
// "idx":filterData.idx,
// "sum":filterData.sum
// }
// $scope.inspectdata={};
delete $scope.fileData.inspection.inspectionTypeDTO;
delete $scope.fileData.inspection.title;
delete $scope.fileData.inspection.executeUser;
delete $scope.fileData.inspection.createUser;
delete $scope.fileData.inspection.status;
$scope.try_async_load();
$scope.refreshData('expand-right', $scope.fileData);
}
//数据刷新
$scope.refreshData = function (style, filterData, isEmpty = true) {
$scope.ldloading[style.replace('-', '_')] = true;
if (angular.isUndefined(filterData)) {
filterData = defaultFilterData;
}
if (isEmpty) {
$scope.myData = [];
}
// 当前所属院区或责任科室
if($rootScope.user.duty){
filterData.messageJob.branch = $rootScope.user.duty.branch;
}else if($rootScope.user.branch){
filterData.messageJob.branch = $rootScope.user.branch.id;
}
api_bpm_data.fetchDataList('messageJob', filterData).then(function (data) {
var myData = Restangular.stripRestangular(data);
$scope.gridOptions.totalItems = myData.totalNum;
if (angular.isArray(myData.list)) {
// -----seimin start ----
myData.list.forEach((item) => {
if (item.timeStep == "week") {
let weeks = [
"周一",
"周二",
"周三",
"周四",
"周五",
"周六",
"周日",
];
item.weekName = weeks[item.extra1 - 1];
}
item.usersName = item.users.map((value) => value.name).join();
});
// -----seimin end ----
$scope.myData = myData.list;
for (var i = 0; i < $scope.myData.length; i++) {
$scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
}
for (var i = 0; i < $scope.myData.length; i++) {
if ($scope.myData[i].status == "正常") {
$scope.myData[i].style = "fa fa-play";
} else if ($scope.myData[i].status == "停止") {
$scope.myData[i].style = "fa fa-pause";
};
$scope.myData[i].runStatus = $scope.transfer($scope.myData[i].status);
}
} else {
SweetAlert.swal({
title: "数据为空",
text: myData.data,
type: "warning"
});
}
$scope.ldloading[style.replace('-', '_')] = false;
}, function () {
$scope.ldloading[style.replace('-', '_')] = false;
});
};
$scope.ldloading = {};
//树形控件点击事件
$scope.my_tree_handler = function (branch) {
var filterData = JSON.parse(sessionStorage.inspectPlanParameter);
filterData.inspection.inspectionTypeDTO.id = branch.id;
sessionStorage.inspectPlanParameter = JSON.stringify(filterData);
var showData = {
"idx": filterData.id,
"sum": filterData.sum,
"inspection": {
"inspectionTypeDTO": {
"id": branch.id
}
}
}
// $scope.refreshData('expand-right', showData);
}
$scope.fileData = {
"idx": 0,
"sum": 10,
"messageJob": {
}
}
$scope.onFilterCallback = function (data) {
$scope.fileData.inspection.inspectionTypeDTO = {
"id": data.id
}
}
$scope.inspecttype = {};
$scope.searchinspe = function (item) {
$scope.refreshData('expand-right', $scope.fileData);
}
//树形控件加载
$scope.my_tree = {};
$scope.try_async_load = function () {
$scope.my_data = [];
$scope.doing_async = true;
api_bpm_data.fetchDataList('inspectionType', {
"idx": 0,
"sum": 1000
}).then(function (response) {
if (response.status == 200) {
var data = response.list;
var objects = [];
for (var i = 0; i < data.length; i++) {
var object = {};
object.id = data[i].id;
if (data[i].parent && data[i].parent.id != 0) {
object.parent = data[i].parent.id;
}
object.label = data[i].type;
objects.push(object);
}
$scope.my_data = convertParentToChildList(objects);
$scope.tree_data = angular.copy($scope.my_data);
if ($scope.my_data.length > 0) {
$scope.doing_async = false;
}
// return $scope.my_tree.expand_all()
} else {
SweetAlert.swal({
title: "系统错误!",
text: "请刷新重试!",
type: "error"
});
}
});
};
function convertListToTree(data, treeMap) {
var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
var root = null; //Initially set our loop to null
var parentNode = null;
//loop over data
for (var i = 0; i < data.length; i++) {
var datum = data[i];
//each node will have children, so let's give it a "children" poperty
datum.children = [];
//add an entry for this node to the map so that any future children can
//lookup the parent
idToNodeMap[datum.id] = datum;
//Does this node have a parent?
if (typeof datum.parent === "undefined" || datum.parent == null) {
//Doesn't look like it, so this node is the root of the tree
root = datum;
treeMap[datum.id] = root;
} else {
//This node has a parent, so let's look it up using the id
parentNode = idToNodeMap[datum.parent];
//We don't need this property, so let's delete it.
delete datum.parent;
//Let's add the current node as a child of the parent node.
parentNode.children.push(datum);
}
}
return root;
}
// 获取状态
$scope.getStatusDictroy = function () {
var data = {
key: "inspection_status",
type: "list"
}
api_wechatfile.getDictionary(data).then(function (res) {
$scope.statusData = res
})
}
$scope.getStatusDictroy();
// 获取执行人
$scope.getExecuteUser = function () {
api_configure_data.fetchDataList("user", {
"idx": 0,
"sum": 1000,
"user": {
"roledata": {
"rolecode": "inspectman"
},
"simple": true
}
}).then(function (res) {
$scope.executeUserData = res.list
})
}
$scope.getExecuteUser()
// 获取创建人
$scope.getCreateUser = function () {
api_configure_data.fetchDataList("user", {
"idx": 0,
"sum": 1000,
"user": {
"simple": true
}
}).then(function (res) {
$scope.createUserData = res.list
})
}
$scope.getCreateUser()
$scope.open = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = !$scope.opened;
};
$scope.endOpen = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.startOpened = false;
$scope.endOpened = !$scope.endOpened;
};
$scope.startOpen = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.endOpened = false;
$scope.startOpened = !$scope.startOpened;
};
function convertParentToChildList(data) {
var treeMap = {};
var list = [];
convertListToTree(data, treeMap);
angular.forEach(treeMap, function (item) {
list.push(item);
});
return list;
}
$scope.refresh = function () {
var jry_filterData = JSON.parse(sessionStorage.inspectPlanParameter);
var intervalData = {};
if ($scope.inspectdata.type) {
$scope.inspectdata.inspectionTypeDTO = $scope.inspectdata.type.id;
}
if ($scope.inspectdata.createTime) {
$scope.inspectdata.createTime = moment($scope.inspectdata.createTime).format('YYYY-MM-DD');
}
intervalData.idx = jry_filterData.idx;
intervalData.sum = jry_filterData.sum;
intervalData.inspection = $scope.inspectdata;
$scope.refreshData('expand-right', intervalData);
}
$scope.try_async_load();
$scope.refreshData('expand-right', $scope.fileData);
$scope.timer = $interval(function () {
$scope.refreshData('expand-right', $scope.fileData, false);
}, $rootScope.refreshTime);
$scope.$on('$destroy', function () {
$interval.cancel($scope.timer)
})
}]);
app.factory('inspectListMobileCtrlTree', ['api_bpm_data', function (api_bpm_data) {
function convertListToTree(data, treeMap) {
var idToNodeMap = {};
var root = null;
var parentNode = null;
for (var i = 0; i < data.length; i++) {
var datum = data[i];
datum.children = [];
idToNodeMap[datum.id] = datum;
if (typeof datum.parent === "undefined" || datum.parent == null) {
root = datum;
treeMap[datum.id] = root;
} else {
parentNode = idToNodeMap[datum.parent];
delete datum.parent;
parentNode.children.push(datum);
}
}
return root;
};
function convertParentToChildList(data) {
var treeMap = {};
var list = [];
convertListToTree(data, treeMap);
angular.forEach(treeMap, function (item) {
list.push(item);
});
return list;
};
var forEachEelement = function forEachEelement(response) {
var objects = [];
angular.forEach(response.list, function (ObjIndex, index, destObj) {
var object = {};
object.id = ObjIndex.id;
object.label = ObjIndex.type;
if (ObjIndex.parent && ObjIndex.parent.id != 0) {
object.parent = ObjIndex.parent.id;
};
if (ObjIndex.formUiEdit) {
object.formUiEdit = ObjIndex.formUiEdit;
};
if (ObjIndex.formUiName) {
object.formUiName = ObjIndex.formUiName;
};
if (ObjIndex.processKey) {
object.processKey = ObjIndex.processKey;
};
if (ObjIndex.formUiStart) {
object.formUiStart = ObjIndex.formUiStart;
};
objects.push(object);
});
var my_data = convertParentToChildList(objects);
var tree_data = angular.copy(my_data);
return {
'my_data': my_data,
'tree_data': tree_data
}
}
return forEachEelement;
}]);