123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- BemsWebApplication.PatrolSchedule = function( params, viewInfo) {
- "use strict";
- var patrolgroupDataSource = BemsWebApplication.db.createDataSource( 'CmPatrolGroup', true ),
- patrolcourseDataSource = BemsWebApplication.db.createDataSource('CmPatrolCourse', true),
- patrolplanDataSource = BemsWebApplication.db.createDataSource('CmPatrolPlan', true);
- var patrolgroups = ko.observableArray(),
- patrolcourses = ko.observableArray(),
- patrolplans = ko.observableArray();
- var patrolgroupsForSearch = ko.observableArray(),
- patrolcoursesForSearch = ko.observableArray(),
- patrolplansForSearch = ko.observableArray(),
- patrolgroupIdForSerach = ko.observable(),
- patrolcourseIdForSerach = ko.observable(),
- patrolplanIdForSerach = ko.observable(),
- defaultSearchPatrolGroupArray = $SearchView.createDefaultArray('PatrolGroupId'),
- defaultSearchPatrolCourseArray = $SearchView.createDefaultArray('PatrolCourseId'),
- defaultSearchPatrolPlanArray = $SearchView.createDefaultArray('PatrolPlanId');
- var deferredForSearch = new $.Deferred();
- /*
- function handleBuildingInSearchView(e) {
- if( e.value === 0 ) {
- floorsForSearch( getDefaultFloorForSearch() );
- }
- else {
- BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floorsForSearch, getDefaultFloorForSearch() );
- }
- floorIdForSerach( 0 );
- }*/
- var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'CmPatrolSchedule', {
- rowAlternationEnabled: true,
- /*
- editing: {
- editMode: 'batch',
- editEnabled: true,
- //removeEnabled: true,
- //insertEnabled: true
- },*/
- dataSourceOptions: {
- select: ['SiteId', 'PlanId', 'ScheduleId', 'Name', 'ScheduleDesc', 'inDate', 'patrolDateTime', 'CmPatrolPlan/Name', 'CmPatrolPlan/CmPatrolGroup/Name', 'CmPatrolPlan/CmPatrolCourse/Name'],
- //select: ['SiteId', 'PlanId', 'ScheduleId', 'Name', 'ScheduleDesc', 'inDate', 'patrolDateTime', 'CmPatrolPlan/Name', 'CmPatrolPlan/CmPatrolGroup/Name', 'CmPatrolPlan/CmPatrolCourse/Name'],
- expand: ['CmPatrolPlan', 'CmPatrolPlan/CmPatrolGroup', 'CmPatrolPlan/CmPatrolCourse'],
- extendOptions: {
- forceOriginalField: true,
- }
- },
- columns: [
- { dataField: 'ScheduleId', caption: $G('number'), width: '10%', alignment: 'center', sortOrder: 'desc' },
- { dataField: 'Name', caption: '순찰일정명', width: '30%', alignment: 'center' },
- {
- dataField: 'patrolDateTime', caption: '순찰예정시각', width: '25%', alignment: 'center',
- customizeText: function (cellInfo) {
- return $G.dateTime(cellInfo.value);
- }
- },
- { dataField: 'CmPatrolPlan/Name', caption: '순찰계획명', width: '20%', alignment: 'center' },
- //{ dataField: 'CmPatrolPlan/CmPatrolGroup/Name', caption: '순찰조', width: '20%', alignment: 'center' },
- //{ dataField: 'CmPatrolPlan/CmPatrolCourse/Name', caption: '순찰코스', width: '20%', alignment: 'center' },
- { dataField: 'ScheduleDesc', caption: '비고', width: '30%', alignment: 'center' },
- /* {
- dataField: 'inDate', caption: '최종변경일', width: '10%', alignment: 'center',
- customizeText: function (cellInfo) {
- return $G.date(cellInfo.value);
- }
- },*/
- ],
- popupWidth: 580,
- promiseDataInSearchView: deferredForSearch.promise(),
- searchViewItems: [
- //{ id: 'PatrolGroupId', ignoreValue: 0, defaultValue: 0, value: patrolgroupIdForSerach, dataSource: patrolgroupsForSearch, handleChangedValue: handleBuildingInSearchView },
- { id: 'PlanId', ignoreValue: 0, defaultValue: 0, value: patrolplanIdForSerach, dataSource: patrolplansForSearch },
- //{ id: 'CourseId', ignoreValue: 0, defaultValue: 0, value: patrolcourseIdForSerach, dataSource: patrolcoursesForSearch },
- { id: 'Name' }
- ],
- handleViewShowing: function () {
- patrolplanDataSource.load().done(function (pgResults) {
- patrolplans(pgResults);
- patrolplansForSearch(defaultSearchPatrolPlanArray.slice(0).concat(pgResults));
- patrolplanIdForSerach(0);
- patrolgroupDataSource.load().done( function( pgResults ) {
- patrolgroups ( pgResults );
- patrolgroupsForSearch(defaultSearchPatrolGroupArray.slice(0).concat(pgResults));
- patrolgroupIdForSerach(0);
- patrolcourseDataSource.load().done(function (pgResults) {
- patrolcourses(pgResults);
- patrolcoursesForSearch(defaultSearchPatrolCourseArray.slice(0).concat(pgResults));
- patrolcourseIdForSerach(0);
- deferredForSearch.resolve();
- });
- });
- });
- },
- handleDataGridRowClick: function (id,dataGrid,clickRow,popupVisible) {
- dataGrid.clearSelection();
- viewModel.isNewInPopup(false); //
- var data = clickRow.data;
- var dataModel = viewModel.dataModel;
- dataModel.PatrolPlanName = $KoSet(dataModel.PatrolPlanName, data['CmPatrolPlan/Name']);
- //dataModel.PatrolGroupName = $KoSet(dataModel.PatrolGroupName, data['CmPatrolGroup/Name']);
- //dataModel.PatrolCourseName = $KoSet(dataModel.PatrolCourseName, data['CmPatrolCourse/Name']);
- popupVisible(true);
- },
- handleAfterLoadingModelByKey: function( data, dataViewModel, isNewInPopup ) {
- //if( isNewInPopup() == false ) {
- // BWA.DataUtil.setArrayDataSourceFilter(patrolgroupDataSource, 'GroupId', dataViewModel.GroupId(), patrolgroups);
- //BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', dataViewModel.BuildingId(), floors);
- //}
- },
- viewHidden: function()
- {
- $SearchView.visibleObservable(false);
- visiblePopup(false);
- },
- handlePopupShowing: function (isNewInPopup, dataViewModel, selectedData) {
- if (isNewInPopup()) {
- dataViewModel.patrolDateTime(new Date());
- }
- },
- handleBeforeDelete: function (db)
- {
- /* var dataViewModel = new BemsWebApplication['CmZoneTempHumiSetViewModel']();
- dataViewModel.SiteId = db.SiteId;
- dataViewModel.BuildingId = db.BuildingId;
- dataViewModel.FloorId = db.FloorId;
- dataViewModel.ZoneId = db.ZoneId;
- var promise = BemsWebApplication.api.post('BemsMonitoringPoint/RemoveZoneTempHumiSet', dataViewModel);
- promise.done(function () {
- ;
- });*/
- },
- beforeInsertingDataViewModel: function (dataModel, dbModelId) {
- dataModel.inDate(new Date());
- var dfd = $.Deferred();
- //alert(dataModel.Name());
- if (_.isEmpty(dataModel.Name()) || dataModel.patrolDateTime() == null || dataModel.PlanId() == null)
- dfd.resolve(false, '(*) 표시 항목은 필수 입력 사항 입니다!');
- return dfd.resolve(true);
- },
- beforeUpdateDataViewModel: function () {
- //handlePopupButtonSave: function () {
- if (_.isEmpty(viewModel.dataModel.Name())) {
- utils.toast.show('순찰일정명이 공백입니다.', 'error');
- return 0;
- }
- if (viewModel.dataModel.patrolDateTime() == null) {
- utils.toast.show('순찰시간이 공백입니다.', 'error');
- return 0;
- }
- if (viewModel.dataModel.PlanId() == null) {
- utils.toast.show('순찰계획이 공백입니다.', 'error');
- return 0;
- }
- // 수정시에 시간변경
- viewModel.dataModel.inDate(new Date());
- return 2;
- },
- handleAfterInsert: function (db) {
- /*
- var dataViewModel = new BemsWebApplication['CmZoneTempHumiSetViewModel']();
- dataViewModel.SiteId = db.SiteId;
- dataViewModel.BuildingId = db.BuildingId;
- dataViewModel.FloorId = db.FloorId;
- dataViewModel.ZoneId = db.ZoneId;
- var promise = BemsWebApplication.api.post('BemsMonitoringPoint/AddZoneTempHumiSet', dataViewModel);
- promise.done(function () {
- ;
- });*/
- },
- } );
- /*
- function getDefaultFloorForSearch() {
- return $SearchView.createDefaultArray( 'FloorId' );
- }
- floorDataSource.filter('BuildingId', -1); */
- // 콤보, text 등록먼저후 생기는 팝업에서 안보이는 문제해결
- viewModel.dataModel.PatrolPlanName = ko.observable();
- //viewModel.dataModel.PatrolGroupName = ko.observable();
- //viewModel.dataModel.PatrolCourseName = ko.observable();
- viewModel.patrolgroups = patrolgroups;
- viewModel.patrolcourses = patrolcourses;
- viewModel.patrolplans = patrolplans;
- /*
- viewModel.popupInsertButtonOptions.action = function () {
- alert('insett');
- }*/
- return viewModel;
- };
|