| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- BemsWebApplication.WorkRequest = function(params, viewInfo) {
 
-     "use strict";
 
-     var businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true),
 
-         workTypeDataSource = BemsWebApplication.db.createDataSource('FmsWorkCodeType', true, true),
 
-         companyDataSource = BemsWebApplication.db.createDataSource('CmCompany', true, true),
 
-         progressDataSource = BemsWebApplication.db.createDataSource('FmsWorkCodeProgress', true, true),
 
-         businessFields = ko.observableArray(),
 
-         workTypes = ko.observableArray(),
 
-         companies = ko.observableArray(),
 
-         progresses = ko.observableArray();
 
-     var deferredForSearch = new $.Deferred();
 
-     var workTypesForSearch = ko.observableArray(),
 
-         companiesForSearch = ko.observableArray(),
 
-         businessFieldsForSearch = ko.observableArray(),
 
-         progressesForSearch = ko.observableArray();
 
-     var selectedFacilityData = ko.observable(),
 
-         selectedUserData = params.selectedUserData || ko.observable();
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsWorkRequest', {
 
-         dataSourceOptions: {
 
-             select: ['SiteId', 'RequestId', 'FmsWorkCodeType/Name', 'CmBusinessField/Name', 'CmCompany/Name', 'CmCompany1/Name', 'Title', 'RequesterName', 'RequestedDate', 'FmsWorkCodeProgress/Name', 'CmFacility/Name'],
 
-             expand: ['FmsWorkCodeType', 'CmBusinessField', 'FmsWorkCodeProgress', 'CmFacility'],
 
-             extendOptions: {
 
-                 multipleItems: [{ id: 'CompanyId', entries: ['CmCompany', 'CmCompany1'], fields: ['ChargeCompanyId', 'RequesterCompanyId'] }]
 
-             }
 
-         },
 
-         columns: [
 
-             { dataField: 'Number', caption: $G('number'), width: '10%', alignment: 'center' },
 
-             { dataField: 'FmsWorkCodeType_Name', caption: $G('workTypeName'), width: '15%', alignment: 'center' },
 
-             { dataField: 'CmBusinessField_Name', caption: $G('businessFieldName'), width: '12%', alignment: 'center' },
 
-             { dataField: 'Title', caption: $G('requestTitle'), width: '25%', alignment: 'center' },
 
-             { dataField: 'RequesterName', caption: $G('requesterName'), width: '13%', alignment: 'center' },
 
-             { dataField: 'RequestedDate', caption: $G('requestedDate'), width: '13%', alignment: 'center' },
 
-             { dataField: 'FmsWorkCodeProgress_Name', caption: $G('workProgressName'), width: '12%', alignment: 'center' }
 
-         ],
 
-         promiseDataInSearchView: deferredForSearch.promise(),
 
-         searchViewItems: [
 
-             { id: 'WorkTypeId', ignoreValue: 0, defaultValue: 0, dataSource: workTypesForSearch },
 
-             { id: 'RequesterName' },
 
-             { id: 'RequesterPost' },
 
-             { id: 'Title' },
 
-             { id: 'ChargeCompanyId', ignoreValue: 0, defaultValue: 0, dataSource: companiesForSearch },
 
-             { id: 'BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: businessFieldsForSearch },
 
-             { id: 'ProgressId', ignoreValue: 0, defaultValue: 0, dataSource: progressesForSearch },
 
-             { id: 'RequestedDate', type: 'dateRange', isOnlyDate: true}
 
-         ],
 
-         handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) {
 
-             dataGrid.clearSelection();
 
-             var data = clickRow.data;
 
-             var dataModel = viewModel.dataModel;
 
-             dataModel.BusinessFieldName = $KoSet(dataModel.BusinessFieldName, data.CmBusinessField_Name);
 
-             dataModel.WorkTypeName = $KoSet(dataModel.WorkTypeName, data.FmsWorkCodeType_Name);
 
-             dataModel.ChargeCompanyName = $KoSet(dataModel.ChargeCompanyName, data.CmCompany_ChargeCompanyId_Name);
 
-             dataModel.BusinessFieldName = $KoSet(dataModel.BusinessFieldName, data.CmBusinessField_Name);
 
-             dataModel.FacilityName = $KoSet(dataModel.FacilityName, data.CmFacility_Name);
 
-             popupVisible(true);
 
-         },
 
-         handleAfterLoadingModelByKey: function(data, dataViewModel) {
 
-             if (typeof viewInfo.handleAfterLoadingModelByKey === 'function') {
 
-                 viewInfo.handleAfterLoadingModelByKey(data, dataViewModel);
 
-             }
 
-         },
 
