| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557 | 
							- BemsWebApplication.PatrolCourse = function (params, viewInfo) {
 
-     "use strict";
 
-     // Permission Index
 
-     var PI_SEARCH = 0,
 
-         PI_MODIFICATION = 1,
 
-         PI_BUSINESS_FIELD = 2;
 
-     var CmPatrolCourseDataSource = BemsWebApplication.db.createDataSource('CmPatrolCourse');
 
-     var PatrolCourseInfo = ko.observableArray();
 
-     var RowName;
 
-     /*
 
-         var commandButtonOptions = [ {
 
-             icon: 'edit',
 
-             id: 'create1',
 
-             title: '순찰코스 순서저장',
 
-             disabled: disableOrderUpdate,
 
-             action: handleOrderUpdate
 
-         }];*/
 
-     /*
 
-     var selectedPatrolPosData = ko.observable();
 
-     selectedPatrolPosData.subscribe(function (value) {
 
-         if (isMainContactor) {
 
-             viewModel.dataModel.MainContactorlPosId(value.UserId);
 
-             viewModel.dataModel.MainContactorUserName(value.Name);
 
-         }
 
-         else {
 
-             viewModel.dataModel.SubContactorUserId(value.UserId);
 
-             viewModel.dataModel.SubContactorUserName(value.Name);
 
-         }
 
-     });*/
 
-     var PatrolCourseDataSource = BWA.db.createDataSource('CmPatrolCourse'),
 
- //        PatrolCoursePosDataSource = BWA.db.createDataSource('CmPatrolCoursePos'),
 
-         PatrolCoursePosDataSource = BWA.DataUtil.createDataSource({
 
-             dataSourceOptions: {
 
-                 select: ['SiteId', 'PatrolCourseId', 'PosId', 'CourseOrder', 'CmPatrolCourse/Name', 'CmPatrolPos/Name', 'CmPatrolPos/CmBuilding/Name', 'CmPatrolPos/CmFloor/Name'],
 
-                 //select: ['SiteId', 'PatrolCourseId', 'PosId', 'CourseOrder', 'CmPatroPos/Name', 'CmPatroPos/CmBuilding/Name', 'CmPatroPos/CmFloor/Name'],
 
-                 expand: ['CmPatrolCourse', 'CmPatrolPos', 'CmPatrolPos/CmBuilding', 'CmPatrolPos/CmFloor'],
 
-                 extendOptions: {
 
-                     forceOriginalField: true
 
-                 },
 
-                 filter: [
 
-                     ['SiteId', '=', BWA.UserInfo.SiteId()] // 4
 
-                     //eq('SiteId', 0), // 초기화를 위해서 0
 
-                 //    eq('SiteId', BWA.UserInfo.SiteId()),
 
-                 //    and,
 
-                 //    ['FmsWorkRequest/WorkProgressId', '=', $Code.WorkProgress.WORKING] // 4
 
-                 //    //, and, ['FmsWorkRequest/WorkProgressId', '<=', 5]
 
-                 ]
 
-             }
 
-         }, 'CmPatrolCoursePos'),
 
-         possInView = ko.observableArray(),
 
-         //PatrolCoursePermissionDataArray = ko.observableArray(),
 
-         deleteDisabled = ko.observable(true),
 
-         popupVisible = ko.observable(false),
 
-         upDisabled = ko.observable(true),
 
-         downDisabled = ko.observable(true),
 
-         reSelectRow = ko.observable(false),
 
-         disableOrderUpdate = ko.observable(true),
 
-         selectedPatrolCourse = ko.observable(null),
 
-         selectedCoursePos = ko.observable(null),
 
-         rowIndex,
 
-         viewModel,
 
-         //gridView,
 
-         sidemenuHashSet;
 
-     //var datagrid = $('#EnergySavingControlDataGridViewInSearchView').dxDataGrid('instance');
 
-     //var gridView = $('#gridContainer2').dxDataGrid('instance');
 
-     //var headerCheckBoxValues = [ko.observable(false), ko.observable(false), ko.observable(false)];
 
-     //gridView = $('#gridContainer2').dxDataGrid('instance');
 
-     //    var dataGrid = $('#gridContainer').dxDataGrid('instance');
 
-     // menuDataGridOptions -> PatrolCoursePos
 
-     var menuDataGridOptions = utils.datagrid.defaultOptions({
 
-         //dataSource: PatrolCoursePosDataSource,
 
-         dataSource: possInView,
 
-         width: '100%',
 
-         //height: 706,
 
-         height: 685,
 
-         datagridId: 'gridContainer2',
 
-         dbId: 'CmPatrolCoursePos',
 
-         //useNumberColumn: true,
 
-         columns: [
 
-             { dataField: 'CourseOrder', caption: '순서', width: '15%', alignment: 'center', sortOrder: 'asc' },
 
- //            { dataField: 'PosId', caption: '순찰지점', width: '35%', },
 
- //            { dataField: 'CmPatrolCourse/Name', caption: '순찰코스명', width: '35%', },
 
-             { dataField: 'CmPatrolPos/Name', caption: '순찰지점명', width: '35%', },
 
-             { dataField: 'CmPatrolPos/CmBuilding/Name', caption: '빌딩', width: '25%',},
 
-             { dataField: 'CmPatrolPos/CmFloor/Name', caption: '층', width: '25%'},
 
- //            { dataField: 'CourseOrder', caption: '순서', width: '25%'  },
 
-         ],
 
-         paging: {
 
-             enabled: true,
 
-             pageSize: 19
 
-         },
 
-         pager: {
 
-         },
 
-         selection: {
 
-             mode: 'multiple',
 
-             allowSelectAll: true,
 
-         },
 
-         /*
 
-         handleShowPopup:function(clickdata){
 
-         },*/
 
-         rowPrepared: function (rowElement, rowInfo) {
 
-             if (rowInfo.rowType == 'data' && reSelectRow()) {
 
-                 var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-                 if (dataGrid.totalCount() - 1 == rowInfo.dataIndex) {
 
-                     dataGrid.selectRowsByIndexes(rowIndex);
 
-                     upDisabled(rowIndex == 0 ? true : false);
 
-                     downDisabled(rowIndex == dataGrid.totalCount() - 1 ? true : false);
 
-                     reSelectRow(false);
 
-                 }
 
-             }
 
-         },
 
-         //byKey(key)
 
-         //getKeyByRowIndex(rowIndex)
 
-         selectionChanged: function (clickRow) {
 
-             var array = utils.datagrid.getSelectedRowsData('gridContainer2');
 
-             deleteDisabled(!(array.length > 0));
 
-             if (array.length == 1) {
 
-                 selectedCoursePos(array[0]);
 
-                 var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-                 //var index = dataGrid.getRowIndexByKey(dataGrid.getSelectedRowKeys());
 
-                 rowIndex = dataGrid.getRowIndexByKey(clickRow.currentSelectedRowKeys[0]);
 
-                 //dataGrid.selectRowsByIndexes(rowIndexes);
 
-                 upDisabled(rowIndex == 0 ? true : false);
 
-                 downDisabled(rowIndex == dataGrid.totalCount() - 1 ? true : false);
 
-             }
 
-             else {
 
-                 if (reSelectRow() == false) {
 
-                     upDisabled(true);
 
-                     downDisabled(true);
 
-                 }
 
-             }
 
-             //$('#gridContainer2').dxDataGrid('instance').selectRowsByIndexes(0);
 
-             /*
 
-                         if (reSelectRow()) {
 
-                             $('#gridContainer2').dxDataGrid('instance').selectRowsByIndexes(rowIndex);
 
-                             reSelectRow(false);
 
-                         }*/
 
-         },
 
-         /*
 
-         contentReadyAction: function(e) {
 
-             //gridView = e.component;
 
-             //datagrid.filter(null);
 
-         },*/
 
-     });
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmPatrolCourse', {
 
-         dataSourceOptions: {
 
-             select: ['SiteId', 'PatrolCourseId', 'Name',],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             },
 
-             filter: [
 
-                 ['SiteId', '=', BWA.UserInfo.SiteId()] 
 
-             ]
 
-         },
 
