$(function () { 'use strict'; // viewModel 을 가져오지 못해서 임의로 객체 선언후 할당 var fmsmaterialsDataSource = BemsWebApplication.db.createDataSource('FmsMaterial', true, true, true); var eq = BWA.DataUtil.constructEqualFilter, and = BWA.DataUtil.andFilter, noteq = BWA.DataUtil.constructNotEqualFilter; var endpointSelector = ""; if (BemsWebApplication.config.mode == "production") { endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.production; } else { endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.local; } BemsWebApplication.Popup.AddWorkResultCheckItem = { create: function (viewInfo, viewModel, refreshListData) { var dataModel = null; var IsWorkDone = ko.observable(false); var IsWorkHold = ko.observable(false); var tempViewModel = viewModel; var materials = ko.observableArray(); var materialsEx = ko.observableArray(); var materialFactory = BWA.Factory.Material; var materialGridView; var materialColumns = materialFactory.getColumns([ { dataField: 'MaterialCode', width: '30%' }, { dataField: 'Name', width: '40%' }, { dataField: 'Standard', width: '40%' } ]); var usedMaterialsDataSource = BemsWebApplication.db.createDataSource('FmsWorkResultCheckItemMaterial', true, true, true); var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType'), facilityTypes = ko.observableArray(), isNew = ko.observable(false), MaterialExdataSource = ko.observableArray(), popupVisible = ko.observable(), isEditMode = ko.observable(false), isViewMode = ko.observable(true), cancelButtonVisible = ko.observable(true), // facilityDataModel = new BWA.CmFacilityViewModel(), workCheckItemViewModel = new BemsWebApplication.FmsWorkResultCheckItemViewModel(); workCheckItemViewModel.IsWorkDone = ko.observable(false); workCheckItemViewModel.IsWorkHold = ko.observable(false); workCheckItemViewModel.IsdateboxCheckDate = ko.observable(); workCheckItemViewModel.AttachmentFileName1 = ko.observable(); workCheckItemViewModel.AttachmentFileName2 = ko.observable(); // 2018 01 29 --> var FileEdit = ko.observable(false); var FileView = ko.observable(false); // <-- 2018 01 29 var popupOptions = { width: '998px', height: 'auto', //shading: false, shadingColor: 'rgba(0,0,0,0.0)', visible: popupVisible, closeOnOutsideClick: false, animation: utils.popup.createAnimation(), shownAction: handleViewShown, showingAction: handlePopupShowing, hiddenAction: handlePopuphidden, }, toolbarItems = [ { location: 'before', text: $G('detailInfo') }, // hcLee 2018 01 29 --> { location: 'after', widget: 'button', options: { text: '사진수정', icon: 'edit', visible: FileEdit, clickAction: function () { if (viewModel.isAddHistoryButton() == false) { FileView(false); FileEdit(false); } else { FileView(true); FileEdit(false); isEditMode(!isEditMode()); } } } }, { location: 'after', widget: 'button', options: { //text: '사진보기', icon: 'edit', visible: isEditMode() ? true : false, text: '사진보기', icon: 'edit', visible: FileView, clickAction: function () { if (viewModel.isAddHistoryButton() == false) { FileView(false); FileEdit(false); } else { FileView(false); FileEdit(true); isEditMode(!isEditMode()); setdownLoadUrl(); } } } }, // <-- hcLee 2018 01 29 { location: 'after', widget: 'button', options: { text: $G('materialInsertion'), icon: 'search', visible: viewModel.isAddHistoryButton, clickAction: function () { viewModel.isAddPopup(true); viewModel.materialSearchPopup.show(); } } }, { location: 'after', widget: 'button', options: { text: $G('materialDeletion'), icon: 'remove', type: 'danger', visible: viewModel.isAddHistoryButton, clickAction: function () { handleDeleteSelectedMaterials(); } } }, { location: 'after', widget: 'button', options: { text: $G('edit'), icon: 'edit', visible: viewModel.isEditHistoryButton, clickAction: handlePopupButtonEdit } }, { location: 'after', widget: 'button', options: { text: $G('save'), icon: 'save', visible: viewModel.isAddHistoryButton, clickAction: handlePopupButtonSave } }, { location: 'after', widget: 'button', options: { text: $G('close'), icon: 'close', clickAction: handlePopupButtonClose } } ], modifiableMaterialDataGridOptions = utils.datagrid.defaultOptions({ width: 500, pager: { showPageSizeSelector: false, allowedPageSizes: [] }, dataSource: materials, selection: { mode: 'multiple', allowSelectAll: true }, columns: materialColumns.concat([{ dataField: 'MaterialCount', width: '20%', type: 'number', caption: $G('materialCount'), alignment: 'center', cellTemplate: utils.datagrid.getNumberBoxDataGridTemplateFunc({ min: 0, max: 1000000, dataField: 'MaterialCount', convertValueWhenValueChanged: function (value) { return Math.max(1, value); } }) }]), cellClick: function (e) { utils.datagrid.cellClickEventForDataGridTemplate(e, 'MaterialCount'); }, contentReadyAction: function (e) { materialGridView = e.component; }, }); isEditMode.subscribe(function (isEdit) { isViewMode(!isEdit); }); popupVisible.subscribe(function (value) { if (!value) { materials([]); } }); viewModel.materialSearchPopup = BWA.Popup.Material.create(viewModel, { // TODO : 입고수량이 0 이상인 것을 필터링할 필요는 없는지 확인필요 isMultipleSelect: true, onSelectedMaterials: function (selectedMaterials) { if (viewModel.isAddPopup()) { _.each(selectedMaterials, function (sm) { // 어차피 SiteId와 BusinessField는 동일 할 수 밖에 없으므로 비교하지 않는다. var found = _.some(materials(), function (m) { return (typeof (m.MaterialId) == "function" ? m.MaterialId() : m.MaterialId) === (typeof (sm.MaterialId) == "function" ? sm.MaterialId() : sm.MaterialId); }); if (found) return; if ((typeof (sm.StockCount) == "function" ? sm.StockCount() : sm.StockCount) > 0) { materials.push({ SiteId: sm.SiteId, MaterialId: sm.MaterialId, Name: sm.Name, MaterialCode: sm.MaterialCode, MaterialCount: ko.observable(1), FinalPrice: sm.FinalPrice, MaxMaterialCount: sm.StockCount, Standard: sm.Standard }); } else { utils.toast.show('재고가 없는 항목은 선택할 수 없습니다.', 'warning'); } }); materialGridView.refresh(); } else if (viewModel.isApprovalMode()) { _.each(selectedMaterials, function (sm) { // 어차피 SiteId와 BusinessField는 동일 할 수 밖에 없으므로 비교하지 않는다. var found = _.some(viewModel.workResultCheckItemMaterialPopup.materials2(), function (m) { return (typeof (m.MaterialId) == "function" ? m.MaterialId() : m.MaterialId) === (typeof (sm.MaterialId) == "function" ? sm.MaterialId() : sm.MaterialId); }); if (found) return; viewModel.workResultCheckItemMaterialPopup.materials2.push({ SiteId: sm.SiteId, MaterialId: sm.MaterialId, Name: sm.Name, MaterialCode: sm.MaterialCode, MaterialCount: ko.observable(1), FinalPrice: sm.FinalPrice, MaxMaterialCount: sm.StockCount, Standard: sm.Standard }); }); viewModel.workResultCheckItemMaterialPopup.materialGridView2().refresh(); } } }); function handleDeleteSelectedMaterials() { var rows = materialGridView.getSelectedRowsData(); if (_.isEmpty(rows)) { utils.toast.show('선택된 자재가 없습니다.', 'error'); return; } _.each(rows, function (row) { var array = materials(); var length = array.length; var id = row.MaterialId(); for (var i = 0 ; i < length ; i++) { if (id === array[i].MaterialId()) { materials().splice(i, 1); break; } } }); materialGridView.refresh(); } function handlePopupButtonEdit() { viewModel.isEditHistoryButton(!viewModel.isEditHistoryButton); viewModel.isAddHistoryButton(true); FileView(true); isEditMode(true); } function handlePopupButtonClose() { isEditMode(false); // hcLee 2018 01 29 viewModel.isAddHistoryButton(true); //viewModel.isAddHistoryButton(true);//2019.08.26 popupVisible(false); } function refreshList() { } function getDoneFunc(messageId) { return function () { refreshList(); popupVisible(false); utils.toast.show($G(messageId)); }; } function handlePopupButtonSave() { viewModel.isAddHistoryButton(true); if (workCheckItemViewModel.TextResult() === "") { utils.toast.show('작업내용을 입력하세요.', 'error'); return; } workCheckItemViewModel.SiteId(tempViewModel.dataModel.SiteId()); workCheckItemViewModel.WorkRequestId(tempViewModel.dataModel.WorkRequestId()); if (isNew()) { BWA.db.FmsWorkResultCheckItem.insert({ SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), FacilityCode: workCheckItemViewModel.FacilityCode(), CheckItemId: workCheckItemViewModel.CheckItemId(), BoolResult: workCheckItemViewModel.BoolResult(), TextResult: workCheckItemViewModel.TextResult(), CheckDate: workCheckItemViewModel.CheckDate(), FileId1: workCheckItemViewModel.FileId1(), FileId2: workCheckItemViewModel.FileId2(), } ).done(function (response, responseKey) { ///////////////////////2019-11-19 변경 if (responseKey.CheckItemId != null) workCheckItemViewModel.CheckItemId(responseKey.CheckItemId); if (_.isNull(viewModel.dropZone1) === false) { //추가 if (workCheckItemViewModel.FileId1() == null) { viewModel.dropZone1.processQueue(); refreshListData(); } } if (_.isNull(viewModel.dropZone2) === false) { //추가 if (workCheckItemViewModel.FileId2() == null) { viewModel.dropZone2.processQueue(); refreshListData(); } } ///////////////////////2019-11-19 변경 // 작업을 완료처리 할 경우 if (workCheckItemViewModel.IsWorkDone()) { var parameters = { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), WorkProgressId: $Code.WorkProgress.WORK_COMPLETE, UserId: BWA.UserInfo.UserId() }; //fmsreesult enddate 변경 var store = new DevExpress.data.ODataStore({ url: endpointSelector + "/FmsWorkResult", key: ["SiteId", "WorkRequestId"], keyType: { SiteId: "Int32", WorkRequestId: "Int32" } }); store.update({ SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId() }, { EndDate: workCheckItemViewModel.IsdateboxCheckDate() }).done(function (values, key) { // FmsWorkRequest 업데이트: WorkProgressId(5) BWA.api.post('FmsWorkRequest', null, parameters).done(function () { tempViewModel.dataModel.WorkProgressName('작업완료'); var array = materials(); if (array.length != 0) { var postData; var parameters2 = { SiteId: workCheckItemViewModel.SiteId(), BusinessFieldId: tempViewModel.dataModel.BusinessFieldId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), CheckItemId: responseKey.CheckItemId }; postData = _.map(array, function (m) { return { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), MaterialId: m.MaterialId(), MaterialCount: m.MaterialCount(), CheckItemId: responseKey.CheckItemId, MaterialCode: m.MaterialCode(), Name: m.Name() }; }); // FmsWorkResultCheckItemMaterial 에 저장해야 함 BWA.api.post('FmsWorkResultCheckItemMaterial/Update', postData, parameters2).done(function () { utils.toast.show($G('successDatabaseInsertionMsg')); materials([]); isEditMode(false); popupVisible(false); refreshListData(); // hcLee 2018 01 29 // hcLee 2016 05 30 viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid(); // 작업이력버튼 표시 안함 viewModel.isAddHistoryButton(false); viewModel.popupVisible(false); // 작업완료는 화면 닫음 }); } else { utils.toast.show($G('successDatabaseInsertionMsg')); isEditMode(false); refreshListData(); // hcLee 2018 01 29 popupVisible(false); // 작업이력버튼 표시 안함 viewModel.isAddHistoryButton(false); viewModel.popupVisible(false); // 작업완료는 화면 닫음 } utils.toast.show($G('successDatabaseUpdateMsg')); workCheckItemViewModel.CheckDate(''); workCheckItemViewModel.TextResult(''); workCheckItemViewModel.IsWorkDone(false); refreshListData(); // hcLee 2018 01 29 viewModel.popupVisible(false); // 작업완료는 화면 닫음 }); }) .fail(function (error) { utils.toast.show(error); }); } else if (workCheckItemViewModel.IsWorkHold()) { var parameters = { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), WorkProgressId: $Code.WorkProgress.WORK_HOLD, UserId: BWA.UserInfo.UserId() }; // FmsWorkRequest 업데이트: WorkProgressId(5) BWA.api.post('FmsWorkRequest', null, parameters).done(function () { tempViewModel.dataModel.WorkProgressName('작업보류'); var array = materials(); if (array.length != 0) { var postData; var parameters2 = { SiteId: workCheckItemViewModel.SiteId(), BusinessFieldId: tempViewModel.dataModel.BusinessFieldId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), CheckItemId: responseKey.CheckItemId }; postData = _.map(array, function (m) { return { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), MaterialId: m.MaterialId(), MaterialCount: m.MaterialCount(), CheckItemId: responseKey.CheckItemId, MaterialCode: m.MaterialCode(), Name: m.Name() }; }); // FmsWorkResultCheckItemMaterial 에 저장해야 함 BWA.api.post('FmsWorkResultCheckItemMaterial/Update', postData, parameters2).done(function () { utils.toast.show($G('successDatabaseInsertionMsg')); isEditMode(false); materials([]); refreshListData(); // hcLee 2018 01 29 popupVisible(false); // hcLee 2016 05 30 viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid(); }); } else { utils.toast.show($G('successDatabaseInsertionMsg')); isEditMode(false); refreshListData(); // hcLee 2018 01 29 popupVisible(false); } viewModel.popupVisible(false); }); } else { var array = materials(); if (array.length != 0) { var postData; var parameters2 = { SiteId: workCheckItemViewModel.SiteId(), BusinessFieldId: tempViewModel.dataModel.BusinessFieldId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), CheckItemId: responseKey.CheckItemId }; postData = _.map(array, function (m) { return { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), MaterialId: (typeof (m.MaterialId) == "function" ? m.MaterialId() : m.MaterialId), MaterialCount: m.MaterialCount(), CheckItemId: responseKey.CheckItemId, MaterialCode: (typeof (m.MaterialCode) == "function" ? m.MaterialCode() : m.MaterialCode), Name: (typeof (m.Name) == "function" ? m.Name() : m.Name) }; }); // FmsWorkResultCheckItemMaterial 에 저장해야 함 BWA.api.post('FmsWorkResultCheckItemMaterial/Update', postData, parameters2).done(function () { utils.toast.show($G('successDatabaseInsertionMsg')); isEditMode(false); materials([]); refreshListData(); // hcLee 2018 01 29 popupVisible(false); viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid(); }); } else { utils.toast.show($G('successDatabaseInsertionMsg')); isEditMode(false); refreshListData(); // hcLee 2018 01 29 popupVisible(false); } } }); } else { // 수정? hcLee 2015 12 28 var keys = BWA.db.extractKeysObject('FmsWorkResultCheckItem', workCheckItemViewModel); BWA.db.FmsWorkResultCheckItem.update(keys, { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), FacilityCode: workCheckItemViewModel.FacilityCode(), CheckItemId: workCheckItemViewModel.CheckItemId(), BoolResult: workCheckItemViewModel.BoolResult(), TextResult: workCheckItemViewModel.TextResult(), CheckDate: workCheckItemViewModel.CheckDate(), FileId1: workCheckItemViewModel.FileId1(), FileId2: workCheckItemViewModel.FileId2(), }).done(function (res) { ///////////////////////2019-11-19 변경 if (res.CheckItemId != null) workCheckItemViewModel.CheckItemId(res.CheckItemId); if (_.isNull(viewModel.dropZone1) === false) { if (workCheckItemViewModel.FileId1() != null) { //변경 - 그림삭제 var temp = { SiteId: BWA.UserInfo.SiteId(), FileId: workCheckItemViewModel.FileId1() } BWA.db.CmFile.byKey(temp).done(function (data) { viewModel.dropZone1.removeFile(data); viewModel.dropZone1.processQueue(); refreshListData(); }); } else { viewModel.dropZone1.processQueue();//변경 - 그림 삭제 필요없음 refreshListData(); } } if (_.isNull(viewModel.dropZone2) === false) { if (workCheckItemViewModel.FileId2() != null) { //변경 - 그림삭제 var temp = { SiteId: BWA.UserInfo.SiteId(), FileId: workCheckItemViewModel.FileId2() } BWA.db.CmFile.byKey(temp).done(function (data) { viewModel.dropZone2.removeFile(data); viewModel.dropZone2.processQueue(); refreshListData(); }); } else { viewModel.dropZone2.processQueue();//변경 - 그림 삭제 필요없음 refreshListData(); } } ///////////////////////2019-11-19 변경 // 작업을 완료처리 할 경우 if (workCheckItemViewModel.IsWorkDone()) { var parameters = { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), WorkProgressId: $Code.WorkProgress.WORK_COMPLETE, UserId: BWA.UserInfo.UserId() }; // FmsWorkRequest 업데이트: WorkProgressId(5) BWA.api.post('FmsWorkRequest', null, parameters).done(function () { var array = materials(); //if (array.length != 0) { var postData; var parameters2 = { SiteId: workCheckItemViewModel.SiteId(), BusinessFieldId: tempViewModel.dataModel.BusinessFieldId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), CheckItemId: workCheckItemViewModel.CheckItemId() }; postData = _.map(array, function (m) { return { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), MaterialId: (typeof (m.MaterialId) == "function" ? m.MaterialId() : m.MaterialId), MaterialCount: m.MaterialCount(), CheckItemId: workCheckItemViewModel.CheckItemId(), MaterialCode: (typeof (m.MaterialCode) == "function" ? m.MaterialCode() : m.MaterialCode), Name: (typeof (m.Name) == "function" ? m.Name() : m.Name) }; }); // FmsWorkResultCheckItemMaterial 에 저장해야 함 BWA.api.post('FmsWorkResultCheckItemMaterial/Update', postData, parameters2).done(function () { utils.toast.show($G('successDatabaseInsertionMsg')); isEditMode(false); materials([]); refreshListData(); // hcLee 2018 01 29 popupVisible(false); // 작업이력버튼 표시 안함 viewModel.isAddHistoryButton(false); // hcLee 2016 05 30 viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid(); }); //} //else { // utils.toast.show($G('successDatabaseInsertionMsg')); // refreshListData(); // hcLee 2018 01 29 // popupVisible(false); // // 작업이력버튼 표시 안함 // viewModel.isAddHistoryButton(false); //} utils.toast.show($G('successDatabaseUpdateMsg')); workCheckItemViewModel.CheckDate(''); workCheckItemViewModel.TextResult(''); workCheckItemViewModel.IsWorkDone(false); }); } else { var array = materials(); var postData; var parameters2 = { SiteId: workCheckItemViewModel.SiteId(), BusinessFieldId: tempViewModel.dataModel.BusinessFieldId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), CheckItemId: workCheckItemViewModel.CheckItemId() }; postData = _.map(array, function (m) { return { SiteId: workCheckItemViewModel.SiteId(), WorkRequestId: workCheckItemViewModel.WorkRequestId(), MaterialId: m.MaterialId(), MaterialCount: m.MaterialCount(), CheckItemId: workCheckItemViewModel.CheckItemId(), MaterialCode: m.MaterialCode(), Name: m.Name() }; }); // FmsWorkResultCheckItemMaterial 에 저장해야 함 BWA.api.post('FmsWorkResultCheckItemMaterial/Update', postData, parameters2).done(function () { isEditMode(false); utils.toast.show($G('successDatabaseInsertionMsg')); materials([]); refreshListData(); // hcLee 2018 01 29 popupVisible(false); // hcLee 2016 05 30 viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid(); }); } }); } } function handleViewShowing() { viewModel.imagefileUrl1(null); viewModel.imagefileUrl2(null); } function handleViewShown() { if (!isNew()) { // hcLee 2018 01 29 --> if (viewModel.isAddHistoryButton() == false) { FileView(false); FileEdit(false); } else { FileView(false); FileEdit(true); } isEditMode(false); // <-- hcLee 2018 01 29 // 중요 !!! hcLee 2015 12 29 usedMaterialsDataSource.filter([ eq('SiteId', workCheckItemViewModel.SiteId()), and, eq('WorkRequestId', workCheckItemViewModel.WorkRequestId()), and, eq('CheckItemId', workCheckItemViewModel.CheckItemId()) ]); ////////////// fmsmaterialsDataSource.filter([ eq('SiteId', viewModel.dataModel.SiteId()) ]); var fmsMaterialsdata; fmsmaterialsDataSource.load().done(function (fmsMaterials) { fmsMaterialsdata = fmsMaterials; usedMaterialsDataSource.load().done(function (dbMaterials) { _.each(dbMaterials, function (sm) { var standard = ""; var StockCount = null; for (var i = 0; i < fmsMaterialsdata.length ; i++) { if (sm.MaterialId() == fmsMaterialsdata[i].MaterialId()) { standard = fmsMaterialsdata[i].Standard(); if (standard == null) standard = "" break; } } if (viewModel.dataModel.MaterialExdataSource() != null) MaterialExdataSource(viewModel.dataModel.MaterialExdataSource()) if (MaterialExdataSource() !== null) { for (var i = 0; i < MaterialExdataSource().length; i++) { if (sm.MaterialId() == MaterialExdataSource()[i].MaterialId) { StockCount = MaterialExdataSource()[i].StockCount; break; } } } if (StockCount == null) { materials.push({ SiteId: sm.SiteId, MaterialId: sm.MaterialId, Name: sm.Name, MaterialCode: sm.MaterialCode, MaterialCount: sm.MaterialCount, Standard: standard, }); } else { materials.push({ SiteId: sm.SiteId, MaterialId: sm.MaterialId, Name: sm.Name, MaterialCode: sm.MaterialCode, MaterialCount: sm.MaterialCount, MaxMaterialCount: StockCount, Standard: standard, }); } }); materialGridView.refresh(); //viewModel.workResultCheckItemMaterialPopup.materialGridView2().refresh(); }); setdownLoadUrl(); }); }// hcLee 2018 01 29 --> else { // 새이력 viewModel.imagefileUrl1(null); viewModel.imagefileUrl2(null); if (viewModel.isAddHistoryButton() == false) { FileView(false); FileEdit(false); isEditMode(false); } else { FileView(true); FileEdit(false); isEditMode(true); } } // <-- hcLee 2018 01 29 } function handlePopupShowing() { $("#gridContainer3").dxDataGrid({ paging: { pageSize: 7, enabled: true } }); } function handlePopuphidden() { //viewModel.isAddHistoryButton(true);//2019.08.26 } // hcLee 2018 01 29 --> function setdownLoadUrl() { if (_.isNull(viewModel.workCheckItemViewModel.FileId1()) === false) { viewModel.imagefileUrl1('{0}/CmFile(SiteId={1},FileId={2})/$value'.formati(BWA.db._url, BWA.UserInfo.SiteId(), viewModel.workCheckItemViewModel.FileId1())); } else { viewModel.imagefileUrl1(undefined); } if (_.isNull(viewModel.workCheckItemViewModel.FileId2()) === false) { viewModel.imagefileUrl2('{0}/CmFile(SiteId={1},FileId={2})/$value'.formati(BWA.db._url, BWA.UserInfo.SiteId(), viewModel.workCheckItemViewModel.FileId2())); } else { viewModel.imagefileUrl2(undefined); } } // <-- hcLee 2018 01 29 viewModel.workCheckItemViewModel = workCheckItemViewModel; return { IsWorkDone: IsWorkDone, IsWorkHold: IsWorkHold, modifiableMaterialDataGridOptions: modifiableMaterialDataGridOptions, workCheckItemViewModel: workCheckItemViewModel, popupVisible: popupVisible, isNew: isNew, MaterialExdataSource: MaterialExdataSource, isEditMode: isEditMode, // hcLee 2018 01 29 --> FileEdit: FileEdit, FileView: FileView, setdownLoadUrl: setdownLoadUrl, // <-- hcLee 2018 01 29 options: popupOptions, toolbarItems: toolbarItems, handlePopupButtonSave: handlePopupButtonSave, handleViewShown: handleViewShown, handleViewShowing: handleViewShowing, handlePopupShowing: handlePopupShowing, dataModel: dataModel, switchWorkDone: function (e) { if (workCheckItemViewModel.IsWorkDone()) { workCheckItemViewModel.IsWorkHold(false); } }, switchWorkHold: function (e) { if (workCheckItemViewModel.IsWorkDone()) { workCheckItemViewModel.IsWorkHold(false); } }, dateboxCheckDate: function (e) { if (e.value == "") var time = e.previousValue; else var time = e.value; workCheckItemViewModel.IsdateboxCheckDate(new Date(time.getFullYear(), time.getMonth(), time.getDate())); }, show: function () { popupVisible(true); } }; } } });