123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- BemsWebApplication.PatrolPlan = function (params, viewInfo) {
- "use strict";
- var eq = BWA.DataUtil.constructEqualFilter;
- var and = BWA.DataUtil.andFilter;
- var SiteId = BWA.UserInfo.SiteId();
- var patrolgroupDataSource = BemsWebApplication.db.createDataSource('CmPatrolGroup', true),
- patrolcourseDataSource = BemsWebApplication.db.createDataSource('CmPatrolCourse', true);
- patrolgroupDataSource.filter([
- eq('SiteId', SiteId)
- ]);
- patrolcourseDataSource.filter([
- eq('SiteId', SiteId)
- ]);
- var CmPatrolPlanDataSource = BemsWebApplication.db.createDataSource('CmPatrolPlan');
- var PatrolPlanInfo = ko.observableArray();
- var RowName;
- var patrolgroups = ko.observableArray(),
- patrolcourses = ko.observableArray();
- var patrolgroupsForSearch = ko.observableArray(),
- patrolcoursesForSearch = ko.observableArray(),
- patrolgroupIdForSerach = ko.observable(),
- patrolcourseIdForSerach = ko.observable(),
- defaultSearchPatrolGroupArray = $SearchView.createDefaultArray('PatrolGroupId'),
- defaultSearchPatrolCourseArray = $SearchView.createDefaultArray('PatrolCourseId');
- 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, 'CmPatrolPlan', {
- rowAlternationEnabled: true,
- /*
- editing: {
- editMode: 'batch',
- editEnabled: true,
- //removeEnabled: true,
- //insertEnabled: true
- },*/
- dataSourceOptions: {
- select: ['SiteId', 'PatrolPlanId', 'GroupId', 'CourseId', 'Name', 'PlanDesc', 'term', 'inDate', 'CmPatrolGroup/Name', 'CmPatrolCourse/Name'],
- expand: ['CmPatrolGroup', 'CmPatrolCourse'],
- extendOptions: {
- forceOriginalField: true,
- },
- filter: [
- ['SiteId', '=', SiteId]
- ]
- },
- columns: [
- { dataField: 'PatrolPlanId', caption: $G('number'), width: '10%', alignment: 'center', sortOrder: 'desc' },
- { dataField: 'Name', caption: '순찰계획명', width: '30%', alignment: 'center' },
- { dataField: 'CmPatrolGroup/Name', caption: '순찰조', width: '20%', alignment: 'center' },
- { dataField: 'CmPatrolCourse/Name', caption: '순찰코스', width: '20%', alignment: 'center' },
- // { dataField: 'term', caption: '순찰주기(시간)', width: '10%', alignment: 'center' },
- { dataField: 'PlanDesc', 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: 'GroupId', ignoreValue: 0, defaultValue: 0, value: patrolgroupIdForSerach, dataSource: patrolgroupsForSearch },
- { id: 'CourseId', ignoreValue: 0, defaultValue: 0, value: patrolcourseIdForSerach, dataSource: patrolcoursesForSearch },
- { id: 'Name' }
- ],
- handleViewShowing: function () {
- 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.PatrolGroupName = $KoSet(dataModel.PatrolGroupName, data['CmPatrolGroup/Name']);
- dataModel.PatrolCourseName = $KoSet(dataModel.PatrolCourseName, data['CmPatrolCourse/Name']);
- //dataModel.CourseId = $KoSet(dataModel.CourseId, data.CourseId);
- //dataModel.GroupId = $KoSet(dataModel.GroupId, data.GroupId);
- RowName = data.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.inDate(new Date());
- }*/
- CmPatrolPlanDataSource.filter([
- ["SiteId", "=", BWA.UserInfo.SiteId()]
- ]);
- CmPatrolPlanDataSource.load().done(function (result) {
- PatrolPlanInfo(result);
- });
- },
- handleBeforeDelete: function (db) {
- //var parameters = {
- // SiteId: db.SiteId,
- // ScheduleId: db.ScheduleId
- //};
- //BWA.api.post('CmPatrolSchedule/Delete', null, parameters).done(function () {
- //});
- },
- beforeInsertingDataViewModel: function (dataModel, dbModelId) {
- dataModel.inDate(new Date());
- var dfd = $.Deferred();
- var isDuplicated = false;
- for (var i = 0; i < PatrolPlanInfo().length; i++) {
- if (dataModel.Name() == PatrolPlanInfo()[i].Name()) {
- isDuplicated = true;
- }
- }
- if (!BWA.DataUtil.isValidInputValue(dataModel.Name()) || dataModel.term() == null)
- return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
- else {
- if (isDuplicated)
- return dfd.resolve(false, '이미 동일 정보가 존재합니다.');
- else
- return dfd.resolve(true);
- }
- },
- beforeUpdateDataViewModel: function () {
- // 수정시에 시간변경
- viewModel.dataModel.inDate(new Date());
- var isDuplicated = false;
- for (var i = 0; i < PatrolPlanInfo().length; i++) {
- if (viewModel.dataModel.Name() == PatrolPlanInfo()[i].Name() && (RowName() != PatrolPlanInfo()[i].Name())) {
- isDuplicated = true;
- }
- }
- if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name()) || _.isEmpty(viewModel.dataModel.Name()) || viewModel.dataModel.term() == null) {
- utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
- return 0;
- }
- else {
- if (isDuplicated) {
- utils.toast.show('이미 동일 이름이 존재합니다.', 'error');
- return 0;
- }
- else
- 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.PatrolGroupName = ko.observable();
- viewModel.dataModel.PatrolCourseName = ko.observable();
- //viewModel.dataModel.GroupId = ko.observable();
- //viewModel.dataModel.CourseId= ko.observable();
- viewModel.patrolgroups = patrolgroups;
- viewModel.patrolcourses = patrolcourses;
- /*
- viewModel.popupInsertButtonOptions.action = function () {
- alert('insett');
- }*/
- return viewModel;
- };
|