|
@@ -558,8 +558,65 @@
|
|
this.faxNumber = this[this.currentCategory + 'PopupItem'].data.pharmacyFax;
|
|
this.faxNumber = this[this.currentCategory + 'PopupItem'].data.pharmacyFax;
|
|
Vue.nextTick(() => {
|
|
Vue.nextTick(() => {
|
|
showStagPopup('send-fax-popup');
|
|
showStagPopup('send-fax-popup');
|
|
|
|
+ this.sendFaxModalPDFPreview();
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ sendFaxModalPDFPreview: function() {
|
|
|
|
+
|
|
|
|
+ let _loadedPDF = null, _numPages = 1, _page = 1;
|
|
|
|
+
|
|
|
|
+ function _load(_url) {
|
|
|
|
+
|
|
|
|
+ _loadedPDF = null;
|
|
|
|
+ _numPages = 1;
|
|
|
|
+ _page = 1;
|
|
|
|
+
|
|
|
|
+ $('#send-fax-pdf-preview>canvas').remove();
|
|
|
|
+
|
|
|
|
+ let url = _url;
|
|
|
|
+ let pdfjsLib = window['pdfjs-dist/build/pdf'];
|
|
|
|
+ pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
|
|
|
|
+ let loadingTask = pdfjsLib.getDocument(url);
|
|
|
|
+ loadingTask.promise.then(function (pdf) {
|
|
|
|
+ _numPages = pdf.numPages;
|
|
|
|
+ _loadedPDF = pdf;
|
|
|
|
+ _page = 1;
|
|
|
|
+ _render();
|
|
|
|
+ }, function (reason) {
|
|
|
|
+ // reason.message;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ function _render() {
|
|
|
|
+
|
|
|
|
+ _loadedPDF.getPage(_page).then(function (page) {
|
|
|
|
+
|
|
|
|
+ // create canvas
|
|
|
|
+ let canvasElement = $('<canvas/>')
|
|
|
|
+ .addClass('pdf-viewer-page pdf-preview-page')
|
|
|
|
+ .appendTo('#send-fax-pdf-preview');
|
|
|
|
+
|
|
|
|
+ let canvas = canvasElement[0];
|
|
|
|
+ let viewport = page.getViewport({scale: 0.75});
|
|
|
|
+ let context = canvas.getContext('2d');
|
|
|
|
+ canvas.height = viewport.height;
|
|
|
|
+ canvas.width = viewport.width;
|
|
|
|
+ const $canvas = $(canvas);
|
|
|
|
+ let renderContext = {
|
|
|
|
+ canvasContext: context,
|
|
|
|
+ viewport: viewport
|
|
|
|
+ };
|
|
|
|
+ let renderTask = page.render(renderContext);
|
|
|
|
+ renderTask.promise.then(function () {
|
|
|
|
+ if(_page < _numPages) {
|
|
|
|
+ _page++;
|
|
|
|
+ _render();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ _load('/ticket-download-as-pdf/' + this[this.currentCategory + 'PopupItem'].uid);
|
|
|
|
+ },
|
|
sendFax: function(_item) {
|
|
sendFax: function(_item) {
|
|
$.post('/api/ticketFax/create', {
|
|
$.post('/api/ticketFax/create', {
|
|
faxNumber: this.faxNumber,
|
|
faxNumber: this.faxNumber,
|