123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- BemsWebApplication.FacilityWorkHistory = function (params, viewInfo) {
- "use strict";
- var businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true),
- workTypeDataSource = BemsWebApplication.db.createDataSource('FmsWorkCodeType'),
- progressDataSource = BemsWebApplication.db.createDataSource('FmsWorkCodeProgress'),
- businessFields = ko.observableArray(),
- workTypes = ko.observableArray(),
- progresses = ko.observableArray();
- var isVisibleExecutionButton = ko.observable(true);
- var popup, workExecutionRegisterPopup = null;
- var deferredForSearch = new $.Deferred();
- var workTypesForSearch = ko.observableArray(),
- businessFieldsForSearch = ko.observableArray(),
- progressesForSearch = ko.observableArray();
- var eq = BWA.DataUtil.constructEqualFilter,
- and = BWA.DataUtil.andFilter,
- noteq = BWA.DataUtil.constructNotEqualFilter;
- var selectedFacilityData = ko.observable(),
- selectedUserData = params.selectedUserData || ko.observable();
- var dataSourceOptions = {
- select: [
- 'SiteId',
- 'WorkRequestId',
- 'CmFacility/Name',
- 'CmFacility/BemsFacilityType/Name',
- 'FmsWorkOrder/FmsWorkRequest/WorkTypeId',
- 'FmsWorkOrder/Title',
- 'FmsWorkOrder/OrderDate',
- 'FmsWorkOrder/StartWorkDate',
-
- 'FmsWorkOrder/FmsWorkRequest/WorkProgressId',
- 'FmsWorkOrder/CmUser/Name', // 작업지시자
- //'CmUser1/Name', // 반려자
- 'FmsWorkOrder/FmsWorkRequest/FmsWorkCodeType/Name',
- 'FmsWorkOrder/CmBusinessField/Name',
- 'FmsWorkOrder/FmsWorkRequest/FmsWorkCodeProgress/Name',
- 'FmsWorkOrder/FmsWorkResult/CmUser/Name'
- ],
- expand: [
- 'FmsWorkOrder/FmsWorkRequest',
- 'FmsWorkOrder/FmsWorkResult',
- 'FmsWorkOrder/FmsWorkResult/CmUser',
- 'FmsWorkOrder/FmsWorkRequest/FmsWorkCodeType',
- 'FmsWorkOrder/FmsWorkRequest/FmsWorkCodeProgress',
- 'FmsWorkOrder/CmBusinessField',
- 'FmsWorkOrder/CmUser',
- 'CmFacility',
- 'CmFacility/BemsFacilityType',
- ],
- //expand: ['FmsWorkCodeType', 'CmBusinessField', 'FmsWorkCodeProgress', 'CmUser', 'CmUser1'],
- extendOptions: {
- forceOriginalField: true
- },
- // TODO : Filtering...
- //filter: [
- // eq('SiteId', BWA.UserInfo.SiteId()),
- // and,
- // ['FmsWorkRequest/WorkProgressId', '>=', 3],
- // and,
- // ['FmsWorkRequest/WorkProgressId', '<=', 5]
- //]
- };
- //'CmFacility/Name',
- //'CmFacility/BemsFacilityType/Name',
- var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsWorkOrderToFacility', {
- popupWidth: 1060,
- dataSourceOptions: dataSourceOptions,
- columns: [
- { dataField: 'WorkRequestId', caption: $G('number'), width: '8%', alignment: 'center' },
- { dataField: 'FmsWorkOrder/CmBusinessField/Name', caption: $G('businessFieldName'), width: '10%', alignment: 'center' },
- { dataField: 'FmsWorkOrder/FmsWorkRequest/FmsWorkCodeType/Name', caption: $G('workTypeName'), width: '10%', alignment: 'center' },
- {
- dataField: 'FmsWorkOrder/OrderDate', caption: $G('orderedDate'), width: '12%', alignment: 'center', sortOrder: 'desc',
- customizeText: function (cellInfo) {
- return $G.date(cellInfo.value);
- }
- },
- { dataField: 'CmFacility/BemsFacilityType/Name', caption: '설비유형', width: '15%', alignment: 'center' },
- { dataField: 'CmFacility/Name', caption: '설비명칭', width: '20%', alignment: 'center' },
- { dataField: 'FmsWorkOrder/Title', caption: '작업명', width: '35%', alignment: 'center' },
- { dataField: 'FmsWorkOrder/FmsWorkRequest/FmsWorkCodeProgress/Name', caption: $G('workProgressName'), width: '10%', alignment: 'center' },
- { dataField: 'FmsWorkOrder/CmUser/Name', caption: '작업지시자', width: '15%', alignment: 'center' },
- { dataField: 'FmsWorkOrder/FmsWorkResult/CmUser/Name', caption: '작업자', width: '15%', alignment: 'center' }
- ],
- promiseDataInSearchView: deferredForSearch.promise(),
- //searchViewItems: _.compact([
- // executionPlanViewOptions ? null : { id: 'BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: businessFieldsForSearch },
- // executionPlanViewOptions ? null : { id: 'WorkTypeId', ignoreValue: 0, defaultValue: 0, dataSource: workTypesForSearch },
- // { id: 'CmUser/Name' },
- // { id: 'Title' },
- // { id: 'WorkProgressId', ignoreValue: 0, defaultValue: 0, dataSource: progressesForSearch },
- // { id: 'RequestDate', type: 'dateRange' }
- //]),
- handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
- dataGrid.clearSelection();
- var data = clickRow.data;
- var dataModel = viewModel.dataModel;
-
- isVisibleExecutionButton(false);
- if (popup && popup.handleBeforeShowingPopupForEdit) {
- popup.handleBeforeShowingPopupForEdit(data, dataModel);
- }
- popupVisible(true);
- },
- handlePopupShowing: function () {
- if (popup && popup.handlePopupShowing) {
- popup.handlePopupShowing.apply(this, arguments);
- }
- },
- handleViewShowing: function (dataModel) {
- $.when(
- businessFieldDataSource.load(),
- workTypeDataSource.load(),
- progressDataSource.load()
- ).done(function (businessFieldResult, workTypeResult, progressResult) {
- businessFields(businessFieldResult[0]);
- workTypes(workTypeResult[0]);
- progresses(progressResult[0]);
- businessFieldsForSearch($SearchView.createArrayOfSelectBox('BusinessFieldId', businessFields()));
- workTypesForSearch($SearchView.createArrayOfSelectBox('WorkTypeId', workTypes()));
- progressesForSearch($SearchView.createArrayOfSelectBox('ProgressId', progresses()));
- deferredForSearch.resolve();
- });
- },
- handleViewShown: function () {
- }
- });
- viewModel.businessFields = businessFields;
- viewModel.workTypes = workTypes;
- popup = viewModel.popup = BWA.Popup.FacilityWorkHistory.create(viewInfo, viewModel);
- //workExecutionRegisterPopup = viewModel.workExecutionRegisterPopup = BWA.Popup.WorkExecutionRegister.create(viewInfo, viewModel);
- return viewModel;
- };
|