-         height: 685,
 
-         popupWidth: 480,
 
-         columns: [
 
-             { dataField: 'Number', caption: $G('number'), width: '20%', allowSorting: false },
 
-             { dataField: 'Name', caption: '순찰코스명', width: '80%' }
 
-         ],
 
-         paging: {
 
-             enabled: true,
 
-             pageSize: 19
 
-         },
 
-         pager: {
 
-         },
 
-         NoSearchView: true,     // 2019.07.25 kgpark 검색버튼 삭제
 
-         handleViewShown: function () {
 
-             sidemenuHashSet = $SideMenu.getSidemenuHashSet();
 
-             //$SearchView.setPopupVisibleObservable(null);
 
-             $SearchView.visibleObservable(false);
 
-         },
 
-         handlePopupShowing2: function (selectedId) {
 
-             var data = selectedPatrolCourse();
 
-             selectedId.SiteId = data.SiteId();
 
-             selectedId.PatrolCourseId = data.PatrolCourseId();
 
-             selectedId.Name = data.Name();
 
-         },
 
-         /*
 
-         handleAfterLoadingModelByKey: function(data, dataViewModel, isNewInPopup) {
 
-         },*/
 
-         
 
-         handlePopupShowing: function (that) {
 
-             CmPatrolCourseDataSource.filter([
 
-                 ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-             ]);
 
-             CmPatrolCourseDataSource.load().done(function (result) {
 
-                 PatrolCourseInfo(result);
 
-             });
 
-         },
 
