123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418 |
- $(function () {
- "use strict";
- var TEXTAREA_HEIGHT_MAX = 420,
- TEXTAREA_HEIGHT_MIN = 240;
- var dropZone = null;
- var historyViewModel = new BemsWebApplication.FmsDrawingHistoryViewModel();
-
- var uploadedFileInfo = {};
- //2019-11-25 변경
- var backUpFileId = null;
- var eq = BWA.DataUtil.constructEqualFilter;
- var and = BWA.DataUtil.andFilter;
- var drawingHistoryDataSource = BemsWebApplication.DataUtil.createDataSource({
- dataSourceOptions: {
- select: [
- 'SiteId', 'DrawingId', 'HistoryId', 'FileId', 'Description', 'RevisionNo',
- 'UpdatedDate', 'UpdatedUserId',
- 'CmFile/Name', 'CmFile/FileSize', 'CmUser/Name'
- ],
- expand: ['CmFile', 'CmUser'],
- extendOptions: {
- forceOriginalField: true
- }
- }
- }, 'FmsDrawingHistory');
- //2019-11-25 변경
- BWA.Popup = BWA.Popup || {};
- BWA.Popup.DrawingHistory = {
- create: function (viewModel, params, drawingHistories, reloadDrawingHistory) {
- // 다운로드 기능은 다른 창으로 url를 열면 될 듯하다.
- var drawingId = viewModel.dataModel.DrawingId,
- // hcLee 2016 03 28
- // textAreaHeightInPopup = ko.observable(),
- popupVisible = ko.observable(false),
- position = ko.observable(),
- isNewData = ko.observable(false),
- IsPrevImg = ko.observable(false),
- RowHistoryId = null,
- // textAreaHistoryNoteHeight = ko.observable(TEXTAREA_HEIGHT_MAX),
- uploadedFileInfo = {},
- isVisibleDropZone = ko.observable('hidden'),
- isEditMode = ko.observable(false),
- //isVisibleDeleteButton = ko.observable(true),
- isVisibleSaveButton = ko.observable(false),
- isVisibleCancelButton = ko.observable(true),
- isVisibleEditButton = ko.observable(true),
- selectedHistory = null,
- historyGridView = null,
- timerObj = { timer: null },
- mainPopupElement = params.mainPopupElement;
- historyViewModel.UpdatedUserName = ko.observable();
- historyViewModel.FileName = ko.observable();
- //hcLee 2016 03 28
- historyViewModel.FildIdBackUp = ko.observable();
- BWA.db.FmsDrawingHistory.modified.add(function () {
- reloadDrawingHistory(drawingId());
- $('#gridContainer').dxDataGrid('instance').refresh();
- });
- function handleButtonSave() {
- historyViewModel.SiteId(BWA.UserInfo.SiteId());
- historyViewModel.DrawingId(drawingId());
- if (isNewData()) {
- if (drawingHistoryFileUpload.dropzone.files.length == 0) {
- utils.toast.show('도면 파일을 업로드하여 주십시오.', 'error');
- return;
- }
- //2019-11-25 변경
- if (_.isNull(dropZone) === false) { //추가
- if (historyViewModel.FileId() == null) {
- dropZone.processQueue();
- }
- }
- //2019-11-25 변경
- historyViewModel.UpdatedDate(new Date());
- historyViewModel.UpdatedUserId(BWA.UserInfo.UserId());
-
- BWA.db.FmsDrawingHistory.insert(historyViewModel.toJS()).done(function (res) {
- utils.toast.show('도면 이력 항목이 성공적으로 저장되었습니다.');
- dropZone.resetUploadedFileInfo();
- // 2016 03 28
- reloadDrawingHistory(drawingId());
- $('#gridContainer').dxDataGrid('instance').refresh();
- isNewData(false);
- ChangeMode(false);
- popupVisible(false);
- IsPrevImg(false);
- });
- }
- else {
- // hcLee 2016 03 27
- if (_.isUndefined(historyViewModel.FileId()) || historyViewModel.FileId() == null) {
- utils.toast.show('도면 파일을 업로드하여 주십시오.', 'error');
- return;
- }
- historyViewModel.RevisionNo(undefined);
- //historyViewModel.FileId(undefined); // hcLee 2016 03 28
- historyViewModel.UpdatedDate(new Date());
- historyViewModel.UpdatedUserId(BWA.UserInfo.UserId());
- //2019-11-25 변경
- backUpFileId = historyViewModel.FileId();
- if (_.isNull(dropZone) === false) {
- dropZone.processQueue();
- }
- //2019-11-25 변경
- var keys = BWA.db.extractKeysObject('FmsDrawingHistory', historyViewModel);
- BWA.db.FmsDrawingHistory.update(keys, historyViewModel.toJS()).done(function (res) {
- utils.toast.show('도면 이력 항목이 성공적으로 저장되었습니다.');
- dropZone.resetUploadedFileInfo();
- reloadDrawingHistory(drawingId());
- $('#gridContainer').dxDataGrid('instance').refresh();
- ChangeMode(false);
- popupVisible(false);
- IsPrevImg(true);
- });
-
- }
- }
- /*
- function handleButtonDelete() {
- var keys = BWA.db.extractKeysObject('FmsDrawingHistory', historyViewModel);
- BWA.db.FmsDrawingHistory.remove(keys).done(function() {
- BWA.db.CmFile.remove({
- SiteId: historyViewModel.SiteId(),
- FileId: historyViewModel.FileId()
- }).done(function() {
- utils.toast.show('도면 이력 항목 삭제 처리가 성공하였습니다.');
- popupVisible(false);
- });
- });
- }*/
- function ChangeMode(bEdit) {
- if (bEdit) {
- setupDropzone(bEdit); // 업로드된 파일을 지운후 저장하지 않고 취소만 하고 다시 수정을 시작한 경우를 위하여 hcLee 2016 03 25
- isEditMode(true);
- isVisibleEditButton(false);
- isVisibleSaveButton(true);
- isVisibleCancelButton(true);
- }
- else {
- setupDropzone(false); // 업로드된 파일을 지운후 저장하지 않고 취소만 하고 다시 수정을 시작한 경우를 위하여 hcLee 2016 03 25
- isEditMode(false);
- isVisibleEditButton(true);
- isVisibleSaveButton(false);
- isVisibleCancelButton(false);
- }
- }
- function handleEditDrawingHistory() {
- ChangeMode(true);
- }
- function setupDropzone(bEdit) {
- //var clone2 = $("div.dz-preview").clone(); // making zeh' clones!
- if (bEdit) {
- if (dropZone) {
- dropZone.removeAllFiles();
- dropZone.options.startLoadFileCount = 0;
- $('div.dz-preview').remove();
- }
- historyViewModel.FileId(historyViewModel.FildIdBackUp()); // hcLee 2016 03 25
- if (_.isNull(dropZone)) {
- dropZone = BWA.DropZone.create({
- id: '#drawingHistoryFileUpload',
- categoryId: $Code.FileCategory.DRAWING,
- uploadedFileInfo: uploadedFileInfo,
- previewTemplate: "...",
- handleSuccess: function (fileInfo) {
- //2019-11-25 변경
- historyViewModel.FileId(fileInfo.FileId);
- var tempFileID = fileInfo.FileId;
- if (uploadedFileInfo.FileId) {
- drawingHistoryDataSource.filter([
- eq('SiteId', BWA.UserInfo.SiteId()),
- and,
- eq('DrawingId', historyViewModel.DrawingId())
- ]);
- drawingHistoryDataSource.load().done(function (histories) {
- drawingHistories(histories);
- var len = drawingHistories().length;
- if (RowHistoryId != null)
- historyViewModel.HistoryId(RowHistoryId);
- else
- historyViewModel.HistoryId(drawingHistories()[len - 1].HistoryId());
- var keys = BWA.db.extractKeysObject('FmsDrawingHistory', historyViewModel);
- if (keys.HistoryId != null) {
- return BWA.db.FmsDrawingHistory.update(keys, { FileId: tempFileID })
- .done(function (res) {
- $('#gridContainer').dxDataGrid('instance').refresh();
- if (IsPrevImg() == true) { // 그림삭제
- var temp = {
- SiteId: BWA.UserInfo.SiteId(),
- FileId: backUpFileId
- }
- BWA.db.CmFile.byKey(temp).done(function (data) {
- dropZone.removeFile(data);
- });
- }
- });
- if (fileInfo.FileId != null)
- IsPrevImg(true);
- else
- IsPrevImg(false);
- }
- });
- }
- },
- handleRemovedFile: function () {
- historyViewModel.FileId(null);
- },
- });
- }
- }
- }
- popupVisible.subscribe(utils.popup.getAttachFunc('#popupDetail', timerObj, position));
- position.subscribe(function (value) {
- });
- isNewData.subscribe(function (isNew) {
- if (isNew && popupVisible()) {
- isVisibleDropZone('visible');
- }
- else {
- isVisibleDropZone('hidden');
- }
- });
- viewModel.popupVisible.subscribe(function (value) {
- if (value === false) {
- popupVisible(false);
- }
- });
- viewModel.isEditModeInPopup.subscribe(function (value) {
- });
- return {
- visible: popupVisible,
- isNewData: isNewData,
- dataModel: historyViewModel,
- isVisibleDropZone: isVisibleDropZone,
- isEditMode: isEditMode,
- show: function () {
- popupVisible(true);
- },
- hide: function () {
- popupVisible(false);
- },
- popupOptions: {
- width: '480px',
- height: '616px',
- dragEnabled: false,
- position: position,
- visible: popupVisible,
- showingAction: function () { },
- 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 } }
- },
- shownAction: function () {
- if (isNewData()) {
- isVisibleDropZone('visible');
- }
- else {
- isVisibleDropZone('hidden');
- }
- setupDropzone();
- },
- hidingAction: function () {
- //dropZone.dispose(uploadedFileInfo); // 2016 03 29
- }
- },
- toolbarItems: [
- { location: 'before', text: $G('drawingHistoryDetailInfo') },
- {
- location: 'after',
- widget: 'button',
- options: {
- text: '수정',
- icon: 'edit',
- visible: isVisibleEditButton,
- disabled: viewModel.hasnotModificationPermission,
- clickAction: handleEditDrawingHistory
- }
- },
- {
- location: 'after',
- widget: 'button',
- options: {
- text: '취소',
- icon: 'cancel',
- visible: isVisibleCancelButton,
- disabled: viewModel.hasnotModificationPermission,
- clickAction: function () {
- // 파일 id를 다시 설정해야 한다. hcLee 2016 03 25
- historyViewModel.FileId(historyViewModel.FildIdBackUp()); // hcLee 2016 03 25
- ChangeMode(false);
- }
- }
- },
- {
- location: 'after', widget: 'button', options: {
- text: $G('save'),
- icon: 'save',
- visible: isVisibleSaveButton,
- disabled: viewModel.hasnotModificationPermission,
- clickAction: handleButtonSave
- }
- },
- {
- location: 'after', widget: 'button', options: {
- text: $G('close'),
- icon: 'close',
- clickAction: function () {
- isNewData(false);
- ChangeMode(false);
- popupVisible(false);
- }
- }
- }
- ],
- setDrawingHistoryGridViewInstance: function (instance) {
- historyGridView = instance;
- },
- setSelectedDrawingHistory: function (history) {
- isNewData(false);
- BWA.DataUtil.copyViewModel(history, historyViewModel);
- RowHistoryId = history.HistoryId();
- historyViewModel.FildIdBackUp(history.FileId()); // hcLee 2016 03 28
- historyViewModel.FileName(history['CmFile/Name']());
- historyViewModel.UpdatedUserName(history['CmUser/Name']());
- historyViewModel.Description(history['Description']());
- ChangeMode(false);
- },
- handleInsertDrawingHistory: function () {
- ChangeMode(false);
- popupVisible(false);
- isNewData(true);
- BWA.DataUtil.resetDataModel(_.omit(historyViewModel, 'DrawingId'));
- var maxHistory = _.max(drawingHistories(), function (x) {
- return x.RevisionNo();
- });
- historyViewModel.RevisionNo(maxHistory.RevisionNo() + 1);
- historyViewModel.UpdatedUserName(BWA.UserInfo.Name());
- popupVisible(true);
- ChangeMode(true);
- isVisibleCancelButton(false);
- }
- };
- }
- }
- });
|