| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 | $(function () {    'use strict';    BemsWebApplication.Popup.FacilityWorkHistory2 = {        create: function (viewInfo, viewModel) {            var eq = BWA.DataUtil.constructEqualFilter;            var and = BWA.DataUtil.andFilter;            var popupVisible = ko.observable();            //var workResultCheckItemDataSource = BemsWebApplication.db.createDataSource('FmsWorkResultCheckItem', true, true, false, true);            var workResultCheckItemDataSource = BWA.DataUtil.createDataSource({                dataSourceOptions: {                    select: [                        'SiteId',                        'WorkRequestId',                        'FacilityCode',                        'CheckItemId',                        'BoolResult',                        'TextResult',                        'CheckDate',                        'FileId1',                        'FileId2',                        'CmFile/Name',                        'FmsWorkResult/CmUser/Name',                    ],                    expand: ["FmsWorkResult", "FmsWorkResult/CmUser", 'CmFile', 'CmFile1'],                    extendOptions: {                        forceOriginalField: true,                        alterNames: {                            'FmsWorkResult/CmUser/Name': 'WorkerUserName'                        }                    },                }            }, 'FmsWorkResultCheckItem');            var workResultCheckItems = ko.observableArray();            function isValidateWithFunction(errorMessage) {                if (_.isEmpty(facilities())) {                    errorMessage.message = '점검을 위한 시설이 없습니다.';                    return false;                }                return true;            }            function onItemClick(e) {                if (viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel !== undefined) {                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.CheckItemId(e.itemData.CheckItemId());                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.CheckDate(e.itemData.CheckDate());                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.TextResult(e.itemData.TextResult());                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.SiteId(e.itemData.SiteId());                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.WorkRequestId(e.itemData.WorkRequestId());                    // hcLee 2018 01 29 -->                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.FileId1(e.itemData.FileId1());                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.FileId2(e.itemData.FileId2());                    (e.itemData.FileId1() != null) ? viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName1(e.itemData['CmFile/Name']()) : viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName1(null);                    (e.itemData.FileId2() != null) ? viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName2(e.itemData['CmFile1/Name']()) : viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName2(null);                    // <-- hcLee 2018 01 29                                        viewModel.addWorkResultCheckItemPopup.isNew(false);                    viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(viewModel.isWorkDone());// hcLee 2016 04 04                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkHold(viewModel.isWorkHold());// hcLee 2016 04 04                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.isAddHistoryButton = ko.observable(false);                    viewModel.addWorkResultCheckItemPopup.show();                }            }            function handlePopupShowing(isNewInPopup, dataModel, selectedData) {                viewModel.dataModel.selectedItemCheckDate("");                viewModel.dataModel.selectedItemTextResult("");                viewModel.dataModel.selectedItemCheckItemId(0);                viewModel.dataModel.FacilityList("");            }            function handlePopupShown(isEditMode, isNew, dataViewModel) {                workResultCheckItemDataSource.filter([                   eq('SiteId', dataViewModel.SiteId()),                   and,                   eq('WorkRequestId', dataViewModel.WorkRequestId())                ]);                workResultCheckItemDataSource.load().done(function (dbWorkCheckItems) {                    workResultCheckItems(dbWorkCheckItems);                });            }            function refreshListData() {                workResultCheckItemDataSource.filter([                   eq('SiteId', viewModel.dataModel.SiteId()),                   and,                   eq('WorkRequestId', viewModel.dataModel.WorkRequestId())                ]);                workResultCheckItemDataSource.load().done(function (dbWorkCheckItems) {                    workResultCheckItems(dbWorkCheckItems);                });                viewModel.dataModel.selectedItemCheckDate("");                viewModel.dataModel.selectedItemTextResult("");                viewModel.dataModel.selectedItemCheckItemId(0);            }            function handleAfterLoadingModelByKey(data, dataViewModel, isNewInPopup) {                // 작업지시 세부 내용은 수정/삭제 할 수 없음                 viewModel.visibleEditButton(false);                viewModel.visibleDeleteButton(false);                facilityDataSource.filter([                    eq('SiteId', dataViewModel.SiteId()),                    and,                    eq('WorkRequestId', dataViewModel.WorkRequestId())                ]);                facilityDataSource.load().done(function (dbFacilities) {                    facilitiesInView(dbFacilities);                    var facilityList = "";                    for (var i = 0; i < dbFacilities.length; i++) {                        facilityList += dbFacilities[i].Name();                        if (i + 1 == dbFacilities.length) { break; }                        facilityList += " , ";                    }                    viewModel.dataModel.FacilityList(facilityList);                });                refreshListData();                viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid();            }            function handleBeforeShowingPopupForEdit(rowData, dataViewModel) {                dataViewModel.workDueDate($KoValue(rowData['FmsWorkOrder/FmsWorkRequest/StartWorkDate']));                dataViewModel.WorkerUserName(rowData['FmsWorkOrder/FmsWorkResult/CmUser/Name']());                dataViewModel.FacilityName(rowData['CmFacility/Name']());                dataViewModel.BusinessFieldName(rowData['FmsWorkOrder/FmsWorkRequest/CmBusinessField/Name']());                dataViewModel.WorkTypeName(rowData['FmsWorkOrder/FmsWorkRequest/FmsWorkCodeType/Name']());                dataViewModel.WorkProgressName(rowData['FmsWorkOrder/FmsWorkRequest/FmsWorkCodeProgress/Name']());                dataViewModel.OrderUserName(rowData['FmsWorkOrder/CmUser/Name']());                dataViewModel.RejectUserName($KoValue(rowData['FmsWorkOrder/CmUser1/Name']));                dataViewModel.OrderDate = $KoSet(dataViewModel.OrderDate, rowData['FmsWorkOrder/OrderDate']);                dataViewModel.StartWorkDate = $KoSet(dataViewModel.StartWorkDate, rowData['FmsWorkOrder/StartWorkDate']);                dataViewModel.EndDate = $KoSet(dataViewModel.EndDate, rowData['FmsWorkOrder/FmsWorkResult/EndDate']);                dataViewModel.Title = $KoSet(dataViewModel.Title, rowData['FmsWorkOrder/Title']);                dataViewModel.Content = $KoSet(dataViewModel.Content, rowData['FmsWorkOrder/Content']);            }            //viewModel.popupVisible.subscribe(function (visible) {            //    //if (!visible) { facilitiesInView([]); }            //});            viewModel.dataModel.workDueDate = ko.observable();            viewModel.dataModel.WorkerUserName = ko.observable();            viewModel.dataModel.FacilityName = ko.observable();            viewModel.dataModel.selectedItemCheckDate = ko.observable();            viewModel.dataModel.selectedItemTextResult = ko.observable();            viewModel.dataModel.selectedItemCheckItemId = ko.observable();            viewModel.dataModel.WorkTypeName = ko.observable();            viewModel.dataModel.BusinessFieldName = ko.observable();            viewModel.dataModel.OrderUserName = ko.observable();            viewModel.dataModel.RejectUserName = ko.observable();            viewModel.dataModel.WorkProgressName = ko.observable();            viewModel.refreshListData = refreshListData;            viewModel.workResultCheckItems = workResultCheckItems;            viewModel.onItemClick = onItemClick;            viewModel.dataModel.FacilityList = ko.observable();            viewModel.addWorkResultCheckItemPopup.popupVisible.subscribe(function (visible) {                if (!visible) {                    refreshListData();                }            });            return {                workResultCheckItems: workResultCheckItems,                isValidateWithFunction: isValidateWithFunction,                handlePopupShowing: handlePopupShowing,                handlePopupShown: handlePopupShown,                popupVisible: popupVisible,                handleBeforeShowingPopupForEdit: handleBeforeShowingPopupForEdit,                refreshListData: refreshListData,                handleAfterLoadingModelByKey: handleAfterLoadingModelByKey,            };        }    }});
 |