-         handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
 
-             var data = clickRow.data;
 
-             selectedPatrolCourse(data);
 
-             LoadCoursePos();
 
-             RowName = data.Name;
 
-             //$('#gridContainer2').dxDataGrid('instance').selectRowsByIndexes(1);
 
-         },
 
-         beforeInsertingDataViewModel: function (dataModel, dbModelId) {
 
-             var dfd = $.Deferred();
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < PatrolCourseInfo().length; i++) {
 
-                 if (dataModel.Name() == PatrolCourseInfo()[i].Name()) {
 
-                     isDuplicated = true;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(dataModel.Name()))
 
-                 return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
 
-             else {
 
-                 if (isDuplicated)
 
-                     return dfd.resolve(false, '이미 동일 정보가 존재합니다.');
 
-                 else
 
-                     return dfd.resolve(true);
 
-             }
 
-         },
 
-         beforeUpdateDataViewModel: function () {
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < PatrolCourseInfo().length; i++) {
 
-                 if (viewModel.dataModel.Name() == PatrolCourseInfo()[i].Name() && (RowName() != PatrolCourseInfo()[i].Name())) {
 
-                     isDuplicated = true;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {
 
-                 utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보(*)를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
 
-                 return 0;
 
-             }
 
-             else {
 
-                 if (isDuplicated) {
 
-                     utils.toast.show('이미 동일 이름이 존재합니다.', 'error');
 
-                     return 0;
 
-                 }
 
-                 else
 
-                     return 2;
 
-             }
 
-         },
 
-     });
 
-     function handleOrderUp() {
 
-         disableOrderUpdate(false);
 
-         var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-         //rowIndex--;
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         //return;
 
-         var data = selectedCoursePos();
 
-         var oldOrder = data.CourseOrder();
 
-         rowIndex--;
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         //var data2 = dataGrid.byKey(dataGrid.getKeyByRowIndex(rowIndex))
 
-         dataGrid.byKey(dataGrid.getKeyByRowIndex(rowIndex)).done(function (dataObject) {
 
-             data.CourseOrder(dataObject.CourseOrder());
 
-             //data.CourseOrder(100);
 
-             dataObject.CourseOrder(oldOrder);
 
-             reSelectRow(true);
 
-             $('#gridContainer2').dxDataGrid('instance').refresh();
 
-         });
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         //var data2 = dataGrid.getSelectedRowsData();
 
-         //        data.CourseOrder(data2[0].CourseOrder());
 
-         //data.CourseOrder(100);
 
-         //        data2[0].CourseOrder(oldOrder);
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         //dataGrid.selectRowsByIndexes(-1);
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         /*
 
-                 var chage = new Array();
 
-                 var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-                 var data = selectedCoursePos();
 
-                 chage.push({
 
-                     SiteId: data.SiteId(),
 
-                     PatrolCourseId: data.PatrolCourseId(),
 
-                     PosId: data.PosId(),
 
-                     CourseOrder: data.CourseOrder()
 
-                 });
 
-         
 
-                 rowIndex--;
 
-                 dataGrid.selectRowsByIndexes(rowIndex);
 
-                 data = dataGrid.getSelectedRowsData();
 
-         
 
-                 chage.push({
 
-                     SiteId: data[0].SiteId(),
 
-                     PatrolCourseId: data[0].PatrolCourseId(),
 
-                     PosId: data[0].PosId(),
 
-                     CourseOrder: data[0].CourseOrder()
 
-                 });
 
-         
 
-                 reSelectRow(true);
 
-                 BWA.api.post('CmPatrolCourse/ChangeCourseOrder', chage).done(function () {
 
-                     // 재로드하는 걸로
 
-                     utils.toast.show($G('successDatabaseProcessMsg'));
 
-                     LoadCoursePos();
 
-                 });
 
-         */
 
-     }
 
