BemsWebApplication.CenterMainDashboard = function (params, viewInfo) { "use strict"; var CurrSiteData; var sitename = ""; var CmSite; function refreshList() { } function handleViewShowing() { DevExpress.ui.themes.current('generic.dark'); if (BWA.config["center-mode"]) { sitename = "통합관리센터"; } CmSiteDataSource.filter([ ['lat', '>=', 1] ]); CmSiteDataSource.sort({ getter: "lat", asc: true }); CmSiteDataSource.load().done(function (result) { CmSite = result; }); } function handleViewHidden() { } function handleViewDisposing() { } var timer; var gaugeDataOptions = {}; var //ELECTRICITY_DAY_MAX = 50000, // 전기금일목표 //ELECTRICITY_MONTH_MAX = 1000000, //전기이달목표 ELECTRICITY_YEAR_MAX = 0, //ELECTRICITY_GOAL_YEAR = 101165200, // 백만kWh //GAS_DAY_MAX = 40000, //GAS_MONTH_MAX = 100000, GAS_YEAR_MAX = 0, WATER_YEAR_MAX = 0; //GAS_GOAL_YEAR = 3708099, // var yearElectricityUsageValue = ko.observable(0), yearGasUsageValue = ko.observable(0); var CODE = $Code, FuelType = CODE.g_fuelTypes, FT = CODE.FacilityType, FC = CODE.FacilityCode, F = CODE.Formula, TIT = CODE.TimeIntervalType; var visiblePopup = ko.observable(false); var factorCo2 = null, factorToe = null, factorKcal = null; var serviceType = null; var fuelTypesDataSource = BemsWebApplication.db.createDataSource('BemsFuelType'), factorCo2DataSource = BemsWebApplication.db.createDataSource('BemsFactorCo2'), serviceTypesDataSource = BemsWebApplication.db.createDataSource('BemsServiceType'), factorToeDataSource = BemsWebApplication.db.createDataSource('BemsFactorToe'), CmSiteDataSource = BemsWebApplication.db.createDataSource('CmSite'); var mainChart = BWA.Chart.Instance('mainChart', 'dxChart'); var energyUsageStatusGet = new BWA.Chart.PointHistoryServiceTypeGet(BWA.UserInfo.SiteId()); //var energyUsageStatusGet = new BWA.Chart.PointHistoryServiceTypeGet(BWA.UserInfo.SiteId()); //var energyUsageStatusGet = new BWA.Chart.PointHistoryServiceTypeGet(BWA.UserInfo.SiteId()); var yearElectricityUsageGauge = BWA.Chart.Instance('yearElectricityUsageGauge', 'dxCircularGauge'), yearGasUsageGauge = BWA.Chart.Instance('yearGasUsageGauge', 'dxCircularGauge'), yearEnergyUsageGauge = BWA.Chart.Instance('yearEnergyUsageGauge', 'dxCircularGauge'); var chartPieDaySU = BWA.Chart.Instance('chartPieDaySU_CM', 'dxPieChart'); var chartBarDaySU = BWA.Chart.Instance('chartBarDaySU_CM', 'dxChart'); var works = ko.observableArray(); var initialized = false; function handleViewShown() { /* var tests = []; for (var i=0; i < 2; i++) { tests.push({ site: '대구은행', today_kcal_24h: '대구은행', elec: 100, gas: 200, per_target : 300, }); } works(tests);*/ if (initialized === false) { var chartOption = BWA.ChartOptions.CenterMainDashboard; var chartOptionService = BWA.ChartOptions.ServiceEnergyUsageKC; //var chartOption2 = BWA.ChartOptions.RefrigeratorAnalysis; mainChart = mainChart(chartOption.getMainChartOptions()); //mainChart = mainChart(chartOption2.getCopChartOptions($Code.TimeType.HOUR)); yearElectricityUsageGauge = yearElectricityUsageGauge(chartOption.getYearElectricityUsageStatusChartOptions()); yearGasUsageGauge = yearGasUsageGauge(chartOption.getYearGasUsageStatusChartOptions()); yearEnergyUsageGauge = yearEnergyUsageGauge(chartOption.getYearTotalEnergyUsageStatusChartOptions()); gaugeDataOptions[FT.ELECTRICITY] = { gauge: yearElectricityUsageGauge, max: ELECTRICITY_YEAR_MAX, value: yearElectricityUsageValue }; gaugeDataOptions[FT.GAS] = { gauge: yearGasUsageGauge, max: GAS_YEAR_MAX, value: yearGasUsageValue }; serviceTypesDataSource.filter([ ['ServiceTypeId', '<', 100] ]); var whenPromise = $.when(fuelTypesDataSource.load(), factorCo2DataSource.load(), factorToeDataSource.load(), serviceTypesDataSource.load()) .then(function (dbfuelTypes, dbfactorsCo2, dbfactorsToe, dbServieType) { factorCo2 = BWA.Bems.refineFactorCo2DataArray(dbfactorsCo2[0]); factorToe = BWA.Bems.refineFactorToeDataArray(dbfactorsToe[0]); factorKcal = BWA.Bems.refineFactorKCalDataArray(dbfactorsToe[0]); serviceType = dbServieType[0]; chartOptionService.MakeSeries(serviceType); chartPieDaySU = chartPieDaySU(chartOptionService.getPieChartDayOptions()); chartBarDaySU = chartBarDaySU(chartOptionService.getBarChartDayOptions()); visiblePopup(true); CenterDataLoad(); timer = setInterval(function () { var now = new Date(); if ((now.getMinutes() % 15 == 0) && (now.getSeconds() == 59)) { //if (now.getSeconds() == 59) { CenterDataLoad(); //SelectSite(CurrSiteData); } }, 1000); }); initialized = true; } } function loadCircularGaugeDatas(data) { // 파라미터 값들을 로드 var startDateInYear = moment().startOf('year'), endDateInYear = moment(); var param = { SiteId: data.site, BuildingId: 1, // 의미없음 FuelType: 1, // 의미없음 StartDate: startDateInYear, EndDate: endDateInYear }; $.when(BWA.api.post('BemsMonitoringPointHistory/GetPrediction', param)) // 오늘,이달,금년 모두 한번에 온다 .done(function (goals) { //ELECTRICITY_DAY_MAX = goals[0]; //GAS_DAY_MAX = goals[1]; //WATER_DAY_MAX = goals[2]; //ELECTRICITY_MONTH_MAX = goals[3]; //GAS_MONTH_MAX = goals[4]; //WATER_MONTH_MAX = goals[5]; ELECTRICITY_YEAR_MAX = goals[6]; //2017 01 09 가스 목표량은 Kw 이다 해서 아래와 같이 처리한다 hcLee //GAS_YEAR_MAX = goals[7]; GAS_YEAR_MAX = factorToe.calculate(goals[7], FC.ELECTRICITY) / factorToe[FC.GAS].pureFactor; WATER_YEAR_MAX = goals[8]; gaugeDataOptions[FT.ELECTRICITY].max = ELECTRICITY_YEAR_MAX; gaugeDataOptions[FT.GAS].max = GAS_YEAR_MAX; //gaugeDataOptions[FT.WATER].max = WATER_YEAR_MAX; var promises = []; var param = { SiteId: data.site, TimeIntervalType: TIT.YEAR, FacilityTypeId: FT.ELECTRICITY, FacilityCode: FC.ELECTRICITY, FormulaId: F[FT.ELECTRICITY].TOTAL_ELECTRICITY_AMOUNT, StartDate: $G.dateTime(startDateInYear), EndDate: $G.dateTime(endDateInYear), }; promises.push(BWA.api.get('BemsFormula/Calculation', param)); param.FacilityTypeId = FT.GAS; param.FacilityCode = FC.GAS; param.FormulaId = F[FT.GAS].TOTAL_GAS_AMOUNT; promises.push(BWA.api.get('BemsFormula/Calculation', param)); param.FacilityTypeId = FT.WATER; param.FacilityCode = FC.WATER; param.FormulaId = F[FT.WATER].TOTAL_WATER_AMOUNT; promises.push(BWA.api.get('BemsFormula/Calculation', param)); $.when.apply(this, promises).done(function (e, g, w) { var V = (e[0].length == 1) ? e[0][0].Value : 0; gaugeDataOptions[FT.ELECTRICITY].gauge().value((V == 0) ? 0 : V / gaugeDataOptions[FT.ELECTRICITY].max * 100); gaugeDataOptions[FT.ELECTRICITY].value(V); V = (g[0].length == 1) ? g[0][0].Value : 0; gaugeDataOptions[FT.GAS].gauge().value((V == 0) ? 0 : V / gaugeDataOptions[FT.GAS].max * 100); gaugeDataOptions[FT.GAS].value(V); var maxCo2 = factorCo2.calculate(ELECTRICITY_YEAR_MAX, FC.ELECTRICITY) + factorCo2.calculate(GAS_YEAR_MAX, FC.GAS) + factorCo2.calculate(WATER_YEAR_MAX, FC.WATER); var Co2Electricity = factorCo2.calculate(yearElectricityUsageValue(), FC.ELECTRICITY); var Co2Gas = factorCo2.calculate(yearGasUsageValue(), FC.GAS); V = (w[0].length == 1) ? w[0][0].Value : 0; var Co2 = Co2Electricity + Co2Gas + factorCo2.calculate(V, FC.WATER); //if (V == 0) yearEnergyUsageGauge().value(0); // cyim 2016.12.08 데이타가 없으면 게이지 값을 초기화 if (Co2 == 0 || maxCo2 == 0) yearEnergyUsageGauge().value(0); // 버그수정 hcLee 2017 02 16 else yearEnergyUsageGauge().value(Co2 / maxCo2 * 100); $('#yearCO2').text(Math.round(Co2 * 100) / 100); }); }); //여기서 전체 Co2별도 계산 hcLee 2015 06 29 //rateGauges[DAY_CO2_USAGE].setValue(1.1); //rateGauges[MONTH_CO2_USAGE].setValue(2.2); //rateGauges[YEAR_CO2_USAGE].setValue(3.3); //}); } function loadTotalCo2Month(data) { var now = new Date(); var startDate, endDate; var monthMoment; monthMoment = moment().month(now.getMonth()); startDate = monthMoment.startOf('month'); endDate = monthMoment.clone().endOf('month'); var promises = []; var param = { SiteId: data.site, TimeIntervalType: TIT.MONTH, FacilityTypeId: FT.ELECTRICITY, FacilityCode: FC.ELECTRICITY, FormulaId: F[FT.ELECTRICITY].TOTAL_ELECTRICITY_AMOUNT, StartDate: $G.dateTime(startDate), EndDate: $G.dateTime(endDate), }; promises.push(BWA.api.get('BemsFormula/Calculation', param)); param.FacilityTypeId = FT.GAS; param.FacilityCode = FC.GAS; param.FormulaId = F[FT.GAS].TOTAL_GAS_AMOUNT; promises.push(BWA.api.get('BemsFormula/Calculation', param)); param.FacilityTypeId = FT.WATER; param.FacilityCode = FC.WATER; param.FormulaId = F[FT.WATER].TOTAL_WATER_AMOUNT; promises.push(BWA.api.get('BemsFormula/Calculation', param)); $.when.apply(this, promises).done(function (e, g, w) { var ee = (e[0].length == 1) ? e[0][0].Value : 0; var gg = (g[0].length == 1) ? g[0][0].Value : 0; var ww = (w[0].length == 1) ? w[0][0].Value : 0; var thisMonthCo2 = factorCo2.calculate(ee, FC.ELECTRICITY) + factorCo2.calculate(gg, FC.GAS) + factorCo2.calculate(ww, FC.WATER); $('#monthCO2').text(Math.round(thisMonthCo2 * 100) / 100); //yearEnergyUsageGauge().value(Co2 / maxCo2 * 100); }); } function getChartDataFromDataSources2(loadedDataSources, barDataArray, pieDataArray, timeFormat) { var calculate = factorKcal.calculate; var sums = new Array(serviceType.length); for (var v = 0; v < sums.length; v++) sums[v] = 0; // 미리 준비한다. var Datas = new Array(); _.each(loadedDataSources, function (array, i) { _.each(array, function (x) { if (i == 0) { var data = { DateTime: timeFormat == 'M' ? BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate()) : moment(x.DateTime).format(timeFormat), }; var b = (function (data) { var ret; for (var d = 0; d < Datas.length; d++) { if (Datas[d].DateTime == data.DateTime) return false; } return true; })(data); if (b) { for (var s = 1; s < serviceType.length; s++) { var fieldName = serviceType[s].Name(); data[fieldName] = 0; } Datas.push(data); } } else return false; }); }); _.each(loadedDataSources, function (array, i) { _.each(array, function (x) { var fieldName = serviceType[x.ServiceType].Name(); _.each(Datas, function (d) { if (timeFormat == 'M') { if (d.DateTime == BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate())) { d[fieldName] += x.Value; } } else { if (d.DateTime == moment(x.DateTime).format(timeFormat)) { d[fieldName] += x.Value; } } }); sums[x.ServiceType] += x.Value; }); }); _.each(Datas, function (x) { barDataArray.push(x); }); _.each(sums, function (x, i) { if (i > 0) pieDataArray.push({ FuelTypeName: serviceType[i].Name(), Value: x }); }); } function loadDailyEnergyUsage(sitedata, year, month) { var startDate, endDate; var monthMoment; monthMoment = moment(year).month(month - 1); startDate = monthMoment.startOf('month'); endDate = monthMoment.clone().endOf('month'); var commonParameters = { SiteId: sitedata.site, TimeIntervalType: TIT.DAY, StartDate: startDate, EndDate: endDate }; var pointHistoryParameters = { BuildingId: 0, FloorId: null, ZoneId: null, FuelTypeId: null, }; var promises = []; pointHistoryParameters.FuelTypeId = -1; //energyUsageStatusGet.siteId = sitedata.site; promises.push(energyUsageStatusGet.apiGet(_.extend(pointHistoryParameters, commonParameters))); $.when.apply(this, promises).done(function (v) { var barDataArray = []; var pieDataArray = []; getChartDataFromDataSources2(v, barDataArray, pieDataArray, 'D'); var options = BWA.ChartOptions.ServiceEnergyUsageKC.getBarChartDayOptions(); options.dataSource = barDataArray; chartBarDaySU().option(null); chartBarDaySU().option(options); chartPieDaySU().option('dataSource', pieDataArray); visiblePopup(false); $('#st1').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 사용 현황'); $('#st2').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 전체 사용량 비율'); $('#st3').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 사용량'); $('#st4').text('kcal환산 용도별 사용 현황'); $('#st5').text('kcal환산 용도별 전체 사용량 비율'); $('#st6').text('kcal환산 용도별 사용량'); }) .fail(function (error) { visiblePopup(false); }); } function loadDailyEnergyUsage_OLD(sitedata, year, month) { //2016 02 26 var startDate, endDate; var monthMoment; monthMoment = moment(year).month(month - 1); startDate = monthMoment.startOf('month'); endDate = monthMoment.clone().endOf('month'); var promises = []; _.each(FuelType, function (x) { var param = { SiteId: sitedata.site, TimeIntervalType: TIT.DAY, StartDate: $G.dateTime(startDate), EndDate: $G.dateTime(endDate), BuildingId: 0, FloorId: null, ZoneId: null, FuelTypeId: x.FuelTypeId() }; promises.push(BWA.api.get('BemsMonitoringPointHistory/ServiceType', param)); }); $.when.apply(this, promises).done(function () { var barDataArray = []; var pieDataArray = []; getChartDataFromDataSources(arguments, barDataArray, pieDataArray, 'D'); //2015 11 23 차트 다시 그리지 않는 문제 //chartBarDay().option('dataSource', barDataArray); // 대신 아래3줄로 변경 var options = BWA.ChartOptions.ServiceEnergyUsageKC.getBarChartDayOptions(); options.dataSource = barDataArray; chartBarDaySU().option(null); chartBarDaySU().option(options); chartPieDaySU().option('dataSource', pieDataArray); visiblePopup(false); $('#st2_CM').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 전체 사용량 비율'); $('#st3_CM').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 사용량'); }) .fail(function (error) { visiblePopup(false); }); } function getChartDataFromDataSources(loadedDataSources, barDataArray, pieDataArray, timeFormat) { var calculate = factorKcal.calculate; _.each(loadedDataSources, function (array, i) { _.each(array[0], function (x) { x.Value = calculate(x.Value, FuelType[i].FuelTypeId()); }); }); //var sums =new Number[8]; var sums = new Array(serviceType.length); //var sums = new Array(8); for (var v = 0; v < sums.length; v++) sums[v] = 0; // 미리 준비한다. var Datas = new Array(); _.each(loadedDataSources, function (array, i) { _.each(array[0], function (x) { if (i == 0) { var data = { //DateTime: moment(x.DateTime).format(timeFormat), DateTime: timeFormat == 'M' ? BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate()) : moment(x.DateTime).format(timeFormat), }; var b = (function (data) { var ret; for (var d = 0; d < Datas.length; d++) { if (Datas[d].DateTime == data.DateTime) return false; } return true; })(data); if (b) { for (var s = 1; s < serviceType.length; s++) { var fieldName = serviceType[s].Name(); data[fieldName] = 0; } Datas.push(data); } } else return false; }); }); _.each(loadedDataSources, function (array, i) { _.each(array[0], function (x) { var fieldName = serviceType[x.ServiceType].Name(); _.each(Datas, function (d) { if (timeFormat == 'M') { if (d.DateTime == BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate())) { d[fieldName] += x.Value; } } else { if (d.DateTime == moment(x.DateTime).format(timeFormat)) { d[fieldName] += x.Value; } } }); sums[x.ServiceType] += x.Value; //barDataArray.push(data); }); }); _.each(Datas, function (x) { barDataArray.push(x); }); //alert(serviceType[0].Name); _.each(sums, function (x, i) { if (i > 0) pieDataArray.push({ FuelTypeName: serviceType[i].Name(), Value: x }); }); } function CenterDataLoad() { var siteDatas = [], tempsiteDatas = []; var startDateInYear = moment().startOf('year'), endDateInYear = moment(); var param = { TimeIntervalType: TIT.YEAR, StartDate: $G.dateTime(startDateInYear), EndDate: $G.dateTime(endDateInYear) }; $.when(BWA.api.post('BemsMonitoringPointHistory/GetCenterSiteData', param)) // 오늘,이달,금년 모두 한번에 온다 .done(function (datas) { //console.log(datas); _.each(datas, function (s) { // 2017 01 11 var gasTarget = factorToe.calculate(s.gas_target, FC.ELECTRICITY) / factorToe[FC.GAS].pureFactor; var tt = (factorKcal.calculate(s.elec_current, FuelType[0].FuelTypeId()) + factorKcal.calculate(s.gas_current, FuelType[1].FuelTypeId())) / (factorKcal.calculate(s.elec_target, FuelType[0].FuelTypeId()) + factorKcal.calculate(gasTarget, FuelType[1].FuelTypeId())) * 100; tt = 100 - tt; tt = Math.round(tt * 100) / 100; if (isNaN(tt)) tt = 0; // 정상코드 //if (isNaN(tt)) tt = -10; var todaykcal = []; var i = 0; _.each(s.e_value_list, function (e) { todaykcal.push({ DateTime: e.DateTime, Value: Math.round((factorKcal.calculate(e.Value, FuelType[0].FuelTypeId()) + factorKcal.calculate(s.g_value_list[i].Value, FuelType[1].FuelTypeId())) * 100) / 100, }); i++; }); siteDatas.push({ site: s.siteid, name: s.name, //today_kcal_24h: '대구은행', elec: $NumberFormat(s.elec_current), gas: $NumberFormat(s.gas_current), elec_target: s.elec_target, gas_target: s.gas_target, //total_target: Math.abs(100-tt), total_target: tt, // today_e_list: s.e_value_list, // today_g_list: s.g_value_list, today_value_list: todaykcal, }); }); for (var i = 0; i < CmSite.length; i++) { for (var j = 0; j < siteDatas.length; j++) { if (CmSite[i].SiteId() == siteDatas[j].site) { tempsiteDatas.push({ site: siteDatas[j].site, name: siteDatas[j].name, elec: siteDatas[j].elec, gas: siteDatas[j].gas, elec_target: siteDatas[j].elec_target, gas_target: siteDatas[j].gas_target, total_target: siteDatas[j].total_target, today_value_list: siteDatas[j].today_value_list, }); break; } } } works(tempsiteDatas); if (CurrSiteData == undefined) CurrSiteData = tempsiteDatas[0]; SelectSite(CurrSiteData); }); } function setUpTitle(title) { $('#borad-title').html(title); $('#site-name').html(sitename); } function SelectSite(data) { setUpTitle(data.name); visiblePopup(true); var promises = []; var endDate = moment(); endDate.endOf('day') //return moment(date).subtract(number, unit).toDate(); var startDate = moment().subtract(30, 'days'); startDate.startOf('day'); //var lastWeekMoment = moment().subtract(7, 'days'); var param = { SiteId: data.site, TimeIntervalType: TIT.DAY, FacilityTypeId: FT.ELECTRICITY, FacilityCode: FC.ELECTRICITY, FormulaId: F[FT.ELECTRICITY].TOTAL_ELECTRICITY_AMOUNT, StartDate: $G.dateTime(startDate), EndDate: $G.dateTime(endDate), }; promises.push(BWA.api.get('BemsFormula/Calculation', param)); var param = { SiteId: data.site, TimeIntervalType: TIT.DAY, FacilityTypeId: FT.GAS, FacilityCode: FC.GAS, FormulaId: F[FT.GAS].TOTAL_GAS_AMOUNT, StartDate: $G.dateTime(startDate), EndDate: $G.dateTime(endDate), }; promises.push(BWA.api.get('BemsFormula/Calculation', param)); $.when.apply(this, promises) //$.when(BWA.api.post('BemsFormula/Calculation', param)) // 오늘,이달,금년 모두 한번에 온다 .done(function (e, g) { var dataArray = []; _.each(e[0], function (x) { dataArray.push({ DateTime: BWA.Chart.getCustermTimeArgumentAxisString(TIT.DAY, moment(x.DateTime).toDate()), eValue: x.Value }); }); _.each(g[0], function (x) { dataArray.push({ DateTime: BWA.Chart.getCustermTimeArgumentAxisString(TIT.DAY, moment(x.DateTime).toDate()), gValue: x.Value }); }); var options = BWA.ChartOptions.CenterMainDashboard.getMainChartOptions(); options.dataSource = dataArray; mainChart().option(options); loadDailyEnergyUsage(data, endDate.toDate().getFullYear().toString(), (endDate.toDate().getMonth() + 1).toString()); loadCircularGaugeDatas(data); loadTotalCo2Month(data); }) //loadDailyEnergyUsage(data, $G.dateTime(endDate).getFullYear().toString(), ($G.dateTime(endDate).getMonth() + 1).toString()); }; var viewModel = $.extend(BWA.CommonView.create( params, viewInfo, null, null, handleViewShown), { workDataGridOptions: utils.datagrid.defaultOptions({ onCellClick: function (object) { if (object.columnIndex == 5 && object.rowType == 'data') { var newWindow = window.open("about:blank"); switch (object.values[5]) { case 1: //대구은행 제2본점 newWindow.location.href = 'http://10.10.30.3:8081'; break; case 2://서울시립 보라매병원 newWindow.location.href = 'http://10.10.20.2:8081'; break; case 6://아이파크몰 newWindow.location.href = 'http://10.10.60.3:8081'; break; case 11://대구은행 제1본점 newWindow.location.href = 'http://10.10.80.4:8081'; break; case 10://정선 파크로쉬 newWindow.location.href = 'http://10.10.50.2:8081'; break; } } }, handleDataGridRowClick: function (id, dataGrid, clickRow) { // function () { dataGrid.clearSelection(); CurrSiteData = clickRow.data; //console.log(data); SelectSite(CurrSiteData); }, selection: { mode: 'single' }, rowAlternationEnabled: true, //useNumberColumn: true, dataSource: works, datagridId: 'gridContainerCD', paging: { enabled: false, pageSize: 6 }, pager: { //allowedPageSizes: true, showPageSizeSelector: false, allowedPageSizes: [6], visible: false }, columns: [ { dataField: 'name', caption: '현장명', width: '25%', alignment: 'center' }, //{ caption: '에너지 사용량', width: '30%', alignment: 'center' }, { width: '25%', caption: "금일 에너지 사용량", alignment: 'left', //caption: "금일 전기 현황", //width: 155, cellTemplate: function (container, options) { container.addClass("chart-cell"); $("
").dxSparkline({ dataSource: options.data.today_value_list, argumentField: "DateTime", valueField: "Value", type: "line", showMinMax: true, lineColor: "#565077", maxColor: "#f00", minColor: "#2ab71b", pointSize: 2, size: { width: 'auto', height: 30 }, tooltip: { enabled: true } }).appendTo(container); } }, /* { width: '20%', //caption: "에너지 사용량", caption: "금일 가스 현황", //width: 155, cellTemplate: function (container, options) { container.addClass("chart-cell"); $("
").dxSparkline({ dataSource: options.data.today_g_list, argumentField: "DateTime", valueField: "Value", type: "line", showMinMax: true, lineColor: "#565077", maxColor: "#f00", minColor: "#2ab71b", pointSize: 2, size: { width: 140, height: 30 }, tooltip: { enabled: true } }).appendTo(container); } },*/ { dataField: 'elec', caption: '금년 전기 (kWh)', width: '17%', alignment: 'right' }, { dataField: 'gas', caption: '금년 가스 (㎥)', width: '17%', alignment: 'right' }, { dataField: 'total_target', caption: '목표대비 (%)', width: '17%', alignment: 'center' }, { dataField: 'site', caption: '이동', width: '10%', alignment: 'center', customizeText: function (cellInfo) { return "이동"; } /* cellTemplate: function (container, options) { $("
").dxButton({ //text: options.data.name, site: options.data.site, text: '이동', onClick: function (e) { var newWindow = window.open("about:blank"); //원래 코드 2017 02 09에 막음, 각각의 사이트를 별도로 구성하기 때문에 쿠키및 자동로그인 기능 사용불가 //newWindow.location.href = '/index.html#Login'; //$.cookie('id', 'admin'); //$.cookie('password', 'kanu123'); //$.cookie('siteId', options.data.site); //$.cookie('fromCenter', true); } }).appendTo(container); }*/ }, ], onCellPrepared: function (options) { if (options.columnIndex == 4 && options.rowType == 'data') { var fieldData = options.value, fieldHtml = ""; if (fieldData != 0) { options.cellElement.addClass((fieldData < 0) ? "inc" : "dec"); } fieldHtml += "" + "
" + Math.abs(fieldData) + "
"; options.cellElement.html(fieldHtml); /* options.cellElement.addClass((fieldData < 0 ) ? "inc" : "dec"); //if (fieldData && fieldData > 0) { //options.cellElement.addClass((fieldData.diff > 0) ? "inc" : "dec"); fieldHtml += "" + //Globalize.formatCurrency(fieldData.value, "USD") + " " + Math.abs(fieldData) + //fieldData + //Math.abs(fieldData.diff).toFixed(2) + " "; //} else { //fieldHtml = fieldData.value; //} options.cellElement.html(fieldHtml);*/ } }, }), refreshList: refreshList, viewShowing: handleViewShowing, viewHidden: handleViewHidden, viewDisposing: handleViewDisposing, }); $HourGlassPopup(viewModel, visiblePopup); return viewModel; };