| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | $(function() {    BemsWebApplication.Factory.WorkOrderPopup = {        create: function(viewModel, targetFacilities, workOrderDataModel, popupVisible, editObservable, dataGridOptions) {            var tabIndex = ko.observable(0);            viewModel.tabsOptionsInWorkOrderPopup = {                dataSource: [                    { text: '작업지시' },                    { text: '대상시설' }                ],                selectedIndex: tabIndex            };            var id = 'gridFacilityContainerInWorkOrder';            targetFacilities.subscribe(function(value) {                //$( '#gridFacilityContainerInWorkRequest' ).dxDataGrid( 'instance' ).refresh();            });            viewModel.multiViewOptionsInWorkOrderPopup = {                dataSource: [                    {                        viewModel: viewModel,                        dataModel: workOrderDataModel,                        template: 'workOrder'                    },                    {                        viewModel: viewModel,                        dataGridOptions: $.extend({                            selection: { mode: 'multiple', allowSelectAll: true }                        }, dataGridOptions),                        template: 'targetFacility'                    }                ],                swipeEnabled: true,                selectedIndex: tabIndex,                height: '600px'            };            viewModel.handleButtonAddFacility = function() {                viewModel.facilitySearchPopup.show();            }            viewModel.handleButtonRemoveFacility = function() {                var selectedRows = utils.datagrid.getSelectedRowsData(id);                selectedRows.forEach(function(row) {                    targetFacilities.remove(row);                    //var index = targetFacilities.indexOf( row );                    //if( index >= 0 ) {                    //    targetFacilities.remove( index );                    //}                });            }            viewModel.toolbarItemsInWorkOrderPopup = [                { location: 'before', text: $G('workOrder') },                { location: 'after', widget: 'button', options: { text: $G('setup'), icon: 'save', clickAction: handleWorkOrderPopupButtonSave } },                { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: function() { popupVisible(false); } } }            ];            viewModel.popupOptionsInWorkOrder = {                width: '680px',                height: 'auto',                visible: popupVisible,                closeOnOutsideClick: false,                animation: utils.popup.createAnimation()            };            var selectedFacilityData = ko.observableArray();            selectedFacilityData.subscribe(function(facilities) {                facilities.forEach(function(f) {                    if (targetFacilities().some(function(x) {                        return f.FacilityCode() === x.FacilityCode();                    }) === false) {                        targetFacilities.push(f);                    }                });            });            viewModel.facilitySearchPopup = BWA.Popup.Facility.create(viewModel, selectedFacilityData, {                isMultipleSelect: true,            });            function handleWorkOrderPopupButtonSave() {                var $$ = BemsWebApplication;                var deferred = new $.Deferred();                if (editObservable()) {                    var keys = $$.db.extractKeysObject('FmsWorkOrder', workOrderDataModel);                    $$.db.FmsWorkOrder.update(keys, workOrderDataModel.toJS()).done(function() {                        popupVisible(false);                        deferred.resolve(keys);                    });                }                else {                    workOrderDataModel.SiteId(BWA.UserInfo.SiteId());                    workOrderDataModel.RequestId(viewModel.dataModel.RequestId());                    workOrderDataModel.OrderedDate(moment().toDate());                    workOrderDataModel.OrderUserId(BWA.UserInfo.UserId());                    $$.db.FmsWorkOrder.insert(workOrderDataModel.toJS()).done(function(values, keys) {                        viewModel.dataModel.ProgressId($Code.WorkProgress.WorkOrder);                        viewModel.update(false);                        deferred.resolve(keys);                        popupVisible(false);                        viewModel.popupVisible(false);                    });                }                deferred.promise().done(function(keys) {                    console.log(keys);                    BemsWebApplication.api.postWithArray(                            'FmsWorkOrderToFacility',                            targetFacilities,                            $.extend(keys, {                                FacilityCode: null,                                ProgressId: $Code.WorkProgress.WorkStandby                            }), ['ProgressId'])                        .done(function() {                            utils.toast.show($G('successDatabaseProcessMsg'));                        });                });            }        }    }});
 |