| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 | 
							- 
 
- BemsWebApplication.WorkResult = function(params, viewInfo) {
 
-     "use strict";
 
-     var facilityFactory = BemsWebApplication.Factory.Facility;
 
-     var workResultFactory = BemsWebApplication.Factory.WorkResult;
 
-     var workRequestDataModel = $.extend({
 
-         'WorkTypeName': ko.observable(),
 
-         'ChargeCompanyName': ko.observable(),
 
-         'RequesterCompanyName': ko.observable(),
 
-         'BusinessFieldName': ko.observable(),
 
-         'FacilityName': ko.observable(),
 
-         'ProgressName': ko.observable(),
 
-     }, new BemsWebApplication.FmsWorkRequestViewModel()),
 
-         workRequestDataSource = BWA.DataUtil.createDataSource({
 
-             dataSourceOptions: {
 
-                 store: BemsWebApplication.db.FmsWorkRequest,
 
-                 select: [
 
-                     'SiteId', 'RequestId', 'WorkTypeId', 'BusinessFieldId', 'CheckGroupId', 'ScheduleId',
 
-                     'ProgressId', 'RequesterDepartmentId',
 
-                     'FacilityCode', 'ChargeCompanyId', 'RequesterUserId', 'RequesterName',
 
-                     'RequesterCompanyId', 'RequesterPost', 'RequesterMobileNo', 'IsReceiveSms',
 
-                     'IsSendTeamSms', 'Title', 'Content', 'RequestedDate',
 
-                     'FmsWorkCodeType/Name', 'CmCompany/Name', 'CmCompany1/Name',
 
-                     'CmBusinessField/Name', 'CmFacility/Name', 'FmsWorkCodeProgress/Name'
 
-                 ],
 
-                 expand: ['CmBusinessField', 'CmFacility', 'FmsWorkCodeType', 'FmsWorkCodeProgress'],
 
-                 extendOptions: {
 
-                     multipleItems: [
 
-                         { id: 'CompanyId', entries: ['CmCompany', 'CmCompany1'], fields: ['ChargeCompanyId', 'RequesterCompanyId'] }
 
-                     ],
 
-                     alterNames: {
 
-                         'CmCompany/ChargeCompanyId/Name': 'ChargeCompanyName',
 
-                         'CmCompany/RequesterCompanyId/Name': 'RequesterCompanyName',
 
-                         'CmBusinessField/Name': 'BusinessFieldName',
 
-                         'CmFacility/Name': 'FacilityName',
 
-                         'FmsWorkCodeType/Name': 'WorkTypeName',
 
-                         'FmsWorkCodeProgress/Name': 'ProgressName'
 
-                     }
 
-                 }
 
-             }
 
-         }),
 
-         facilityDataSource = facilityFactory.getDataSourceWithRelation(BemsWebApplication.db.FmsWorkOrderToFacility, {
 
-             select: ['ProgressId', 'FmsWorkCodeProgress/Name'],
 
-             expand: ['FmsWorkCodeProgress']
 
-         });
 
-     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);
 
-     var deferredForSearch = new $.Deferred();
 
-     var workTypesForSearch = ko.observableArray(),
 
-         businessFieldsForSearch = ko.observableArray(),
 
-         companiesForSearch = ko.observableArray(),
 
-         progressesForSearch = ko.observableArray(),
 
-         targetFacilities = ko.observableArray();
 
-     var timer = null,
 
-         popupElement = null,
 
-         workContentsPopup = null;
 
-     //params.shownActionInPopup = function( e ) {
 
-     //    console.log( $(e.element[0]).html() );
 
-     //    $( e.element ).on( 'transitioned', function( e ) {
 
-     //        console.log( e );
 
-     //    } );
 
-     //}
 
-     //params.popupPosition = ko.observable( { my: 'center', at: 'center', of: window } );
 
-     //params.popupPosition.subscribe( function( value ) {
 
-     //    console.log( value );
 
-     //} );
 
-     params.popupPosition = { offset: '-200 0' };
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsWorkOrder', {
 
-         dataSourceOptions: workResultFactory.getDataSourceOptionsWithFilter(params.filter || [
 
-             ['FmsWorkRequest/FmsWorkCodeProgress/ProgressId', '<', $Code.WorkProgress.WorkConfirm]
 
-         ]),
 
-         columns: workResultFactory.defaultColumns,
 
-         promiseDataInSearchView: deferredForSearch.promise(),
 