-         beforeInsertingDataViewModel: function(dataModel) {
 
-             dataModel.ProgressId($Code.WorkProgress.Request);
 
-             dataModel.RequestedDate(moment().toDate());
 
-             // hcLee 2015 11 30
 
-             return true;
 
-         },
 
-         handleViewShowing: function(dataModel) {
 
-             $.when(
 
-                 businessFieldDataSource.load(),
 
-                 workTypeDataSource.load(),
 
-                 companyDataSource.load(),
 
-                 progressDataSource.load())
 
-             .done(function(businessFieldResult, workTypeResult, companyResult, progressResult) {
 
-                 businessFields(businessFieldResult[0]);
 
-                 workTypes(workTypeResult[0]);
 
-                 companies(companyResult[0]);
 
-                 progresses(progressResult[0]);
 
-                 businessFieldsForSearch($SearchView.createArrayOfSelectBox('BusinessFieldId', businessFields()));
 
-                 workTypesForSearch($SearchView.createArrayOfSelectBox('WorkTypeId', workTypes()));
 
-                 companiesForSearch($SearchView.createArrayOfSelectBox('CompanyId', companies()));
 
-                 progressesForSearch($SearchView.createArrayOfSelectBox('ProgressId', progresses()));
 
-                 deferredForSearch.resolve();
 
-             });
 
-             dataModel.FacilityName = $KoSet(dataModel.FacilityName);
 
-             if (typeof viewInfo.handleViewShowing === 'function') {
 
-                 viewInfo.handleViewShowing();
 
-             }
 
-         },
 
-         handleViewShown: function() {
 
-         }
 
-     });
 
-     viewModel.facilitySearchPopup = BWA.Popup.Facility.create(viewModel, selectedFacilityData);
 
-     viewModel.handleButtonSearchFacility = function() {
 
-         viewModel.facilitySearchPopup.show();
 
-     };
 
-     viewModel.userSearchPopup = $UserSearchPopup(viewModel, params.selectedUserData || selectedUserData);
 
-     viewModel.handleButtonSearchUser = function() {
 
-         viewModel.userSearchPopup.show();
 
-     };
 
-     selectedFacilityData.subscribe(function(value) {
 
-         viewModel.dataModel.FacilityCode(value.FacilityCode);
 
-         viewModel.dataModel.FacilityName(value.Name);
 
-     });
 
-     if (selectedUserData) {
 
-         selectedUserData.subscribe(function(value) {
 
-             viewModel.dataModel.RequesterUserId(value.UserId);
 
-             viewModel.dataModel.RequesterName(value.Name);
 
-             viewModel.dataModel.RequesterCompanyId(value.CompanyId);
 
-             viewModel.dataModel.RequesterDepartmentId(value.DepartmentId);
 
-             viewModel.dataModel.RequesterPost('{0} / {1}'.formati(value.CompanyName, value.DepartmentName));
 
-         });
 
-     }
 
-     viewModel.businessFields = businessFields;
 
-     viewModel.workTypes = workTypes;
 
-     viewModel.companies = companies;
 
-     viewModel.progresses = progresses;
 
-     var tabIndex = ko.observable(0);
 
-     //    viewModel.currentTabIndex = currentTabIndex;
 
-     viewModel.tabsOptionsInWorkRequestPopup = {
 
-         dataSource: [
 
-             { text: '작업요청' },
 
-             { text: '작업지시' },
 
-             { text: '대상시설' }
 
-         ],
 
-         selectedIndex: tabIndex,
 
-         visible: params.workOrderVisible || false
 
-     };
 
-     viewModel.multiViewOptionsInWorkRequestPopup = {
 
-         dataSource: [
 
-             {
 
-                 viewModel: viewModel,
 
-                 dataModel: viewModel.dataModel,
 
-                 template: 'workRequest'
 
-             },
 
-             {
 
-                 viewModel: viewModel,
 
-                 dataModel: params.workOrderDataModel || {},
 
-                 template: 'workOrder'
 
-             },
 
-             {
 
-                 viewModel: viewModel,
 
-                 dataGridOptions: params.facilityDataGridOptions || {},
 
-                 template: 'targetFacility'
 
-             }
 
-         ],
 
-         swipeEnabled: true,
 
-         selectedIndex: tabIndex,
 
-         height: '600px'
 
-     };
 
-     viewModel.workOrderVisible = params.workOrderVisible || false;
 
-     return viewModel;
 
- };
 
 
  |