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();
-
- var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmPatrolPlan', {
- rowAlternationEnabled: 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: '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: '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']);
-
-
- RowName = data.Name;
- popupVisible(true);
- },
- handleAfterLoadingModelByKey: function (data, dataViewModel, isNewInPopup) {
-
-
-
-
- },
- viewHidden: function () {
- $SearchView.visibleObservable(false);
- visiblePopup(false);
- },
- handlePopupShowing: function (isNewInPopup, dataViewModel, selectedData) {
-
- CmPatrolPlanDataSource.filter([
- ["SiteId", "=", BWA.UserInfo.SiteId()]
- ]);
- CmPatrolPlanDataSource.load().done(function (result) {
- PatrolPlanInfo(result);
- });
- },
- handleBeforeDelete: function (db) {
-
-
-
-
-
-
- },
- 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) {
-
- },
- });
-
-
- viewModel.dataModel.PatrolGroupName = ko.observable();
- viewModel.dataModel.PatrolCourseName = ko.observable();
-
-
- viewModel.patrolgroups = patrolgroups;
- viewModel.patrolcourses = patrolcourses;
-
- return viewModel;
- };
|