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;
- };
|