-     function handleOrderDown() {
 
-         disableOrderUpdate(false);
 
-         var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-         var data = selectedCoursePos();
 
-         var oldOrder = data.CourseOrder();
 
-         rowIndex++;
 
-         dataGrid.byKey(dataGrid.getKeyByRowIndex(rowIndex)).done(function (dataObject) {
 
-             data.CourseOrder(dataObject.CourseOrder());
 
-             dataObject.CourseOrder(oldOrder);
 
-             reSelectRow(true);
 
-             $('#gridContainer2').dxDataGrid('instance').refresh();
 
-         });
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         //var data2 = dataGrid.getSelectedRowsData();
 
-         //        data.CourseOrder(data2[0].CourseOrder());
 
-         //data.CourseOrder(100);
 
-         //        data2[0].CourseOrder(oldOrder);
 
-         //dataGrid.selectRowsByIndexes(rowIndex);
 
-         //dataGrid.selectRowsByIndexes(-1);
 
-         return;
 
-         var chage = new Array();
 
-         var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-         var data = selectedCoursePos();
 
-         chage.push({
 
-             SiteId: data.SiteId(),
 
-             PatrolCourseId: data.PatrolCourseId(),
 
-             PosId: data.PosId(),
 
-             CourseOrder: data.CourseOrder()
 
-         });
 
-         rowIndex++
 
-         dataGrid.selectRowsByIndexes(rowIndex);
 
-         data = dataGrid.getSelectedRowsData();
 
-         chage.push({
 
-             SiteId: data[0].SiteId(),
 
-             PatrolCourseId: data[0].PatrolCourseId(),
 
-             PosId: data[0].PosId(),
 
-             CourseOrder: data[0].CourseOrder()
 
-         });
 
-         reSelectRow(true);
 
-         BWA.api.post('CmPatrolCourse/ChangeCourseOrder', chage).done(function () {
 
-             // 재로드하는 걸로
 
-             utils.toast.show($G('successDatabaseProcessMsg'));
 
-             LoadCoursePos();
 
-         });
 
-     }
 
-     function handleDelete() {
 
-         DevExpress.ui.dialog.confirm($G('deleteConfirmMsg'), "삭제").then(function (result) {
 
-             if (result) {
 
-                 var array = utils.datagrid.getSelectedRowsData('gridContainer2');
 
-                 var data = selectedPatrolCourse();
 
-                 var PatrolCourseId = data.PatrolCourseId();
 
-                 var postData;
 
-                 postData = _.map(array, function (m) {
 
-                     return {
 
-                         SiteId: m.SiteId(),
 
-                         PatrolCourseId: PatrolCourseId,
 
-                         PosId: m.PosId(),
 
-                     };
 
-                 });
 
-                 BWA.api.post('CmPatrolCourse/DeleteCoursePos', postData).done(function () {
 
-                     utils.toast.show($G('successDatabaseProcessMsg'));
 
-                     PatrolCoursePosDataSource.load().done(function (poss) {
 
-                         possInView(poss);
 
-                         $('#gridContainer2').dxDataGrid('instance').refresh();
 
-                     });
 
-                 });
 
-             }
 
-         });
 
-     }
 
-     // GroupUser 추가
 
-     function handlePosAdd() {
 
-         viewModel.PatrolPosSearchPopup.show();
 
-     }
 
-     function handleEdit() {
 
-         /*
 
-                 var data = selectedPatrolCourse();
 
-                 viewModel.dataModel = data;
 
-         
 
-                 viewModel.dataModel.SiteId = $KoSet(viewModel.dataModel.SiteId, data['SiteId']);
 
-                 viewModel.dataModel.PatrolCourseId = $KoSet(viewModel.dataModel.PatrolCourseId, data['PatrolCourseId']);
 
-                 viewModel.dataModel.Name = $KoSet(viewModel.dataModel.Name, data['Name']); */
 
-         //viewModel.popupVisible(false);
 
-         viewModel.popupVisible(true);
 
-         //viewModel.popupVisible(true);
 
-     }
 
-     //onSelectedMaterials: function(selectedMaterials) {
 
