| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 | 
							- 
 
- $(function () {
 
-     'use strict';
 
-     BemsWebApplication.Popup.WorkResultCheckItemMaterial = {
 
-         create: function (viewInfo, viewModel) {
 
-             var ex = 0;
 
-             var eq = BWA.DataUtil.constructEqualFilter;
 
-             var and = BWA.DataUtil.andFilter;
 
-             var deletestate = false;
 
-             var overlayVisible = ko.observable(false),
 
-                 position = ko.observable(),
 
-                 timer = null;
 
-             var materialGridView2 = ko.observable();
 
-             var materials2 = ko.observableArray();
 
-             var materialFactory2 = BWA.Factory.Material;
 
-             var materialColumns2 = materialFactory2.getColumns([
 
-                { dataField: 'MaterialCode', width: '30%' },
 
-                { dataField: 'Name', width: '40%' },
 
-                { dataField: 'Standard', width: '40%' }
 
-             ]);
 
-             var materials2DataSource = BemsWebApplication.db.createDataSource('FmsWorkResultCheckItemMaterial', true, true, true);
 
-             var fmsmaterialsDataSource = BemsWebApplication.db.createDataSource('FmsMaterial', true, true, true);
 
-             //var modifiableMaterialDataGridOptions2 = null;
 
-             overlayVisible.subscribe(function (value) {
 
-                 if (value) {
 
-                     if (timer !== null) {
 
-                         clearInterval(timer);
 
-                     }
 
-                     var top, left;
 
-                     //var element = $('#popupWorkContentsDetail').offsetParent();
 
-                     var element = $('#currentWorkpopupDetail').offsetParent();
 
-                     position({ my: 'left top', at: 'right top', of: element });
 
-                     timer = setInterval(function () {
 
-                         var offset = element.offset();
 
-                         if (top !== offset.top || left !== offset.left) {
 
-                             top = offset.top;
 
-                             left = offset.left;
 
-                             position({ my: 'left top', at: 'right top', of: element });
 
-                         }
 
-                     }, 100);
 
-                 }
 
-                 else {
 
-                     if (timer !== null) {
 
-                         clearInterval(timer);
 
-                         timer = null;
 
-                     }
 
-                 }
 
-             });
 
-             position.subscribe(function (value) {
 
-             });
 
-             viewModel.popupVisible.subscribe(function (value) {
 
-                 if (value === false) {
 
-                     overlayVisible(false);
 
-                     materials2([]);
 
-                 }
 
-                 //workProgressDataSource.load().done(function (result) {
 
-                 //    progresses(result);
 
-                 //});
 
-             });
 
-             viewModel.workResultContentsViewOptions = {
 
-                 width: '530px',
 
-                 height: '682px',
 
-                 dragEnabled: false,
 
-                 position: position,
 
-                 visible: overlayVisible,
 
-                 showingAction: function () {
 
-                     $("#gridContainer2").dxDataGrid({
 
-                         paging: {
 
-                             pageSize: 14,
 
-                             enabled: true
 
-                         }
 
-                     });
 
-                 },
 
-                 closeOnOutsideClick: false,
 
-                 shading: false,
 
-                 animation: {
 
-                     show: { type: "slide", duration: 150, from: { left: '-=10', opacity: 0 }, to: { opacity: 1 } },
 
-                     hide: { type: "slide", duration: 150, from: { left: '-=10', opacity: 1 }, to: { opacity: 0 } }
 
-                 }
 
-             };
 
-             //var popup = e.component;
 
-             viewModel.toolbarItemsInWorkResult = [
 
-                 { location: 'before', text: '자재사용내역' },
 
-                 //{
 
-                 //    location: 'after', widget: 'button', options: {
 
-                 //        text: $G('materialInsertion'), icon: 'search', visible: viewModel.isApprovalMode(), // !viewModel.isWorkHistory(),
 
-                 //        clickAction: function () {
 
-                 //            viewModel.isAddPopup(false);
 
-                 //            viewModel.materialSearchPopup.show();   
 
-                 //        }
 
-                 //    }
 
-                 //},
 
-                 //{
 
-                 //    location: 'after', widget: 'button', options: {
 
-                 //        text: $G('materialDeletion'), icon: 'remove', type: 'danger', visible: viewModel.isApprovalMode(),//!viewModel.isWorkHistory(),
 
-                 //        clickAction: function () { handleDeleteSelectedMaterials(); }
 
-                 //    }
 
-                 //},
 
-                 //{
 
-                 //    location: 'after', widget: 'button', options: {
 
-                 //        text: $G('save'), icon: 'save', visible: viewModel.isApprovalMode(),
 
-                 //        clickAction: function () {
 
-                 //            saveApprovalMaterials();
 
-                 //        }
 
-                 //    }
 
-                 //}
 
-             ];
 
-             viewModel.modifiableMaterialDataGridOptions2 = utils.datagrid.defaultOptions({
 
-                 width: 500,
 
-                 pager: {
 
-                     showPageSizeSelector: false,
 
-                     allowedPageSizes: []
 
-                 },
 
-                 // visible: viewModel.isEditModeInPopup,
 
-                 dataSource: materials2,
 
-                 selection: { mode: 'none', allowSelectAll: true },
 
-                 columns: materialColumns2.concat([{
 
-                     dataField: 'MaterialCount', width: '20%', type: 'number',
 
-                     caption: $G('materialCount'), alignment: 'center',
 
-                     //19.08.21 자재사용내역 수량 변경 금지
 
-                     //cellTemplate: utils.datagrid.getNumberBoxDataGridTemplateFunc({
 
-                     //    min: 1,
 
-                     //    max: 1000000,
 
-                     //    dataField: 'MaterialCount',
 
-                     //    convertValueWhenValueChanged: function (value) {
 
-                     //        return Math.max(1, value);
 
-                     //    }
 
-                     //})
 
-                 }]),
 
-                 cellClick: function (e) {
 
-                     utils.datagrid.cellClickEventForDataGridTemplate(e, 'MaterialCount');
 
-                 },
 
-                 contentReadyAction: function (e) {
 
-                     materialGridView2(e.component);
 
-                 },
 
-             });
 
-             function handleDeleteSelectedMaterials() {
 
-                 var rows = materialGridView2().getSelectedRowsData();
 
-                 if (_.isEmpty(rows)) {
 
-                     utils.toast.show('선택된 자재가 없습니다.', 'error');
 
-                     return;
 
-                 }
 
-                 _.each(rows, function (row) {
 
-                     var array = materials2();
 
-                     var length = array.length;
 
-                     var id = row.MaterialId();
 
-                     for (var i = 0 ; i < length ; i++) {
 
-                         if (id === array[i].MaterialId()) {
 
-                             materials2().splice(i, 1);
 
-                             break;
 
-                         }
 
-                     }
 
-                 });
 
-                 materialGridView2().refresh();
 
-             }
 
-             function saveApprovalMaterials() {
 
-                 var workCheckItem = new BemsWebApplication.FmsWorkResultCheckItemViewModel();
 
-                 workCheckItem.SiteId(viewModel.dataModel.SiteId());
 
-                 workCheckItem.WorkRequestId(viewModel.dataModel.WorkRequestId());
 
-                 // Warning: 다른 로직이 필요할 수 있음 
 
-                 if (viewModel.dataModel.selectedItemCheckItemId() == 0) {
 
-                     var itemId = viewModel.workResultCheckItems()[viewModel.workResultCheckItems().length - 1].CheckItemId();
 
-                     workCheckItem.CheckItemId(itemId);
 
-                 }
 
-                 else {
 
-                     workCheckItem.CheckItemId(viewModel.dataModel.selectedItemCheckItemId());
 
-                 }
 
-                 workCheckItem.TextResult(viewModel.dataModel.selectedItemTextResult())
 
-                 var array = materials2();
 
-                 if (array.length != 0) {
 
-                     var postData;
 
-                     var parameters2 = {
 
-                         SiteId: workCheckItem.SiteId(),
 
-                         BusinessFieldId: viewModel.dataModel.BusinessFieldId(),
 
-                         WorkRequestId: workCheckItem.WorkRequestId(),
 
-                         CheckItemId: workCheckItem.CheckItemId()
 
-                     };
 
-                     postData = _.map(array, function (m) {
 
-                         return {
 
-                             SiteId: workCheckItem.SiteId(),
 
-                             WorkRequestId: workCheckItem.WorkRequestId(),
 
-                             MaterialId: m.MaterialId(),
 
-                             MaterialCount: m.MaterialCount(),
 
-                             CheckItemId: workCheckItem.CheckItemId(),
 
-                             MaterialCode: m.MaterialCode(),
 
-                             Name: m.Name()
 
-                         };
 
-                     });
 
-                     BWA.api.post('FmsWorkResultCheckItemMaterial/Approval', postData, parameters2).done(function () {
 
-                         refreshMaterialGrid();
 
-                         utils.toast.show($G('successDatabaseInsertionMsg'));
 
-                     });
 
-                 }
 
-                 else {
 
-                     var postData;
 
-                     var parameters2 = {
 
-                         SiteId: workCheckItem.SiteId(),
 
-                         BusinessFieldId: viewModel.dataModel.BusinessFieldId(),
 
-                         WorkRequestId: workCheckItem.WorkRequestId(),
 
-                         CheckItemId: workCheckItem.CheckItemId()
 
-                     };
 
-                     postData = _.map(array, function (m) {
 
-                         return null;
 
-                     });
 
-                     BWA.api.post('FmsWorkResultCheckItemMaterial/Approval', postData, parameters2).done(function () {
 
-                         refreshMaterialGrid();
 
-                         utils.toast.show($G('successDatabaseInsertionMsg'));
 
-                     });
 
-                 }
 
-             }
 
-             var fmsMaterialsdata;
 
-             function refreshMaterialGrid() {
 
-                 //viewModel.workResultCheckItemMaterialPopup.materials2([]);
 
-                 materials2([]);
 
-                 //viewModel.workResultCheckItemMaterialPopup.materials2DataSource.filter([
 
-                 materials2DataSource.filter([
 
-                     eq('SiteId', viewModel.dataModel.SiteId()),
 
-                     and,
 
-                     eq('WorkRequestId', viewModel.dataModel.WorkRequestId())
 
-                 ]);
 
-                 fmsmaterialsDataSource.filter([
 
-                    eq('SiteId', viewModel.dataModel.SiteId())
 
-                 ]);
 
-                 fmsmaterialsDataSource.load().done(function (fmsMaterials) {
 
-                     fmsMaterialsdata = fmsMaterials;
 
-                     materials2DataSource.load().done(function (dbMaterials) {
 
-                         _.each(dbMaterials, function (sm) {
 
-                             var standard = "";
 
-                             for (var i = 0; i < fmsMaterialsdata.length ; i++) {
 
-                                 if (sm.MaterialId() == fmsMaterialsdata[i].MaterialId()) {
 
-                                     standard = fmsMaterialsdata[i].Standard();
 
-                                     if (standard == null)
 
-                                         standard = ""
 
-                                     break;
 
-                                 }
 
-                             }
 
-                             materials2.push({
 
-                                 SiteId: sm.SiteId,
 
-                                 MaterialId: sm.MaterialId,
 
-                                 Name: sm.Name,
 
-                                 Standard: standard,
 
-                                 MaterialCode: sm.MaterialCode,
 
-                                 MaterialCount: sm.MaterialCount
 
-                                 //FinalPrice: sm.FinalPrice,
 
-                             });
 
-                         });
 
-                         //viewModel.workResultCheckItemMaterialPopup.materialGridView2().refresh();
 
-                         if (materialGridView2() != null)
 
-                             materialGridView2().refresh();
 
-                     });
 
-                 });
 
-             }
 
-             
 
-             return {
 
-                 refreshMaterialGrid: refreshMaterialGrid,
 
-                 visible: overlayVisible,
 
-                 materials2: materials2,
 
-                 materialGridView2: materialGridView2,
 
-                 //materials2DataSource : materials2DataSource,
 
-                 //modifiableMaterialDataGridOptions2: modifiableMaterialDataGridOptions2
 
-             };
 
-         }
 
-     }
 
- });
 
 
  |