| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- BemsWebApplication.Department = function( params , viewInfo ) {
 
-     "use strict";
 
-     var companyDataSource = BemsWebApplication.db.createDataSource( 'CmCompany', true );
 
-     var companies = ko.observableArray();
 
-     var CmDepartmentDataSource = BemsWebApplication.db.createDataSource('CmDepartment');
 
-     var DepartmentInfo = ko.observableArray();
 
-     var RowName, RowCompanyId;
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'CmDepartment', {
 
-         dataSourceOptions: {
 
-             select: [ 'SiteId' , 'CompanyId' , 'DepartmentId' , 'Name' , 'Name', 'PhoneNo', 'IsUse' , 'CmCompany/Name' ],
 
-             expand: ["CmCompany"],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             }
 
-         },
 
-         columns: [
 
-             { dataField: 'DepartmentId', caption: $G('number'), width: '10%', alignment: 'center' ,sortOrder: 'desc'},
 
-             { dataField: 'CmCompany/Name', caption: $G( 'companyName' ), width: '15%', alignment: 'center' },
 
-             { dataField: 'Name', caption: $G( 'departmentName' ), width: '35%', alignment: 'center' },
 
-             { dataField: 'PhoneNo', caption: $G( 'departmentPhoneNo' ), width: '15%', alignment: 'center' },
 
-             utils.datagrid.columnIsUse( '10%' )
 
-         ],
 
-         searchViewItems: [ { id: 'CmCompany/Name' }, { id: 'Name' } ],
 
-         popupWidth: 480,
 
-         handleDataGridRowClick: function( id, dataGrid, clickRow, popupVisible ) {
 
-             dataGrid.clearSelection();
 
-             var data = clickRow.data;
 
-             var dataModel = viewModel.dataModel;
 
-             dataModel.CompanyName = $KoSet(dataModel.CompanyName, data.CmCompany_Name);
 
-             RowName = data.Name;
 
-             RowCompanyId = data.CompanyId;
 
-             popupVisible( true );
 
-         },
 
-         // 이름 중복 방지
 
-         handlePopupShowing: function (that) {
 
-             companyDataSource.filter([
 
-                 ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-             ]);
 
-             companyDataSource.load().done(function (result) {
 
-                 companies(result);
 
-             });
 
-             CmDepartmentDataSource.filter([
 
-                 ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-             ]);
 
-             CmDepartmentDataSource.load().done(function (result) {
 
-                 DepartmentInfo(result);
 
-             });
 
-         },
 
-         beforeInsertingDataViewModel: function (dataModel, dbModelId) {
 
-             var dfd = $.Deferred();
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < DepartmentInfo().length; i++) {
 
-                 if (dataModel.Name() == DepartmentInfo()[i].Name() && dataModel.CompanyId() == DepartmentInfo()[i].CompanyId()) {
 
-                     isDuplicated = true;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(dataModel.Name()) || !BWA.DataUtil.isValidInputValue(dataModel.CompanyId()))
 
-                 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 < DepartmentInfo().length; i++) {
 
-                 if (viewModel.dataModel.Name() == DepartmentInfo()[i].Name() && viewModel.dataModel.CompanyId() == DepartmentInfo()[i].CompanyId()
 
-                     && (RowName() != DepartmentInfo()[i].Name() || RowCompanyId() != DepartmentInfo()[i].CompanyId())) {
 
-                     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;
 
-             }
 
-         }
 
-     });
 
-     var handleSelectBoxCompany = function( e ) {
 
-         viewModel.dataModel.CompanyId(e.value);
 
-     };
 
-     viewModel.companyDataSource = companies;
 
-     viewModel.handleSelectBoxCompany = handleSelectBoxCompany;
 
-     return viewModel;
 
- };
 
 
  |