-     function onSelectedposs(selectedposs) {
 
-         if (selectedposs.length <= 0) return;
 
-         var data = selectedPatrolCourse();
 
-         var PatrolCourseId = data.PatrolCourseId();
 
-         $('#gridContainer2').dxDataGrid('instance').refresh();
 
-         // 여기서 바로 저장 하자 !!
 
-         var postData;
 
-         try {
 
-             postData = _.map(selectedposs, function (m) {
 
-                 return {
 
-                     SiteId: m.SiteId(),
 
-                     PatrolCourseId: PatrolCourseId,
 
-                     BuildingId: m.BuildingId(),
 
-                     FloorId: m.FloorId(),
 
-                     PosId: m.PosId(),
 
-                 };
 
-             });
 
-         } catch (e) {
 
-             postData = _.map(selectedposs, function (m) {
 
-                 return {
 
-                     SiteId: m.SiteId,
 
-                     PatrolCourseId: PatrolCourseId,
 
-                     BuildingId: m.BuildingId,
 
-                     FloorId: m.FloorId,
 
-                     PosId: m.PosId,
 
-                 };
 
-             });
 
-         }
 
-         BWA.api.post('CmPatrolCourse/AddCoursePos', postData).done(function () {
 
-             // 재로드하는 걸로
 
-             LoadCoursePos();
 
-             utils.toast.show($G('successDatabaseProcessMsg'));
 
-         });
 
-     }
 
-     function handleOrderUpdate() {
 
-         var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-         var chage = new Array();
 
-         var total = dataGrid.totalCount();
 
-         for (var i = 0; i < total; i++) {
 
-             dataGrid.byKey(dataGrid.getKeyByRowIndex(i)).done(function (data) {
 
-                 chage.push({
 
-                     SiteId: data.SiteId(),
 
-                     PatrolCourseId: data.PatrolCourseId(),
 
-                     PosId: data.PosId(),
 
-                     CourseOrder: data.CourseOrder()
 
-                 });
 
-             });
 
-         }
 
-         BWA.api.post('CmPatrolCourse/UpdateCourseOrder', chage).done(function () {
 
-             utils.toast.show($G('successDatabaseProcessMsg'));
 
-             //LoadCoursePos();
 
-             disableOrderUpdate(true);
 
-         });
 
-     }
 
-     function LoadCoursePos() {
 
-         var eq = BWA.DataUtil.constructEqualFilter;
 
-         var and = BWA.DataUtil.andFilter;
 
-         var data = selectedPatrolCourse();
 
-         PatrolCoursePosDataSource.filter([
 
-             eq('SiteId', data.SiteId()),
 
-             and,
 
-             eq('PatrolCourseId', data.PatrolCourseId()),
 
-         ]);
 
-         PatrolCoursePosDataSource.load().done(function (poss) {
 
-             possInView(poss);
 
-             $('#gridContainer2').dxDataGrid('instance').refresh();
 
-         });
 
-         disableOrderUpdate(true);
 
-     }
 
-     viewModel.popupVisible.subscribe(function (visible) {
 
-         var i = {};
 
-     });
 
-     viewModel.menuDataGridOptions = menuDataGridOptions;
 
-     viewModel.handlePosAdd = handlePosAdd;
 
-     viewModel.handleEdit = handleEdit;
 
-     viewModel.handleDelete = handleDelete;
 
-     viewModel.handleOrderUpdate = handleOrderUpdate;
 
-     viewModel.handleOrderUp = handleOrderUp;
 
-     viewModel.handleOrderDown = handleOrderDown;
 
-     viewModel.selectedPatrolCourse = selectedPatrolCourse;
 
-     viewModel.selectedCoursePos = selectedCoursePos;
 
-     viewModel.deleteDisabled = deleteDisabled;
 
-     viewModel.upDisabled = upDisabled;
 
-     viewModel.downDisabled = downDisabled;
 
-     viewModel.reSelectRow = reSelectRow;
 
-     viewModel.disableOrderUpdate = disableOrderUpdate;
 
-     //viewModel.handleSearchInSearchView = handleSearchInSearchView;
 
-     viewModel.PatrolPosSearchPopup = $PatrolPosSearchPopup(viewModel, null, true, onSelectedposs);
 
-     //viewModel.userSearchPopup = $UserSearchPopup(viewModel, selectedUserData, true, onSelectedposs);
 
-     //viewModel.toolbarItems.push({location: 'after', widget: 'button', options: { text: $G('close'), icon: 'save', clickAction: handleOrderUpdate } });
 
-     //    viewModel.commandButtonOptions = commandButtonOptions;
 
-     viewModel.handleSearchInSearchView2 = function (filter) {
 
-         var filterA = [];
 
-         _.each(filter, function (x) {
 
-             filterA.push(x);
 
-         });
 
-         PatrolCoursePosDataSource.filter(filterA);
 
-         PatrolCoursePosDataSource.load().done(function (result) {
 
-             //PatrolCoursePermissionDataArray.load().done(function (result) {
 
-             //PatrolCoursePermissionDataArray(result);
 
-         });
 
-     };
 
-     return viewModel;
 
- };
 
 
  |