BemsWebApplication.UserLoginHistory = function (params, viewInfo) { 'use strict'; var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmUserLoginHistory', { dataSourceOptions: { select: [ 'SiteId', 'LoginHistoryId', 'UserId', 'Type', 'TraceTime', 'IpAddress', 'CmUser/CompanyId', 'CmUser/DepartmentId', 'CmUser/Name', 'CmUser/UserGroupId', 'CmUser/Certificated', 'CmUser/BusinessFieldId', 'CmUser/EmploymentType', 'CmUser/EmploymentStatus', 'CmUser/CmPosition/Name', 'CmUser/CmDepartment/Name', 'CmUser/CmCompany/Name', 'CmUser/CmBusinessField/Name', 'CmUser/CmUserGroup/Name', 'CmUser/CmPosition/Name', 'CmUser/MobilePhoneNo', 'CmUser/OfficePhoneNo', 'CmUser/Email', 'CmUser/EnterDate', 'CmUser/RetireDate', 'CmUser/Certificated', 'CmUser/Comment', 'CmUser/IsScheduleUser' ], expand: ['CmUser', 'CmUser/CmPosition', 'CmUser/CmDepartment', 'CmUser/CmCompany', 'CmUser/CmBusinessField', 'CmUser/CmUserGroup'], filter: [ ['UserId', '<>', 'admin'], 'and', ['SiteId', '=', BWA.UserInfo.SiteId()] ], extendOptions: { forceOriginalField: true } }, columns: [ { dataField: 'LoginHistoryId', caption: $G('number'), width: '10%', alignment: 'center' }, { dataField: 'UserId', caption: $G('userId'), width: '10%', alignment: 'center' }, { dataField: 'CmUser/Name', caption: $G('userName'), width: '15%', alignment: 'center' }, { dataField: 'CmUser/CmCompany/Name', caption: $G('companyName'), width: '15%', alignment: 'center' }, { dataField: 'CmUser/CmDepartment/Name', caption: $G('departmentName'), width: '15%', alignment: 'center' }, { dataField: 'Type', caption: '유형', width: '10%', alignment: 'center' }, { dataField: 'IpAddress', caption: '접속IP', width: '10%', alignment: 'center' }, { dataField: 'TraceTime', caption: '일시', width: '15%', alignment: 'center', customizeText: utils.datagrid.customizeTextForDateTimeFunc, sortOrder: 'desc' }, ], searchViewItems: [ { id: 'UserId' }, { id: 'CmUser/Name' }, // { id: 'EmploymentType', ignoreValue: 0, defaultValue: 0, value: employmentTypeForSerach, dataSource: searchEmploymentTypes }, // { id: 'EmploymentStatus', ignoreValue: 0, defaultValue: 0, value: employmentStatusForSerach, dataSource: searchEmploymentStatus }, // { id: 'CompanyId', ignoreValue: 0, defaultValue: 0, dataSource: searchCompanies, value: companyIdForSerach, handleChangedValue: handleCompanyChangedValueInSearchView, entityForCheckingUse: 'CmCompany' }, // { id: 'DepartmentId', ignoreValue: 0, defaultValue: 0, withCheckId: 'CompanyId', value: departmentIdForSerach, dataSource: searchDepartments, entityForCheckingUse: 'CmDepartment' }, ], handleViewShown: function () { }, handleAfterLoadingModelByKey: function (data, dataViewModel, isNewInPopup) { }, handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) { dataGrid.clearSelection(); var data = clickRow.data; var dataModel = viewModel.dataModel; dataModel.Name = $KoSet(dataModel.Name, data['CmUser/Name']); dataModel.PositionName = $KoSet(dataModel.PositionId, data['CmUser/CmPosition/Name']); dataModel.CompanyName = $KoSet(dataModel.CompanyName, data['CmUser/CmCompany/Name']); dataModel.DepartmentName = $KoSet(dataModel.DepartmentName, data['CmUser/CmDepartment/Name']); dataModel.BusinessFieldName = $KoSet(dataModel.BusinessFieldName, data['CmUser/CmBusinessField/Name']); dataModel.UserGroupName = $KoSet(dataModel.UserGroupName, data['CmUser/CmUserGroup/Name']); dataModel.MobilePhoneNo = $KoSet(dataModel.MobilePhoneNo, data['CmUser/MobilePhoneNo']); dataModel.MobilePhoneNo = $KoSet(dataModel.MobilePhoneNo, data['CmUser/MobilePhoneNo']); dataModel.OfficePhoneNo = $KoSet(dataModel.OfficePhoneNo, data['CmUser/OfficePhoneNo']); dataModel.Email = $KoSet(dataModel.Email, data['CmUser/Email']); dataModel.EnterDate = $KoSet(dataModel.EnterDate, data['CmUser/EnterDate']); dataModel.RetireDate = $KoSet(dataModel.RetireDate, data['CmUser/RetireDate']); dataModel.Certificated = $KoSet(dataModel.Certificated, data['CmUser/Certificated']); dataModel.Comment = $KoSet(dataModel.Comment, data['CmUser/Comment']); dataModel.IsScheduleUser = $KoSet(dataModel.IsScheduleUser, data['CmUser/IsScheduleUser']); dataModel.EmploymentType = $KoSet(dataModel.EmploymentType, data['CmUser/EmploymentType']); dataModel.EmploymentStatus = $KoSet(dataModel.EmploymentStatus, data['CmUser/EmploymentStatus']); viewModel.employmentTypeNames = $G.EmploymentTypeNames; viewModel.employmentStatusNames = $G.EmploymentStatusNames; /* dataModel.UserGroupName = $KoSet(dataModel.UserGroupName, data['CmUserGroup/Name']); dataModel.IsScheduleUser = $KoSet(dataModel.IsScheduleUser, data.IsScheduleUser()); */ popupVisible(true); }, handlePopupShowing: function (that) { }, }); // toolbarItems 선언은 이렇게 viewModel 생성 후에 선언되어야 바뀐다 hcLee 2015 11 26 var toolbarItems = [ { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: viewModel.handlePopupButtonClose } } // ]; viewModel.toolbarItems = toolbarItems; /* hcLee 2015 11 26 이렇게 따로 밖에 있어도 되고 위 처럼 viewmodel내의 기본handlePopupButtonClose 이용해도 된다. function handlePopupButtonClose() { viewModel.popupVisible(false); }*/ return viewModel; };