-         searchViewItems: [
 
-             { id: 'FmsWorkRequest/WorkTypeId', ignoreValue: 0, defaultValue: 0, dataSource: workTypesForSearch },
 
-             { id: 'Title' },
 
-             { id: 'OrderedDate', type: 'dateRange', isOnlyDate: true },
 
-             { id: 'CmUser/Name' },
 
-             { id: 'ChargeCompanyId', ignoreValue: 0, defaultValue: 0, dataSource: companiesForSearch },
 
-             { id: 'FmsWorkRequest/CmBusinessField/BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: businessFieldsForSearch },
 
-             { id: 'FmsWorkRequest/ProgressId', ignoreValue: 0, defaultValue: 0, dataSource: progressesForSearch },
 
-         ],
 
-         handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) {
 
-             dataGrid.clearSelection();
 
-             var data = clickRow.data;
 
-             var dataModel = viewModel.dataModel;
 
-             dataModel.BusinessFieldName = $KoSet(dataModel.BusinessFieldName, data.BusinessFieldName);
 
-             dataModel.ChargeCompanyName = $KoSet(dataModel.ChargeCompanyName, data.CompanyName);
 
-             dataModel.EmergencyName = $KoSet(dataModel.EmergencyName, data.EmergencyName);
 
-             //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 );
 
-             if (_.isUndefined(params.selectedData) === false) {
 
-                 params.selectedData(data);
 
-             }
 
-             workRequestDataSource.filter(
 
-                 ['SiteId', '=', data.SiteId()],
 
-                 'and',
 
-                 ['RequestId', '=', data.RequestId()]
 
-             );
 
-             workRequestDataSource.load().done(function(result) {
 
-                 if (result.length > 0) {
 
-                     BWA.DataUtil.copyViewModel(result[0], workRequestDataModel);
 
-                 }
 
-                 facilityDataSource.filter(
 
-                     ['SiteId', '=', data.SiteId()],
 
-                     'and',
 
-                     ['OrderId', '=', data.OrderId()]
 
-                 );
 
-                 refreshFaciliyList();
 
-             }).always(function() {
 
-                 popupVisible(true);
 
-             });
 
-         },
 
-         handleAfterLoadingModelByKey: function(data, dataViewModel) {
 
-         },
 
-         handleViewShowing: function(dataModel) {
 
-             $.when(
 
-                 businessFieldDataSource.load(),
 
-                 workTypeDataSource.load(),
 
-                 companyDataSource.load(),
 
-                 progressDataSource.load())
 
-             .done(function(businessFieldResult, workTypeResult, companyResult, progressResult) {
 
-                 businessFieldsForSearch($SearchView.createArrayOfSelectBox('BusinessFieldId', businessFieldResult[0]));
 
-                 workTypesForSearch($SearchView.createArrayOfSelectBox('WorkTypeId', workTypeResult[0]));
 
-                 companiesForSearch($SearchView.createArrayOfSelectBox('CompanyId', companyResult[0]));
 
-                 progressesForSearch($SearchView.createArrayOfSelectBox('ProgressId', progressResult[0]));
 
-                 deferredForSearch.resolve();
 
-             });
 
-         },
 
-         handleViewShown: function() {
 
-         },
 
-         contentReadyActionInPopup: function(e) {
 
-             params.mainPopupElement(e.element.offsetParent());
 
-         },
 
-     });
 
-     function refreshFaciliyList() {
 
-         var deferred = new $.Deferred();
 
-         facilityDataSource.load().done(function(facilities) {
 
-             targetFacilities(facilities);
 
-             deferred.resolve(targetFacilities());
 
-         });
 
-         return deferred.promise();
 
-     }
 
-     params.mainPopupElement = ko.observable();
 
-     viewModel.refreshFaciliyList = refreshFaciliyList;
 
-     viewModel.toolbarItems = [
 
-         { location: 'before', text: '작업관리' },
 
-         { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: viewModel.handlePopupButtonClose } }
 
-     ];
 
-     var tabIndex = ko.observable(0);
 
-     viewModel.tabsOptions = {
 
-         dataSource: [
 
-             { text: '작업요청' },
 
-             { text: '작업지시' },
 
-             { text: '대상시설' }
 
-         ],
 
-         selectedIndex: tabIndex
 
-     };
 
-     workContentsPopup = BemsWebApplication.Factory.WorkResultContentsPopup.create(viewModel, params);
 
-     viewModel.multiViewOptions = {
 
-         dataSource: [
 
-             {
 
-                 viewModel: viewModel,
 
-                 dataModel: workRequestDataModel,
 
-                 template: 'workRequest'
 
-             },
 
-             {
 
-                 viewModel: viewModel,
 
-                 dataModel: viewModel.dataModel,
 
-                 template: 'workOrder'
 
-             },
 
-             {
 
-                 viewModel: viewModel,
 
-                 dataGridOptions: {
 
-                     dataSource: targetFacilities,
 
-                     columns: facilityFactory.getColumns([
 
-                         //{ dataField: 'ClassName', width: '40%' },
 
-                     { dataField: 'FmsFacilityCodeClass/Name', width: '10%' },
 
-                     { dataField: 'FmsFacilityCodeClass1/Name', width: '15%' },
 
-                     { dataField: 'FmsFacilityCodeClass2/Name', width: '15%' },
 
-                         { dataField: 'Name', width: '40%' },
 
-                         { dataField: 'FmsWorkCodeProgress_Name', caption: $G('workProgress'), alignment: 'center', width: '20%' }
 
-                     ]),
 
-                     cellPrepared: facilityFactory.cellPrepared,
 
-                     hoverStateEnabled: true,
 
-                     selection: { mode: 'single' },
 
-                     contentReadyAction: function(e) {
 
-                         workContentsPopup.setFacilityGridViewInstance(e.component);
 
-                     },
 
-                     rowClick: function(clickRow) {
 
-                         workContentsPopup.setSelectedFacility(clickRow.data);
 
-                         workContentsPopup.visible(false);
 
-                         workContentsPopup.visible(true);
 
-                     },
 
-                     height: 400
 
-                 },
 
-                 template: 'targetFacility'
 
-             }
 
-         ],
 
-         swipeEnabled: true,
 
-         selectedIndex: tabIndex,
 
-         height: '520px'
 
-     };
 
-     viewModel.workRequestDataModel = workRequestDataModel;
 
-     return viewModel;
 
- };
 
 
  |