| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 | 
							- BemsWebApplication.AlarmAdmin = function (params, viewInfo) {
 
-     "use strict";
 
-     var CmAlarmAdminDataSource = BemsWebApplication.db.createDataSource('CmAlarmAdmin'),
 
-         isEmptyData = true;
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmAlarmAdmin', {
 
-         dataSourceOptions: {
 
-             select: [
 
-                 'SiteId',
 
-                 'UserCode',
 
-                 'DeptCode',
 
-                 'PhoneNo',
 
-                 'EmailAddress',
 
-                 //'EmailPassword',
 
-             ],
 
-             filter: [
 
-                 ['SiteId', '=', BWA.UserInfo.SiteId()]
 
-             ],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             },
 
-         },
 
-         columns: [
 
-             { dataField: 'SiteId', caption: '번호', width: '5%', alignment: 'center', sortOder: 'desc' },
 
-                 { dataField: 'UserCode', caption: '사용자 ID', width: '25%', alignment: 'center' },
 
-                 { dataField: 'DeptCode', caption: 'API키', width: '25%', alignment: 'center' },
 
-                 { dataField: 'PhoneNo', caption: '전화번호', width: '20%', alignment: 'center' },
 
-                 { dataField: 'EmailAddress', caption: '이메일 주소', width: '25%', alignment: 'center' },
 
-                // { dataField: 'EmailPassword', caption: '이메일 암호', width: '20%', alignment: 'center' },
 
-         ],
 
-         popupWidth: 500,
 
-         NoSearchView: true,     // 2019.07.25 kgpark 검색버튼 삭제
 
-         
 
-         handleViewShowing: function () {
 
-             CmAlarmAdminDataSource.filter([
 
-                 ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-             ]);
 
-             CmAlarmAdminDataSource.load().done(function (CmAlarmAdmin) {
 
-                 if (CmAlarmAdmin.length == 0) {
 
-                     isEmptyData = true;
 
-                     $("#popupInsertButton").dxCommand("instance").option('disabled', false);
 
-                 }
 
-                 else {
 
-                     isEmptyData = false;
 
-                     $("#popupInsertButton").dxCommand("instance").option('disabled', true);
 
-                 }
 
-             });
 
-         },
 
-         handleBeforeDelete: function () {
 
-             isEmptyData = true;
 
-             $("#popupInsertButton").dxCommand("instance").option('disabled', false);
 
-         },
 
-         // 열을 클릭했을 때 실행되는 함수
 
-         handleDataGridRowClick: function () {
 
-             viewModel.popupVisible(true);
 
-         },
 
-         // 팝업 항목에 데이터가 정상적으로 입력되지 않을 경우 예외처리
 
-         beforeInsertingDataViewModel: function (dataModel, dbModelId) {
 
-             var dfd = $.Deferred();
 
-             if (dataModel.UserCode() == null || dataModel.DeptCode() == null || dataModel.PhoneNo() == null ||
 
-                 dataModel.EmailAddress() == null || dataModel.EmailPassword() == null) {
 
-                 return dfd.resolve(false, '필수 항목이 입력되지 않았습니다!');
 
-             }
 
-             else {
 
-                 var email_length = dataModel.EmailAddress().length;
 
-                 var email_check = dataModel.EmailAddress().lastIndexOf("@gmail.com");
 
-                 var dash_count = (dataModel.PhoneNo().match(/-/g) || []).length;
 
-                 if (dash_count != 2) {
 
-                     return dfd.resolve(false, '전화번호에 - 가 제대로 포함되지 않았습니다!');
 
-                 }
 
-                 if (email_check == -1 || email_length - email_check != 10) {
 
-                     return dfd.resolve(false, '메일 계정이 올바르게 입력되지 않았습니다! (구글 계정만 입력 가능)');
 
-                 }
 
-                 isEmptyData = ko.observable(false);
 
-                 $("#popupInsertButton").dxCommand("instance").option('disabled', true);
 
-                 return dfd.resolve(true);
 
-             }
 
-         },
 
-         beforeUpdateDataViewModel: function (dataModel) {
 
-             if (_.isEmpty(viewModel.dataModel.UserCode()) || _.isEmpty(viewModel.dataModel.DeptCode()) || _.isEmpty(viewModel.dataModel.PhoneNo()) ||
 
-                 _.isEmpty(viewModel.dataModel.EmailAddress()) || _.isEmpty(viewModel.dataModel.EmailPassword())) {
 
-                 utils.toast.show('필수 항목이 입력되지 않았습니다.', 'error');
 
-                 return 0;
 
-             }
 
-             else {
 
-                 var email_length = dataModel.EmailAddress().length;
 
-                 var email_check = dataModel.EmailAddress().lastIndexOf("@gmail.com");
 
-                 var dash_count = (dataModel.PhoneNo().match(/-/g) || []).length;
 
-                 if (dash_count != 2) {
 
-                     utils.toast.show('전화번호에 - 가 제대로 포함되지 않았습니다', 'error');
 
-                     return 0;
 
-                 }
 
-                 if (email_check == -1 || email_length - email_check != 10) {
 
-                     utils.toast.show('메일 계정이 올바르게 입력되지 않았습니다. (구글 계정만 입력 가능)', 'error');
 
-                     return 0;
 
-                 }
 
-                 return 2; // 2016 01 19 BaseClass 에서 update한다.
 
-             }
 
-         },
 
-         // 팝업 항목에 데이터가 정상적으로 들어가지 않을 경우 예외처리
 
-     });
 
-     function InsertButtonClickAction() {
 
-         if (!isEmptyData) {
 
-             utils.toast.show('관리자 계정은 하나만 생성할 수 있습니다.', 'error');
 
-         }
 
-         else {
 
-             viewModel.popupInsertView();
 
-         }
 
-     }
 
-     viewModel.popupInsertButtonOptions = {
 
-         icon: 'add',
 
-         id: 'create',
 
-         title: '등록',
 
-         action: InsertButtonClickAction,
 
-         disabled: !isEmptyData
 
-     };
 
-     return viewModel;
 
- };
 
 
  |