123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- $(function () {
- 'use strict';
- BemsWebApplication.Popup.CurrentWork = {
- create: function (viewInfo, viewModel) {
- var facilitiesInView = ko.observableArray();
- var facilityFactory = BWA.Factory.Facility;
- var popupVisible = ko.observable();
- var IsConfirmJob = ko.observable(false);
- var eq = BWA.DataUtil.constructEqualFilter;
- var and = BWA.DataUtil.andFilter;
- var facilityDataSource = facilityFactory.getBasicDataSourceRef({
- dbModeIId: 'FmsWorkResultToFacility',
- primaryKeyDataField: 'WorkRequestId'
- });
- //var workResultCheckItemDataSource = BemsWebApplication.db.createDataSource('FmsWorkResultCheckItem', true, true, false, true); // 2018 01 29 hcLee
- var workResultCheckItemDataSource = BWA.DataUtil.createDataSource({ // 2018 01 29 hcLee -->
- dataSourceOptions: {
- paginate: false,
- select: [
- 'SiteId', 'WorkRequestId',
- 'FacilityCode',
- 'CheckItemId',
- 'BoolResult',
- 'TextResult',
- 'CheckDate',
- 'FileId1',
- 'FileId2',
- 'CmFile/Name',
- 'CmFile1/Name',
- ],
- expand: [
- 'CmFile',
- 'CmFile1'],
- extendOptions: {
- forceOriginalField: true
- },
- }
- }, 'FmsWorkResultCheckItem'); // <-- 2018 01 29 hcLee
- var workResultCheckItems = ko.observableArray();
- //var selectedItemCheckDate = ko.observable();
- //var selectedItemTextResult = ko.observable();
- 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());
- //viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName1(e.itemData['CmFile/Name']());
- (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.isAddHistoryButton(false);
- viewModel.isEditHistoryButton(true);
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(viewModel.isWorkDone());
- if (viewModel.isWorkHold != undefined)
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkHold(viewModel.isWorkHold());
- /*
- if (viewModel.isWorkDone()) {
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(true);
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkHold(false);
- }
- if (viewModel.isAddHistoryButton()) {
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(false);
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkHold(false);
- }
- else {
- if (viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkHold())
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(false);
- else
- viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(true);
- }*/
- viewModel.addWorkResultCheckItemPopup.show();
- }
- }
- function handleBeforePopupShowingPromise(isNewInPopup, dataViewModel, clickRowData) {
- var workProgressId;
- if (isNewInPopup()) {
- workProgressId = $Code.WorkProgress.WORK_PLAN;
- }
- else {
- workProgressId = clickRowData['FmsWorkRequest/WorkProgressId'](); // clickRowData.WorkProgressId();
- dataViewModel.WorkProgressId = ko.observable();
- dataViewModel.WorkProgressId(workProgressId);
- }
- }
- function handlePopupShowing(isNewInPopup, dataModel, selectedData) {
- viewModel.dataModel.selectedItemCheckDate("");
- viewModel.dataModel.selectedItemTextResult("");
- viewModel.dataModel.selectedItemCheckItemId(0);
- viewModel.dataModel.FacilityList("");
- viewModel.dataModel.FacilityListValueOnOff(false);
- viewModel.imagefileUrl1(null);
- viewModel.imagefileUrl2(null);
- //if (viewModel.workResultCheckItemMaterialPopup === undefined) { return; }
- //viewModel.workResultCheckItemMaterialPopup.materials2([]);
- }
- function handlePopupShown(isEditMode, isNew, dataViewModel) {
- viewModel.imagefileUrl1(null);
- viewModel.imagefileUrl2(null);
- }
- function searchpopup() {
- viewModel.WorkResultCheckItemFacilityPopup.selectedFacility(viewModel.dataModel);
- viewModel.WorkResultCheckItemFacilityPopup.visible(true);
- }
- 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 += (i + 1) + ". " + dbFacilities[i].Name();
- if (i + 1 == dbFacilities.length) { break; }
- facilityList += '\n';
- }
- if (facilityList == "") {
- viewModel.dataModel.FacilityListValueOnOff(false);
- }
- else {
- viewModel.dataModel.FacilityListValueOnOff(true);
- }
- viewModel.dataModel.FacilityList(facilityList);
- });
- refreshListData();
- refreshMaterialGrid();
- }
- function refreshMaterialGrid() {
- viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid();
- }
- function refreshListData() {
- // hcLee 2018 01 29
- workResultCheckItemDataSource.filter([
- eq('SiteId', viewModel.dataModel.SiteId()),
- and,
- eq('WorkRequestId', viewModel.dataModel.WorkRequestId())
- ]);
- $.when(workResultCheckItemDataSource.load())
- .done(function (dbWorkCheckItems) {
- workResultCheckItems(dbWorkCheckItems);
- });
- /*
- workResultCheckItemDataSource.load().done(function (dbWorkCheckItems) {
- workResultCheckItems(dbWorkCheckItems);
- });*/
- // <-- hcLee 2018 01 29
- // 해결방안 : 이전에 수정하고 있던 이력항목을 "작업이력수정" 버튼을 누른 이후에도 계속 화면에 표시하였으면 함.
- // 위 건으로 인하여 데이터 초기화 하지 않음
- //viewModel.dataModel.selectedItemCheckDate("");
- //viewModel.dataModel.selectedItemTextResult("");
- //viewModel.dataModel.selectedItemCheckItemId(0);
- }
- function handleBeforeShowingPopupForEdit(rowData, dataViewModel) {
- dataViewModel.Title(rowData['FmsWorkOrder/Title']());
- dataViewModel.BusinessFieldName(rowData['FmsWorkRequest/CmBusinessField/Name']());
- dataViewModel.WorkTypeName(rowData['FmsWorkRequest/FmsWorkCodeType/Name']());
- dataViewModel.WorkerUserName(rowData['CmUser/Name']());
- dataViewModel.workDueDate(rowData['FmsWorkRequest/StartWorkDate']());
- if (rowData['CmUser1/Name'] !== undefined) {
- dataViewModel.ConfirmedUserName(rowData['CmUser1/Name']());
- }
- dataViewModel.WorkProgressName(rowData['FmsWorkRequest/FmsWorkCodeProgress/Name']());
- dataViewModel.OrderDate(rowData['FmsWorkOrder/OrderDate']());
- if (rowData['FmsWorkOrder/Content'] !== undefined) {
- dataViewModel.OrderContent(rowData['FmsWorkOrder/Content']());
- }
- if (rowData['FmsWorkRequest/Content'] !== undefined) {
- dataViewModel.RequestContent(rowData['FmsWorkRequest/Content']());
- }
- }
- viewModel.dataModel.Title = ko.observable();
- viewModel.dataModel.BusinessFieldName = ko.observable();
- viewModel.dataModel.WorkTypeName = ko.observable();
- viewModel.dataModel.WorkerUserName = ko.observable();
- viewModel.dataModel.OrderContent = ko.observable();
- viewModel.dataModel.RequestContent = ko.observable();
- viewModel.dataModel.workDueDate = ko.observable();
- viewModel.dataModel.ConfirmedUserName = ko.observable();
- viewModel.dataModel.WorkProgressName = ko.observable();
- viewModel.dataModel.OrderDate = ko.observable();
- viewModel.dataModel.FacilityListValueOnOff = ko.observable();
- viewModel.dataModel.FacilityList = ko.observable();
- viewModel.dataModel.selectedItemCheckDate = ko.observable();
- viewModel.dataModel.selectedItemTextResult = ko.observable();
- viewModel.dataModel.selectedItemCheckItemId = ko.observable();
- viewModel.workResultCheckItems = workResultCheckItems;
- viewModel.onItemClick = onItemClick;
- viewModel.IsConfirmJob = IsConfirmJob;
- //viewModel.refreshListData = refreshListData;
- viewModel.searchpopup = searchpopup;
- function sleep(ms) {
- var ts1, ts2 = null;
- ts1 = new Date().getTime() + ms;
- do ts2 = new Date().getTime(); while (ts2 < ts1);
- }
- return {
- workResultCheckItems: workResultCheckItems,
- refreshListData: refreshListData,
- popupVisible: popupVisible,
- handleAfterLoadingModelByKey: handleAfterLoadingModelByKey,
- handlePopupShowing: handlePopupShowing,
- handlePopupShown: handlePopupShown,
- handleBeforeShowingPopupForEdit: handleBeforeShowingPopupForEdit,
- handleBeforePopupShowingPromise: handleBeforePopupShowingPromise,
- IsConfirmJob: IsConfirmJob
- };
- }
- }
- });
|