added Menu Setting to Admin UI
parent
ec5ad8792c
commit
efd239be06
|
@ -24,32 +24,6 @@ app
|
|||
$urlRouterProvider.otherwise("login/login");
|
||||
|
||||
$stateProvider
|
||||
.state('feed', {
|
||||
abstract: true,
|
||||
url: "/feed",
|
||||
templateUrl: "views/common/content.html",
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/login/login.service.js',
|
||||
'app/services/fdd/webmessageanalysis.service.js',
|
||||
'app/services/users/user/user.service.js',
|
||||
'app/controllers/users/user/user.controller.js',
|
||||
'app/controllers/login/login.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('fdd', {
|
||||
abstract: true,
|
||||
url: "/fdd",
|
||||
|
@ -300,84 +274,6 @@ app
|
|||
]
|
||||
}
|
||||
})
|
||||
.state('equipment', {
|
||||
abstract: true,
|
||||
url: "/equipment",
|
||||
templateUrl: "views/common/content.html",
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/login/login.service.js',
|
||||
'app/services/fdd/webmessageanalysis.service.js',
|
||||
'app/services/users/user/user.service.js',
|
||||
'app/controllers/users/user/user.controller.js',
|
||||
'app/controllers/login/login.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('combinedequipment', {
|
||||
abstract: true,
|
||||
url: "/combinedequipment",
|
||||
templateUrl: "views/common/content.html",
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/login/login.service.js',
|
||||
'app/services/fdd/webmessageanalysis.service.js',
|
||||
'app/services/users/user/user.service.js',
|
||||
'app/controllers/users/user/user.controller.js',
|
||||
'app/controllers/login/login.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('verification', {
|
||||
abstract: true,
|
||||
url: "/verification",
|
||||
templateUrl: "views/common/content.html",
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/login/login.service.js',
|
||||
'app/services/fdd/webmessageanalysis.service.js',
|
||||
'app/services/users/user/user.service.js',
|
||||
'app/controllers/users/user/user.controller.js',
|
||||
'app/controllers/login/login.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings', {
|
||||
abstract: true,
|
||||
url: "/settings",
|
||||
|
@ -404,6 +300,392 @@ app
|
|||
]
|
||||
}
|
||||
})
|
||||
.state('settings.category', {
|
||||
url: "/category",
|
||||
templateUrl: "views/settings/category/category.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.CATEGORY'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/category/category.service.js',
|
||||
'app/controllers/settings/category/energycategory.master.controller.js',
|
||||
'app/controllers/settings/category/energycategory.controller.js',
|
||||
'app/services/settings/category/energyitem.service.js',
|
||||
'app/controllers/settings/category/energyitem.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.costcenter', {
|
||||
url: "/costcenter",
|
||||
templateUrl: "views/settings/costcenter/costcenter.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.COSTCENTER',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/costcenter/costcentertariff.service.js',
|
||||
'app/services/settings/tariff/tariff.service.js',
|
||||
'app/services/settings/costcenter/costfile.service.js',
|
||||
'app/controllers/settings/costcenter/costcenter.master.controller.js',
|
||||
'app/controllers/settings/costcenter/costcenter.controller.js',
|
||||
'app/controllers/settings/costcenter/costcentertariff.controller.js',
|
||||
'app/controllers/settings/costcenter/costfile.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.tariff', {
|
||||
url: "/tariff",
|
||||
templateUrl: "views/settings/tariff/tariff.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.TARIFF'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
serie: true,
|
||||
files: ['js/daterangepicker/daterangepicker.min.js', 'js/daterangepicker/daterangepicker.min.css']
|
||||
}, {
|
||||
name: 'daterangepicker',
|
||||
files: ['js/daterangepicker/angular-daterangepicker.min.js']
|
||||
}, {
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/tariff/tariff.service.js',
|
||||
'app/services/settings/tariff/tariff.const.js',
|
||||
'app/services/settings/category/category.service.js',
|
||||
'app/controllers/settings/tariff/tariff.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.contact', {
|
||||
url: "/contact",
|
||||
templateUrl: "views/settings/contact/contact.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.CONTACT'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/contact/contact.service.js',
|
||||
'app/controllers/settings/contact/contact.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.gateway', {
|
||||
url: "/gateway",
|
||||
templateUrl: "views/settings/gateway/gateway.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.GATEWAY',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/gateway/gateway.service.js',
|
||||
'app/controllers/settings/gateway/gateway.master.controller.js',
|
||||
'app/controllers/settings/gateway/gateway.controller.js',
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.datasource', {
|
||||
url: "/data-source",
|
||||
templateUrl: "views/settings/datasource/datasource.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.DATASOURCE'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
|
||||
files: [
|
||||
'app/services/settings/datasource/datasource.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/services/settings/gateway/gateway.service.js',
|
||||
'app/controllers/settings/datasource/datasource.master.controller.js',
|
||||
'app/controllers/settings/datasource/datasource.controller.js',
|
||||
'app/controllers/settings/datasource/point.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.meter', {
|
||||
url: "/meter",
|
||||
templateUrl: "views/settings/meter/meter.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.METER',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/category/category.service.js',
|
||||
'app/services/settings/category/energyitem.service.js',
|
||||
'app/services/settings/meter/meter.service.js',
|
||||
'app/services/settings/meter/offlinemeter.service.js',
|
||||
'app/services/settings/meter/offlinemeterfile.service.js',
|
||||
'app/services/settings/meter/virtualmeter.service.js',
|
||||
'app/services/settings/meter/meterpoint.service.js',
|
||||
'app/services/settings/datasource/datasource.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/controllers/settings/meter/meter.master.controller.js',
|
||||
'app/controllers/settings/meter/meter.controller.js',
|
||||
'app/controllers/settings/meter/offlinemeter.controller.js',
|
||||
'app/controllers/settings/meter/offlinemeterfile.controller.js',
|
||||
'app/controllers/settings/meter/virtualmeter.controller.js',
|
||||
'app/controllers/settings/meter/meterpoint.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.sensor', {
|
||||
url: "/sensor",
|
||||
templateUrl: "views/settings/sensor/sensor.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.SENSOR',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/sensor/sensor.service.js',
|
||||
'app/services/settings/sensor/sensorpoint.service.js',
|
||||
'app/services/settings/datasource/datasource.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/controllers/settings/sensor/sensor.master.controller.js',
|
||||
'app/controllers/settings/sensor/sensor.controller.js',
|
||||
'app/controllers/settings/sensor/sensorpoint.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.equipment', {
|
||||
url: "/equipment",
|
||||
templateUrl: "views/settings/equipment/equipment.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.EQUIPMENT'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.checkbox', 'ui.select', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/space/space.service.js',
|
||||
'app/services/settings/equipment/equipment.service.js',
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/services/settings/meter/meter.service.js',
|
||||
'app/services/settings/meter/offlinemeter.service.js',
|
||||
'app/services/settings/meter/virtualmeter.service.js',
|
||||
'app/services/settings/equipment/equipmentmeter.service.js',
|
||||
'app/services/settings/equipment/equipmentparameter.service.js',
|
||||
'app/controllers/settings/equipment/equipment.master.controller.js',
|
||||
'app/controllers/settings/equipment/equipment.controller.js',
|
||||
'app/controllers/settings/equipment/equipmentmeter.controller.js',
|
||||
'app/controllers/settings/equipment/equipmentparameter.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.combinedequipment', {
|
||||
url: "/combinedequipment",
|
||||
templateUrl: "views/settings/combinedequipment/combinedequipment.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.COMBINED_EQUIPMENT'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.checkbox', 'ui.select', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/space/space.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipment.service.js',
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/services/settings/equipment/equipment.service.js',
|
||||
'app/services/settings/meter/meter.service.js',
|
||||
'app/services/settings/meter/offlinemeter.service.js',
|
||||
'app/services/settings/meter/virtualmeter.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipmentequipment.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipmentmeter.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipmentparameter.service.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipment.master.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipment.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipmentequipment.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipmentmeter.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipmentparameter.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.space', {
|
||||
url: "/space",
|
||||
templateUrl: "views/settings/space/space.html",
|
||||
|
@ -635,283 +917,6 @@ app
|
|||
}
|
||||
|
||||
})
|
||||
.state('settings.equipment', {
|
||||
url: "/equipment",
|
||||
templateUrl: "views/settings/equipment/equipment.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.EQUIPMENT'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.checkbox', 'ui.select', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/space/space.service.js',
|
||||
'app/services/settings/equipment/equipment.service.js',
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/services/settings/meter/meter.service.js',
|
||||
'app/services/settings/meter/offlinemeter.service.js',
|
||||
'app/services/settings/meter/virtualmeter.service.js',
|
||||
'app/services/settings/equipment/equipmentmeter.service.js',
|
||||
'app/services/settings/equipment/equipmentparameter.service.js',
|
||||
'app/controllers/settings/equipment/equipment.master.controller.js',
|
||||
'app/controllers/settings/equipment/equipment.controller.js',
|
||||
'app/controllers/settings/equipment/equipmentmeter.controller.js',
|
||||
'app/controllers/settings/equipment/equipmentparameter.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.combinedequipment', {
|
||||
url: "/combinedequipment",
|
||||
templateUrl: "views/settings/combinedequipment/combinedequipment.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.COMBINED_EQUIPMENT'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.checkbox', 'ui.select', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/space/space.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipment.service.js',
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/services/settings/equipment/equipment.service.js',
|
||||
'app/services/settings/meter/meter.service.js',
|
||||
'app/services/settings/meter/offlinemeter.service.js',
|
||||
'app/services/settings/meter/virtualmeter.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipmentequipment.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipmentmeter.service.js',
|
||||
'app/services/settings/combinedequipment/combinedequipmentparameter.service.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipment.master.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipment.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipmentequipment.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipmentmeter.controller.js',
|
||||
'app/controllers/settings/combinedequipment/combinedequipmentparameter.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.meter', {
|
||||
url: "/meter",
|
||||
templateUrl: "views/settings/meter/meter.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.METER',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/category/category.service.js',
|
||||
'app/services/settings/category/energyitem.service.js',
|
||||
'app/services/settings/meter/meter.service.js',
|
||||
'app/services/settings/meter/offlinemeter.service.js',
|
||||
'app/services/settings/meter/offlinemeterfile.service.js',
|
||||
'app/services/settings/meter/virtualmeter.service.js',
|
||||
'app/services/settings/meter/meterpoint.service.js',
|
||||
'app/services/settings/datasource/datasource.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/controllers/settings/meter/meter.master.controller.js',
|
||||
'app/controllers/settings/meter/meter.controller.js',
|
||||
'app/controllers/settings/meter/offlinemeter.controller.js',
|
||||
'app/controllers/settings/meter/offlinemeterfile.controller.js',
|
||||
'app/controllers/settings/meter/virtualmeter.controller.js',
|
||||
'app/controllers/settings/meter/meterpoint.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.sensor', {
|
||||
url: "/sensor",
|
||||
templateUrl: "views/settings/sensor/sensor.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.SENSOR',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/sensor/sensor.service.js',
|
||||
'app/services/settings/sensor/sensorpoint.service.js',
|
||||
'app/services/settings/datasource/datasource.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/controllers/settings/sensor/sensor.master.controller.js',
|
||||
'app/controllers/settings/sensor/sensor.controller.js',
|
||||
'app/controllers/settings/sensor/sensorpoint.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.costcenter', {
|
||||
url: "/costcenter",
|
||||
templateUrl: "views/settings/costcenter/costcenter.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.COSTCENTER',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/costcenter/costcenter.service.js',
|
||||
'app/services/settings/costcenter/costcentertariff.service.js',
|
||||
'app/services/settings/tariff/tariff.service.js',
|
||||
'app/services/settings/costcenter/costfile.service.js',
|
||||
'app/controllers/settings/costcenter/costcenter.master.controller.js',
|
||||
'app/controllers/settings/costcenter/costcenter.controller.js',
|
||||
'app/controllers/settings/costcenter/costcentertariff.controller.js',
|
||||
'app/controllers/settings/costcenter/costfile.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.datasource', {
|
||||
url: "/data-source",
|
||||
templateUrl: "views/settings/datasource/datasource.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.DATASOURCE'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
|
||||
files: [
|
||||
'app/services/settings/datasource/datasource.service.js',
|
||||
'app/services/settings/datasource/point.service.js',
|
||||
'app/services/settings/gateway/gateway.service.js',
|
||||
'app/controllers/settings/datasource/datasource.master.controller.js',
|
||||
'app/controllers/settings/datasource/datasource.controller.js',
|
||||
'app/controllers/settings/datasource/point.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.category', {
|
||||
url: "/category",
|
||||
templateUrl: "views/settings/category/category.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.CATEGORY'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/category/category.service.js',
|
||||
'app/controllers/settings/category/energycategory.master.controller.js',
|
||||
'app/controllers/settings/category/energycategory.controller.js',
|
||||
'app/services/settings/category/energyitem.service.js',
|
||||
'app/controllers/settings/category/energyitem.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.energyflowdiagram', {
|
||||
url: "/energyflowdiagram",
|
||||
templateUrl: "views/settings/energyflowdiagram/energyflowdiagram.html",
|
||||
|
@ -989,11 +994,11 @@ app
|
|||
]
|
||||
}
|
||||
})
|
||||
.state('settings.contact', {
|
||||
url: "/contact",
|
||||
templateUrl: "views/settings/contact/contact.html",
|
||||
.state('settings.menu', {
|
||||
url: "/menu",
|
||||
templateUrl: "views/settings/menu/menu.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.CONTACT'
|
||||
pageTitle: 'MENU.SETTINGS.MENU',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
|
@ -1009,8 +1014,9 @@ app
|
|||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/contact/contact.service.js',
|
||||
'app/controllers/settings/contact/contact.controller.js'
|
||||
'app/services/settings/menu/menu.service.js',
|
||||
'app/controllers/settings/menu/menu.controller.js',
|
||||
'app/controllers/settings/menu/menu.master.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
|
@ -1018,6 +1024,7 @@ app
|
|||
}
|
||||
]
|
||||
}
|
||||
|
||||
})
|
||||
.state('settings.emailserver', {
|
||||
url: "/emailserver",
|
||||
|
@ -1049,43 +1056,6 @@ app
|
|||
]
|
||||
}
|
||||
})
|
||||
|
||||
.state('settings.gateway', {
|
||||
url: "/gateway",
|
||||
templateUrl: "views/settings/gateway/gateway.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.GATEWAY',
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'ui.checkbox', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/gateway/gateway.service.js',
|
||||
'app/controllers/settings/gateway/gateway.master.controller.js',
|
||||
'app/controllers/settings/gateway/gateway.controller.js',
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('settings.gsmmodem', {
|
||||
url: "/gsmmodem",
|
||||
templateUrl: "views/settings/gsmmodem/gsmmodem.html",
|
||||
|
@ -1152,49 +1122,6 @@ app
|
|||
}
|
||||
|
||||
})
|
||||
.state('settings.tariff', {
|
||||
url: "/tariff",
|
||||
templateUrl: "views/settings/tariff/tariff.html",
|
||||
data: {
|
||||
pageTitle: 'MENU.SETTINGS.TARIFF'
|
||||
},
|
||||
resolve: {
|
||||
deps: [
|
||||
'$ocLazyLoad',
|
||||
function ($ocLazyLoad) {
|
||||
return $ocLazyLoad.load(['ui.select', 'toaster']).then(
|
||||
function () {
|
||||
return $ocLazyLoad.load([{
|
||||
serie: true,
|
||||
files: ['js/daterangepicker/daterangepicker.min.js', 'js/daterangepicker/daterangepicker.min.css']
|
||||
}, {
|
||||
name: 'daterangepicker',
|
||||
files: ['js/daterangepicker/angular-daterangepicker.min.js']
|
||||
}, {
|
||||
files: ['js/plugins/footable/footable.all.min.js', 'css/plugins/footable/footable.core.css']
|
||||
}, {
|
||||
name: 'ui.footable',
|
||||
files: ['js/plugins/footable/angular-footable.js']
|
||||
}, {
|
||||
files: ['js/plugins/sweetalert/sweetalert.min.js', 'css/plugins/sweetalert/sweetalert.css']
|
||||
}, {
|
||||
name: 'oitozero.ngSweetAlert',
|
||||
files: ['js/plugins/sweetalert/angular-sweetalert.min.js']
|
||||
}, {
|
||||
serie: true,
|
||||
files: [
|
||||
'app/services/settings/tariff/tariff.service.js',
|
||||
'app/services/settings/tariff/tariff.const.js',
|
||||
'app/services/settings/category/category.service.js',
|
||||
'app/controllers/settings/tariff/tariff.controller.js'
|
||||
]
|
||||
}]);
|
||||
}
|
||||
);
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
.state('users', {
|
||||
abstract: true,
|
||||
url: "/users",
|
||||
|
|
|
@ -0,0 +1,181 @@
|
|||
'use strict';
|
||||
|
||||
app.controller('MenuController', function ($scope, $common, $uibModal, MenuService, CostCenterService, ContactService, toaster, $translate, SweetAlert) {
|
||||
$scope.menus = [];
|
||||
$scope.currentMenuID = 1;
|
||||
$scope.currentMenu = {};
|
||||
$scope.currentMenuChildren = [];
|
||||
|
||||
$scope.getAllMenus = function () {
|
||||
MenuService.getAllMenus(function (error, data) {
|
||||
if (!error) {
|
||||
$scope.menus = data;
|
||||
} else {
|
||||
$scope.menus = [];
|
||||
}
|
||||
//create menu tree
|
||||
var treedata = { 'core': { 'data': [], "multiple": false, }, "plugins": ["wholerow"] };
|
||||
for (var i = 0; i < $scope.menus.length; i++) {
|
||||
if ($scope.menus[i].parent_menu_id == null) {
|
||||
var node = {
|
||||
"id": $scope.menus[i].id.toString(),
|
||||
"parent": '#',
|
||||
"text": $scope.menus[i].name,
|
||||
"state": { 'opened': true },
|
||||
};
|
||||
} else {
|
||||
var node = {
|
||||
"id": $scope.menus[i].id.toString(),
|
||||
"parent": $scope.menus[i].parent_menu_id.toString(),
|
||||
"text": $scope.menus[i].name,
|
||||
"state": { 'opened': true },
|
||||
};
|
||||
};
|
||||
treedata['core']['data'].push(node);
|
||||
}
|
||||
|
||||
angular.element(menutree).jstree(treedata);
|
||||
//menu tree selected changed event handler
|
||||
angular.element(menutree).on("changed.jstree", function (e, data) {
|
||||
$scope.currentMenuID = parseInt(data.selected[0]);
|
||||
$scope.getMenuChildren($scope.currentMenuID);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
$scope.refreshMenuTree = function () {
|
||||
MenuService.getAllMenus(function (error, data) {
|
||||
if (!error) {
|
||||
$scope.menus = data;
|
||||
} else {
|
||||
$scope.menus = [];
|
||||
}
|
||||
//create menu tree
|
||||
var treedata = { 'core': { 'data': [], "multiple": false, }, "plugins": ["wholerow"] };
|
||||
for (var i = 0; i < $scope.menus.length; i++) {
|
||||
if ($scope.menus[i].parent_menu_id == null) {
|
||||
var node = {
|
||||
"id": $scope.menus[i].id.toString(),
|
||||
"parent": '#',
|
||||
"text": $scope.menus[i].name,
|
||||
"state": { 'opened': true},
|
||||
};
|
||||
} else {
|
||||
var node = {
|
||||
"id": $scope.menus[i].id.toString(),
|
||||
"parent": $scope.menus[i].parent_menu_id.toString(),
|
||||
"text": $scope.menus[i].name,
|
||||
"state": { 'opened': true},
|
||||
};
|
||||
};
|
||||
treedata['core']['data'].push(node);
|
||||
}
|
||||
var menutree = document.getElementById("menutree");
|
||||
angular.element(menutree).jstree(true).settings.core.data = treedata['core']['data'];
|
||||
angular.element(menutree).jstree(true).refresh();
|
||||
});
|
||||
};
|
||||
|
||||
$scope.getMenuChildren = function (menuid) {
|
||||
MenuService.getMenuChildren(menuid, function (error, data) {
|
||||
if (!error) {
|
||||
$scope.currentMenu = data["current"];
|
||||
$scope.currentMenuChildren = data["children"];
|
||||
} else {
|
||||
$scope.currentMenu = {};
|
||||
$scope.currentMenuChildren = [];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$scope.editMenu = function (menu) {
|
||||
var modalInstance = $uibModal.open({
|
||||
windowClass: "animated fadeIn",
|
||||
templateUrl: 'views/settings/menu/menu.model.html',
|
||||
controller: 'ModalEditMenuCtrl',
|
||||
resolve: {
|
||||
params: function () {
|
||||
return {
|
||||
menu: angular.copy(menu),
|
||||
menus: angular.copy($scope.menus),
|
||||
timezones: angular.copy($scope.timezones),
|
||||
costcenters: angular.copy($scope.costcenters),
|
||||
contacts: angular.copy($scope.contacts),
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
modalInstance.result.then(function (modifiedMenu) {
|
||||
if (modifiedMenu.parent_menu != null) {
|
||||
modifiedMenu.parent_menu_id = modifiedMenu.parent_menu_id;
|
||||
} else {
|
||||
modifiedMenu.parent_menu_id = null;
|
||||
}
|
||||
|
||||
MenuService.editMenu(modifiedMenu, function (error, status) {
|
||||
if (angular.isDefined(status) && status == 200) {
|
||||
var templateName = "COMMON.MENU";
|
||||
templateName = $translate.instant(templateName);
|
||||
|
||||
var popType = 'TOASTER.SUCCESS';
|
||||
var popTitle = $common.toaster.success_title;
|
||||
var popBody = $common.toaster.success_update_body;
|
||||
|
||||
popType = $translate.instant(popType);
|
||||
popTitle = $translate.instant(popTitle);
|
||||
popBody = $translate.instant(popBody, { template: templateName });
|
||||
|
||||
toaster.pop({
|
||||
type: popType,
|
||||
title: popTitle,
|
||||
body: popBody,
|
||||
showCloseButton: true,
|
||||
});
|
||||
$scope.$emit('handleEmitMenuChanged');
|
||||
} else {
|
||||
var templateName = "COMMON.MENU";
|
||||
templateName = $translate.instant(templateName);
|
||||
|
||||
var popType = 'TOASTER.ERROR';
|
||||
var popTitle = $common.toaster.error_title;
|
||||
var popBody = $common.toaster.error_update_body;
|
||||
|
||||
popType = $translate.instant(popType);
|
||||
popTitle = $translate.instant(popTitle);
|
||||
popBody = $translate.instant(popBody, { template: templateName });
|
||||
|
||||
toaster.pop({
|
||||
type: popType,
|
||||
title: popTitle,
|
||||
body: popBody,
|
||||
showCloseButton: true,
|
||||
});
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
//do nothing;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.getAllMenus();
|
||||
|
||||
$scope.$on('handleBroadcastMenuChanged', function (event) {
|
||||
$scope.refreshMenuTree();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
app.controller('ModalEditMenuCtrl', function ($scope, $uibModalInstance, params) {
|
||||
$scope.operation = "SETTING.EDIT_MENU";
|
||||
$scope.menu = params.menu;
|
||||
|
||||
$scope.ok = function () {
|
||||
$uibModalInstance.close($scope.menu);
|
||||
};
|
||||
|
||||
$scope.cancel = function () {
|
||||
$uibModalInstance.dismiss('cancel');
|
||||
};
|
||||
});
|
|
@ -0,0 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
app.controller('MenuMasterController', function($scope) {
|
||||
|
||||
$scope.$on('handleEmitMenuChanged', function(event) {
|
||||
$scope.$broadcast('handleBroadcastMenuChanged');
|
||||
});
|
||||
});
|
|
@ -0,0 +1,32 @@
|
|||
'use strict';
|
||||
app.factory('MenuService', function($http) {
|
||||
return {
|
||||
getAllMenus:function(callback){
|
||||
$http.get(getAPI()+'menus')
|
||||
.success(function (response, status, headers, config) {
|
||||
callback(null, response);
|
||||
})
|
||||
.error(function (e) {
|
||||
callback(e);
|
||||
});
|
||||
},
|
||||
getMenuChildren:function(menuid, callback){
|
||||
$http.get(getAPI()+'menus/'+menuid+'/children')
|
||||
.success(function (response, status, headers, config) {
|
||||
callback(null, response);
|
||||
})
|
||||
.error(function (e) {
|
||||
callback(e);
|
||||
});
|
||||
},
|
||||
editMenu: function(menu, callback) {
|
||||
$http.put(getAPI()+'menus/'+menu.id,{data:menu})
|
||||
.success(function (response, status, headers, config) {
|
||||
callback(null, status);
|
||||
})
|
||||
.error(function (e) {
|
||||
callback(e);
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
|
@ -24,7 +24,7 @@ function config($translateProvider) {
|
|||
DATA_SOURCE: 'Data Source',
|
||||
SENSOR: 'Sensor',
|
||||
ENERGY_FLOW_DIAGRAM: 'Energy Flow Diagram',
|
||||
|
||||
MENU: 'Menu',
|
||||
PERIOD: {
|
||||
LABEL: 'Date period',
|
||||
YEAR: 'Year',
|
||||
|
@ -33,8 +33,6 @@ function config($translateProvider) {
|
|||
HOUR: 'Hour',
|
||||
},
|
||||
DATE: 'Date Range',
|
||||
BASEMETER: 'Base Meter',
|
||||
ANALYSISMETER: 'Analysis Meter',
|
||||
ANALYSIS: {
|
||||
LABEL: 'Analysis Type',
|
||||
ENERGY: 'Energy',
|
||||
|
@ -144,6 +142,7 @@ function config($translateProvider) {
|
|||
CATEGORY: 'Energy Categories',
|
||||
ENERGY_FLOW_DIAGRAM: 'Energy Flow Diagram',
|
||||
DISTRIBUTION_SYSTEM: 'Distribution System',
|
||||
MENU: 'Menu Settings',
|
||||
TARIFF: 'Tariff Settings',
|
||||
EMAIL_SERVER: 'Email Server Settings',
|
||||
GSM_MODEM: 'GSM Modem Settings',
|
||||
|
@ -351,6 +350,13 @@ function config($translateProvider) {
|
|||
RESTORE: 'Restore',
|
||||
RESTORE_SUCCESS: 'Restore Success',
|
||||
RESTORE_FAILED: 'Restore Failed',
|
||||
|
||||
SELECT_MENU: 'Select Menu',
|
||||
CURRENT_SELECTED_MENU: 'Current Selected Menu',
|
||||
PARENT_MENU: 'Parent Menu',
|
||||
IS_HIDDEN: 'Is Hidden',
|
||||
CHILD_MENUS: 'Child Menus',
|
||||
EDIT_MENU: 'Edit Menu'
|
||||
},
|
||||
CONTACT: {
|
||||
EMAIL: 'Email',
|
||||
|
@ -894,8 +900,7 @@ function config($translateProvider) {
|
|||
DATA_SOURCE: '数据源',
|
||||
SENSOR: '传感器',
|
||||
ENERGY_FLOW_DIAGRAM: '能流图',
|
||||
|
||||
UTILITY: '效用',
|
||||
MENU: '菜单',
|
||||
PERIOD: {
|
||||
LABEL: '选择范围',
|
||||
YEAR: '年',
|
||||
|
@ -904,8 +909,6 @@ function config($translateProvider) {
|
|||
HOUR: '时',
|
||||
},
|
||||
DATE: '日期',
|
||||
BASEMETER: '基准表',
|
||||
ANALYSISMETER: '分析表',
|
||||
ANALYSIS: {
|
||||
LABEL: '显示方式',
|
||||
ENERGY: '能耗',
|
||||
|
@ -1015,6 +1018,7 @@ function config($translateProvider) {
|
|||
CATEGORY: '能源分类管理',
|
||||
ENERGY_FLOW_DIAGRAM: '能流图管理',
|
||||
DISTRIBUTION_SYSTEM: '配电系统管理',
|
||||
MENU: '菜单管理',
|
||||
TARIFF: '能源费率管理',
|
||||
EMAIL_SERVER: '邮件服务器设置',
|
||||
GSM_MODEM: '短信模块设置',
|
||||
|
@ -1230,6 +1234,13 @@ function config($translateProvider) {
|
|||
RESTORE: '恢复',
|
||||
RESTORE_SUCCESS: '恢复成功',
|
||||
RESTORE_FAILED: '恢复失败',
|
||||
|
||||
SELECT_MENU: '选择菜单',
|
||||
CURRENT_SELECTED_MENU: '当前选定菜单',
|
||||
PARENT_MENU: '上级菜单',
|
||||
IS_HIDDEN: '是否隐藏',
|
||||
CHILD_MENUS: '下级菜单',
|
||||
EDIT_MENU: '编辑菜单'
|
||||
},
|
||||
CONTACT: {
|
||||
EMAIL: '邮箱',
|
||||
|
@ -1758,8 +1769,7 @@ function config($translateProvider) {
|
|||
DATA_SOURCE: 'Datenquelle',
|
||||
SENSOR: 'Sensor',
|
||||
ENERGY_FLOW_DIAGRAM: 'Energieflussdiagramm',
|
||||
|
||||
UTILITY: 'Nützlichkeit',
|
||||
MENU: 'Menü',
|
||||
PERIOD: {
|
||||
LABEL: 'Bereich auswählen',
|
||||
YEAR: 'Jahr',
|
||||
|
@ -1768,8 +1778,6 @@ function config($translateProvider) {
|
|||
HOUR: 'Zeit',
|
||||
},
|
||||
DATE: 'Datum',
|
||||
BASEMETER: 'Benchmark-Tabelle',
|
||||
ANALYSISMETER: 'Analysetabelle',
|
||||
ANALYSIS: {
|
||||
LABEL: 'Anzeigemethode',
|
||||
ENERGY: 'Energieverbrauch',
|
||||
|
@ -1879,6 +1887,7 @@ function config($translateProvider) {
|
|||
CATEGORY: 'Energieklassifizierungsmanagement',
|
||||
ENERGY_FLOW_DIAGRAM: 'Energieflussdiagramm-Management',
|
||||
DISTRIBUTION_SYSTEM: 'Verwaltung des Verteilungssystems',
|
||||
MENU: 'Verwaltung des Menüs',
|
||||
TARIFF: 'Energieratenmanagement',
|
||||
EMAIL_SERVER: 'Mailserver-Einstellungen',
|
||||
GSM_MODEM: 'SMS-Moduleinstellungen',
|
||||
|
@ -2095,6 +2104,13 @@ function config($translateProvider) {
|
|||
RESTORE: 'wiederherstellen',
|
||||
RESTORE_SUCCESS: 'Erfolgreiche Genesung',
|
||||
RESTORE_FAILED: 'Wiederherstellung fehlgeschlagen',
|
||||
|
||||
SELECT_MENU: 'Menü auswählen',
|
||||
CURRENT_SELECTED_MENU: 'Aktuelles Menü',
|
||||
PARENT_MENU: 'Superior Menü',
|
||||
IS_HIDDEN: 'Ist versteckt',
|
||||
CHILD_MENUS: 'Unteres Menü',
|
||||
EDIT_MENU: 'Menü bearbeiten'
|
||||
},
|
||||
CONTACT: {
|
||||
EMAIL: 'Briefkasten',
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
<li ui-sref-active="active"><a ui-sref="settings.shopfloor">{{ 'MENU.SETTINGS.SHOPFLOOR' | translate }}</a></li>
|
||||
<li ui-sref-active="active"><a ui-sref="settings.energyflowdiagram">{{ 'MENU.SETTINGS.ENERGY_FLOW_DIAGRAM' | translate }}</a></li>
|
||||
<li ui-sref-active="active"><a ui-sref="settings.distributionsystem">{{ 'MENU.SETTINGS.DISTRIBUTION_SYSTEM' | translate }}</a></li>
|
||||
<li ui-sref-active="active"><a ui-sref="settings.menu">{{ 'MENU.SETTINGS.MENU' | translate }}</a></li>
|
||||
<li ui-sref-active="active"><a ui-sref="settings.emailserver">{{ 'MENU.SETTINGS.EMAIL_SERVER' | translate }}</a></li>
|
||||
<li ui-sref-active="active"><a ui-sref="settings.gsmmodem">{{ 'MENU.SETTINGS.GSM_MODEM' | translate }}</a></li>
|
||||
<li ui-sref-active="active"><a ui-sref="settings.knowledgefile">{{ 'MENU.SETTINGS.KNOWLEDGEFILE' | translate }}</a></li>
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
<div class="wrapper wrapper-content" ng-controller="MenuMasterController">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="tabs-container">
|
||||
|
||||
<uib-tabset>
|
||||
<uib-tab heading="{{'COMMON.MENU' | translate}}">
|
||||
<div class="panel-body" ng-controller="MenuController">
|
||||
<div class="row">
|
||||
<div class="col-lg-3">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
{{'SETTING.SELECT_MENU' | translate}}
|
||||
</div>
|
||||
<div class="panel-body" style="overflow: auto; max-height: 700px;">
|
||||
<div id="menutree"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-9">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
{{'SETTING.CURRENT_SELECTED_MENU' | translate}}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-center">{{'SETTING.ID' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.NAME' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.PARENT_MENU' | translate}}</th>
|
||||
<th class="text-center">
|
||||
{{'SETTING.IS_HIDDEN' | translate}}
|
||||
</th>
|
||||
<th class="text-center">{{'SETTING.ACTION' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr >
|
||||
<td class="text-center">{{ currentMenu.id }}</td>
|
||||
<td class="text-center">{{ currentMenu.name }}</td>
|
||||
<td class="text-center">{{ currentMenu.parent_menu.name }}</td>
|
||||
<td class="text-center">{{ currentMenu.is_hidden }}</td>
|
||||
{{ currentMenu.is_hidden==false?'SETTING.NO':'SETTING.YES' | translate }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a class="btn btn-primary btn-rounded btn-xs"
|
||||
ng-click="editMenu(currentMenu)">{{'SETTING.EDIT' | translate}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
{{'SETTING.CHILD_MENUS' | translate}}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr >
|
||||
<th class="text-center">{{'SETTING.ID' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.NAME' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.PARENT_MENU' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.IS_HIDDEN' | translate}}</th>
|
||||
<th class="text-center">{{'SETTING.ACTION' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="menu in currentMenuChildren">
|
||||
<td class="text-center">{{ menu.id }}</td>
|
||||
<td class="text-center">{{ menu.name }}</td>
|
||||
<td class="text-center">{{ menu.parent_menu.name }}</td>
|
||||
<td class="text-center">
|
||||
{{ menu.is_hidden==false?'SETTING.NO':'SETTING.YES' | translate }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a class="btn btn-primary btn-rounded btn-xs"
|
||||
ng-click="editMenu(menu)">{{'SETTING.EDIT' | translate}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</uib-tab>
|
||||
</uib-tabset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,36 @@
|
|||
<div class="inmodal">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">{{operation | translate}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form role="form" name="form_menu" novalidate class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label">{{'SETTING.NAME' | translate}}</label>
|
||||
<div class="col-sm-8">
|
||||
<input ng-model="menu.name" type="text" disabled name="menuname" class="form-control" required>
|
||||
<div class="m-t-xs" ng-show="form_menu.menuname.$invalid && form_menu.menuname.$dirty">
|
||||
<small class="text-danger"
|
||||
ng-show="form_menu.menuname.$error.required">{{'SETTING.INPUT_NAME' | translate}}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hr-line-dashed"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label">{{'SETTING.IS_HIDDEN' | translate}} </label>
|
||||
<div class="col-sm-8">
|
||||
<div class="checkbox checkbox-success">
|
||||
<input id="chk_menu_is_hidden" type="checkbox" ng-model="menu.is_hidden"
|
||||
ng-checked="menu.is_hidden">
|
||||
<label for="chk_menu_is_hidden">{{'SETTING.IS_HIDDEN' | translate}}</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-white" ng-click="cancel()">{{'SETTING.CANCEL' | translate}}</button>
|
||||
<button type="button" ng-disabled="form_menu.$invalid" class="btn btn-primary"
|
||||
ng-click="ok()">{{'SETTING.SAVE' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
|
@ -34,7 +34,7 @@ class MenuCollection:
|
|||
"path": row['path'],
|
||||
"name": row['name'],
|
||||
"parent_menu_id": row['parent_menu_id'],
|
||||
"is_hidden": row['is_hidden']}
|
||||
"is_hidden": bool(row['is_hidden'])}
|
||||
|
||||
result.append(temp)
|
||||
|
||||
|
@ -73,7 +73,7 @@ class MenuItem:
|
|||
"path": rows_menu['path'],
|
||||
"name": rows_menu['name'],
|
||||
"parent_menu_id": rows_menu['parent_menu_id'],
|
||||
"is_hidden": rows_menu['is_hidden']}
|
||||
"is_hidden": bool(rows_menu['is_hidden'])}
|
||||
|
||||
cursor.close()
|
||||
cnx.disconnect()
|
||||
|
@ -149,7 +149,7 @@ class MenuChildrenCollection:
|
|||
"path": row_current_menu['path'],
|
||||
"name": row_current_menu['name'],
|
||||
"parent_menu_id": row_current_menu['parent_menu_id'],
|
||||
"is_hidden": row_current_menu['is_hidden']}
|
||||
"is_hidden": bool(row_current_menu['is_hidden'])}
|
||||
current_menu_id = row_current_menu['id']
|
||||
|
||||
query = (" SELECT id, path, name, parent_menu_id, is_hidden"
|
||||
|
@ -167,7 +167,7 @@ class MenuChildrenCollection:
|
|||
"path": row['path'],
|
||||
"name": row['name'],
|
||||
"parent_menu": current_menu,
|
||||
"is_hidden": row['is_hidden']
|
||||
"is_hidden": bool(row['is_hidden'])
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -195,43 +195,34 @@ class MenuWebCollection:
|
|||
cnx = mysql.connector.connect(**config.myems_system_db)
|
||||
cursor = cnx.cursor(dictionary=True)
|
||||
|
||||
query = (" SELECT id, path, parent_menu_id, is_hidden "
|
||||
query = (" SELECT id, path, parent_menu_id, is_hidden "
|
||||
" FROM tbl_menus "
|
||||
" WHERE parent_menu_id is NULL "
|
||||
" AND is_hidden=0 ")
|
||||
" WHERE parent_menu_id is NULL AND is_hidden == false ")
|
||||
cursor.execute(query)
|
||||
rows_menus = cursor.fetchall()
|
||||
|
||||
first_paths = {}
|
||||
if rows_menus is not None and len(rows_menus) > 0:
|
||||
for row in rows_menus:
|
||||
_id = row['id']
|
||||
path = row['path']
|
||||
first_paths[_id] = {
|
||||
'path': path,
|
||||
first_paths[row['id']] = {
|
||||
'path': row['path'],
|
||||
'children': []
|
||||
}
|
||||
|
||||
query = (" SELECT id, path, parent_menu_id, is_hidden "
|
||||
query = (" SELECT id, path, parent_menu_id, is_hidden "
|
||||
" FROM tbl_menus "
|
||||
" WHERE parent_menu_id is not NULL "
|
||||
" AND is_hidden=0 ")
|
||||
" WHERE parent_menu_id is not NULL AND is_hidden == false ")
|
||||
cursor.execute(query)
|
||||
rows_menus = cursor.fetchall()
|
||||
|
||||
if rows_menus is not None and len(rows_menus) > 0:
|
||||
for row in rows_menus:
|
||||
_id = row['id']
|
||||
parent_menu_id = row['parent_menu_id']
|
||||
path = row['path']
|
||||
if parent_menu_id in first_paths.keys():
|
||||
first_paths[parent_menu_id]['children'].append(path)
|
||||
if row['parent_menu_id'] in first_paths.keys():
|
||||
first_paths[row['parent_menu_id']]['children'].append(row['path'])
|
||||
|
||||
result = dict()
|
||||
for _id, item in first_paths.items():
|
||||
first_path = item['path']
|
||||
children = item['children']
|
||||
result[first_path] = children
|
||||
result[item['path']] = item['children']
|
||||
|
||||
cursor.close()
|
||||
cnx.disconnect()
|
||||
|
|
Loading…
Reference in New Issue