exports.ids = [14]; exports.modules = { /***/ 147: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return on; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return off; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return once; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return hasClass; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addClass; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return removeClass; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getStyle; }); /* unused harmony export setStyle */ /* unused harmony export isScroll */ /* unused harmony export getScrollContainer */ /* unused harmony export isInContainer */ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__); /* istanbul ignore next */ const isServer = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer; const SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g; const MOZ_HACK_REGEXP = /^moz([A-Z])/; const ieVersion = isServer ? 0 : Number(document.documentMode); /* istanbul ignore next */ const trim = function(string) { return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ''); }; /* istanbul ignore next */ const camelCase = function(name) { return name.replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { return offset ? letter.toUpperCase() : letter; }).replace(MOZ_HACK_REGEXP, 'Moz$1'); }; /* istanbul ignore next */ const on = (function() { if (!isServer && document.addEventListener) { return function(element, event, handler) { if (element && event && handler) { element.addEventListener(event, handler, false); } }; } else { return function(element, event, handler) { if (element && event && handler) { element.attachEvent('on' + event, handler); } }; } })(); /* istanbul ignore next */ const off = (function() { if (!isServer && document.removeEventListener) { return function(element, event, handler) { if (element && event) { element.removeEventListener(event, handler, false); } }; } else { return function(element, event, handler) { if (element && event) { element.detachEvent('on' + event, handler); } }; } })(); /* istanbul ignore next */ const once = function(el, event, fn) { var listener = function() { if (fn) { fn.apply(this, arguments); } off(el, event, listener); }; on(el, event, listener); }; /* istanbul ignore next */ function hasClass(el, cls) { if (!el || !cls) return false; if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.'); if (el.classList) { return el.classList.contains(cls); } else { return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1; } }; /* istanbul ignore next */ function addClass(el, cls) { if (!el) return; var curClass = el.className; var classes = (cls || '').split(' '); for (var i = 0, j = classes.length; i < j; i++) { var clsName = classes[i]; if (!clsName) continue; if (el.classList) { el.classList.add(clsName); } else if (!hasClass(el, clsName)) { curClass += ' ' + clsName; } } if (!el.classList) { el.setAttribute('class', curClass); } }; /* istanbul ignore next */ function removeClass(el, cls) { if (!el || !cls) return; var classes = cls.split(' '); var curClass = ' ' + el.className + ' '; for (var i = 0, j = classes.length; i < j; i++) { var clsName = classes[i]; if (!clsName) continue; if (el.classList) { el.classList.remove(clsName); } else if (hasClass(el, clsName)) { curClass = curClass.replace(' ' + clsName + ' ', ' '); } } if (!el.classList) { el.setAttribute('class', trim(curClass)); } }; /* istanbul ignore next */ const getStyle = ieVersion < 9 ? function(element, styleName) { if (isServer) return; if (!element || !styleName) return null; styleName = camelCase(styleName); if (styleName === 'float') { styleName = 'styleFloat'; } try { switch (styleName) { case 'opacity': try { return element.filters.item('alpha').opacity / 100; } catch (e) { return 1.0; } default: return (element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null); } } catch (e) { return element.style[styleName]; } } : function(element, styleName) { if (isServer) return; if (!element || !styleName) return null; styleName = camelCase(styleName); if (styleName === 'float') { styleName = 'cssFloat'; } try { var computed = document.defaultView.getComputedStyle(element, ''); return element.style[styleName] || computed ? computed[styleName] : null; } catch (e) { return element.style[styleName]; } }; /* istanbul ignore next */ function setStyle(element, styleName, value) { if (!element || !styleName) return; if (typeof styleName === 'object') { for (var prop in styleName) { if (styleName.hasOwnProperty(prop)) { setStyle(element, prop, styleName[prop]); } } } else { styleName = camelCase(styleName); if (styleName === 'opacity' && ieVersion < 9) { element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')'; } else { element.style[styleName] = value; } } }; const isScroll = (el, vertical) => { if (isServer) return; const determinedDirection = vertical !== null && vertical !== undefined; const overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow'); return overflow.match(/(scroll|auto|overlay)/); }; const getScrollContainer = (el, vertical) => { if (isServer) return; let parent = el; while (parent) { if ([window, document, document.documentElement].includes(parent)) { return window; } if (isScroll(parent, vertical)) { return parent; } parent = parent.parentNode; } return parent; }; const isInContainer = (el, container) => { if (isServer || !el || !container) return false; const elRect = el.getBoundingClientRect(); let containerRect; if ([window, document, document.documentElement, null, undefined].includes(container)) { containerRect = { top: 0, right: window.innerWidth, bottom: window.innerHeight, left: 0 }; } else { containerRect = container.getBoundingClientRect(); } return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right; }; /***/ }), /***/ 148: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ isFirefox; }); __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ kebabCase; }); __webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ rafThrottle; }); __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ isMac; }); // UNUSED EXPORTS: noop, hasOwn, toObject, getValueByPath, getPropByPath, generateId, valueEquals, escapeRegexpString, arrayFindIndex, arrayFind, coerceTruthyValueToArray, isIE, isEdge, autoprefixer, capitalize, looseEqual, arrayEquals, isEqual, isEmpty, objToArray // EXTERNAL MODULE: external "vue" var external_vue_ = __webpack_require__(0); var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); // CONCATENATED MODULE: ./node_modules/element-ui/src/utils/types.js function isString(obj) { return Object.prototype.toString.call(obj) === '[object String]'; } function isObject(obj) { return Object.prototype.toString.call(obj) === '[object Object]'; } function isHtmlElement(node) { return node && node.nodeType === Node.ELEMENT_NODE; } /** * - Inspired: * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js */ let isFunction = (functionToCheck) => { var getType = {}; return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; }; if ( true && typeof Int8Array !== 'object' && (external_vue_default.a.prototype.$isServer || typeof document.childNodes !== 'function')) { isFunction = function(obj) { return typeof obj === 'function' || false; }; } const isUndefined = (val)=> { return val === void 0; }; const isDefined = (val) => { return val !== undefined && val !== null; }; // CONCATENATED MODULE: ./node_modules/element-ui/src/utils/util.js const util_hasOwnProperty = Object.prototype.hasOwnProperty; function noop() {}; function hasOwn(obj, key) { return util_hasOwnProperty.call(obj, key); }; function extend(to, _from) { for (let key in _from) { to[key] = _from[key]; } return to; }; function toObject(arr) { var res = {}; for (let i = 0; i < arr.length; i++) { if (arr[i]) { extend(res, arr[i]); } } return res; }; const getValueByPath = function(object, prop) { prop = prop || ''; const paths = prop.split('.'); let current = object; let result = null; for (let i = 0, j = paths.length; i < j; i++) { const path = paths[i]; if (!current) break; if (i === j - 1) { result = current[path]; break; } current = current[path]; } return result; }; function getPropByPath(obj, path, strict) { let tempObj = obj; path = path.replace(/\[(\w+)\]/g, '.$1'); path = path.replace(/^\./, ''); let keyArr = path.split('.'); let i = 0; for (let len = keyArr.length; i < len - 1; ++i) { if (!tempObj && !strict) break; let key = keyArr[i]; if (key in tempObj) { tempObj = tempObj[key]; } else { if (strict) { throw new Error('please transfer a valid prop path to form item!'); } break; } } return { o: tempObj, k: keyArr[i], v: tempObj ? tempObj[keyArr[i]] : null }; }; const generateId = function() { return Math.floor(Math.random() * 10000); }; const valueEquals = (a, b) => { // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript if (a === b) return true; if (!(a instanceof Array)) return false; if (!(b instanceof Array)) return false; if (a.length !== b.length) return false; for (let i = 0; i !== a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }; const escapeRegexpString = (value = '') => String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'); // TODO: use native Array.find, Array.findIndex when IE support is dropped const arrayFindIndex = function(arr, pred) { for (let i = 0; i !== arr.length; ++i) { if (pred(arr[i])) { return i; } } return -1; }; const arrayFind = function(arr, pred) { const idx = arrayFindIndex(arr, pred); return idx !== -1 ? arr[idx] : undefined; }; // coerce truthy value to array const coerceTruthyValueToArray = function(val) { if (Array.isArray(val)) { return val; } else if (val) { return [val]; } else { return []; } }; const isIE = function() { return !external_vue_default.a.prototype.$isServer && !isNaN(Number(document.documentMode)); }; const isEdge = function() { return !external_vue_default.a.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1; }; const isFirefox = function() { return !external_vue_default.a.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i); }; const autoprefixer = function(style) { if (typeof style !== 'object') return style; const rules = ['transform', 'transition', 'animation']; const prefixes = ['ms-', 'webkit-']; rules.forEach(rule => { const value = style[rule]; if (rule && value) { prefixes.forEach(prefix => { style[prefix + rule] = value; }); } }); return style; }; const kebabCase = function(str) { const hyphenateRE = /([^-])([A-Z])/g; return str .replace(hyphenateRE, '$1-$2') .replace(hyphenateRE, '$1-$2') .toLowerCase(); }; const capitalize = function(str) { if (!isString(str)) return str; return str.charAt(0).toUpperCase() + str.slice(1); }; const looseEqual = function(a, b) { const isObjectA = isObject(a); const isObjectB = isObject(b); if (isObjectA && isObjectB) { return JSON.stringify(a) === JSON.stringify(b); } else if (!isObjectA && !isObjectB) { return String(a) === String(b); } else { return false; } }; const arrayEquals = function(arrayA, arrayB) { arrayA = arrayA || []; arrayB = arrayB || []; if (arrayA.length !== arrayB.length) { return false; } for (let i = 0; i < arrayA.length; i++) { if (!looseEqual(arrayA[i], arrayB[i])) { return false; } } return true; }; const isEqual = function(value1, value2) { if (Array.isArray(value1) && Array.isArray(value2)) { return arrayEquals(value1, value2); } return looseEqual(value1, value2); }; const isEmpty = function(val) { // null or undefined if (val == null) return true; if (typeof val === 'boolean') return false; if (typeof val === 'number') return !val; if (val instanceof Error) return val.message === ''; switch (Object.prototype.toString.call(val)) { // String or Array case '[object String]': case '[object Array]': return !val.length; // Map or Set or File case '[object File]': case '[object Map]': case '[object Set]': { return !val.size; } // Plain Object case '[object Object]': { return !Object.keys(val).length; } } return false; }; function rafThrottle(fn) { let locked = false; return function(...args) { if (locked) return; locked = true; window.requestAnimationFrame(_ => { fn.apply(this, args); locked = false; }); }; } function objToArray(obj) { if (Array.isArray(obj)) { return obj; } return isEmpty(obj) ? [] : [obj]; } const isMac = function() { return !external_vue_default.a.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent); }; /***/ }), /***/ 149: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony default export */ __webpack_exports__["a"] = (function(target) { for (let i = 1, j = arguments.length; i < j; i++) { let source = arguments[i] || {}; for (let prop in source) { if (source.hasOwnProperty(prop)) { let value = source[prop]; if (value !== undefined) { target[prop] = value; } } } } return target; });; /***/ }), /***/ 157: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=44a7b0fb var render = function render() { var _vm = this, _c = _vm._self._c; return _c('transition', { attrs: { "name": "viewer-fade" } }, [_c('div', { ref: "el-image-viewer__wrapper", staticClass: "el-image-viewer__wrapper", style: { 'z-index': _vm.viewerZIndex }, attrs: { "tabindex": "-1" } }, [_c('div', { staticClass: "el-image-viewer__mask", on: { "click": function ($event) { if ($event.target !== $event.currentTarget) return null; return _vm.handleMaskClick.apply(null, arguments); } } }), _vm._v(" "), _c('span', { staticClass: "el-image-viewer__btn el-image-viewer__close", on: { "click": _vm.hide } }, [_c('i', { staticClass: "el-icon-close" })]), _vm._v(" "), !_vm.isSingle ? [_c('span', { staticClass: "el-image-viewer__btn el-image-viewer__prev", class: { 'is-disabled': !_vm.infinite && _vm.isFirst }, on: { "click": _vm.prev } }, [_c('i', { staticClass: "el-icon-arrow-left" })]), _vm._v(" "), _c('span', { staticClass: "el-image-viewer__btn el-image-viewer__next", class: { 'is-disabled': !_vm.infinite && _vm.isLast }, on: { "click": _vm.next } }, [_c('i', { staticClass: "el-icon-arrow-right" })])] : _vm._e(), _vm._v(" "), _c('div', { staticClass: "el-image-viewer__btn el-image-viewer__actions" }, [_c('div', { staticClass: "el-image-viewer__actions__inner" }, [_c('i', { staticClass: "el-icon-zoom-out", on: { "click": function ($event) { return _vm.handleActions('zoomOut'); } } }), _vm._v(" "), _c('i', { staticClass: "el-icon-zoom-in", on: { "click": function ($event) { return _vm.handleActions('zoomIn'); } } }), _vm._v(" "), _c('i', { staticClass: "el-image-viewer__actions__divider" }), _vm._v(" "), _c('i', { class: _vm.mode.icon, on: { "click": _vm.toggleMode } }), _vm._v(" "), _c('i', { staticClass: "el-image-viewer__actions__divider" }), _vm._v(" "), _c('i', { staticClass: "el-icon-refresh-left", on: { "click": function ($event) { return _vm.handleActions('anticlocelise'); } } }), _vm._v(" "), _c('i', { staticClass: "el-icon-refresh-right", on: { "click": function ($event) { return _vm.handleActions('clocelise'); } } })])]), _vm._v(" "), _c('div', { staticClass: "el-image-viewer__canvas" }, _vm._l(_vm.urlList, function (url, i) { return i === _vm.index ? _c('img', { key: url, ref: "img", refInFor: true, staticClass: "el-image-viewer__img", style: _vm.imgStyle, attrs: { "src": _vm.currentImg }, on: { "load": _vm.handleImgLoad, "error": _vm.handleImgError, "mousedown": _vm.handleMouseDown } }) : _vm._e(); }), 0)], 2)]); }; var staticRenderFns = []; // CONCATENATED MODULE: ./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=template&id=44a7b0fb // EXTERNAL MODULE: ./node_modules/element-ui/src/utils/dom.js var utils_dom = __webpack_require__(147); // EXTERNAL MODULE: ./node_modules/element-ui/src/utils/util.js + 1 modules var util = __webpack_require__(148); // EXTERNAL MODULE: external "vue" var external_vue_ = __webpack_require__(0); var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); // EXTERNAL MODULE: ./node_modules/element-ui/src/utils/merge.js var merge = __webpack_require__(149); // CONCATENATED MODULE: ./node_modules/element-ui/src/utils/popup/popup-manager.js let hasModal = false; let hasInitZIndex = false; let popup_manager_zIndex; const getModal = function() { if (external_vue_default.a.prototype.$isServer) return; let modalDom = PopupManager.modalDom; if (modalDom) { hasModal = true; } else { hasModal = false; modalDom = document.createElement('div'); PopupManager.modalDom = modalDom; modalDom.addEventListener('touchmove', function(event) { event.preventDefault(); event.stopPropagation(); }); modalDom.addEventListener('click', function() { PopupManager.doOnModalClick && PopupManager.doOnModalClick(); }); } return modalDom; }; const instances = {}; const PopupManager = { modalFade: true, getInstance: function(id) { return instances[id]; }, register: function(id, instance) { if (id && instance) { instances[id] = instance; } }, deregister: function(id) { if (id) { instances[id] = null; delete instances[id]; } }, nextZIndex: function() { return PopupManager.zIndex++; }, modalStack: [], doOnModalClick: function() { const topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1]; if (!topItem) return; const instance = PopupManager.getInstance(topItem.id); if (instance && instance.closeOnClickModal) { instance.close(); } }, openModal: function(id, zIndex, dom, modalClass, modalFade) { if (external_vue_default.a.prototype.$isServer) return; if (!id || zIndex === undefined) return; this.modalFade = modalFade; const modalStack = this.modalStack; for (let i = 0, j = modalStack.length; i < j; i++) { const item = modalStack[i]; if (item.id === id) { return; } } const modalDom = getModal(); Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal'); if (this.modalFade && !hasModal) { Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal-enter'); } if (modalClass) { let classArr = modalClass.trim().split(/\s+/); classArr.forEach(item => Object(utils_dom["a" /* addClass */])(modalDom, item)); } setTimeout(() => { Object(utils_dom["g" /* removeClass */])(modalDom, 'v-modal-enter'); }, 200); if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) { dom.parentNode.appendChild(modalDom); } else { document.body.appendChild(modalDom); } if (zIndex) { modalDom.style.zIndex = zIndex; } modalDom.tabIndex = 0; modalDom.style.display = ''; this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass }); }, closeModal: function(id) { const modalStack = this.modalStack; const modalDom = getModal(); if (modalStack.length > 0) { const topItem = modalStack[modalStack.length - 1]; if (topItem.id === id) { if (topItem.modalClass) { let classArr = topItem.modalClass.trim().split(/\s+/); classArr.forEach(item => Object(utils_dom["g" /* removeClass */])(modalDom, item)); } modalStack.pop(); if (modalStack.length > 0) { modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex; } } else { for (let i = modalStack.length - 1; i >= 0; i--) { if (modalStack[i].id === id) { modalStack.splice(i, 1); break; } } } } if (modalStack.length === 0) { if (this.modalFade) { Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal-leave'); } setTimeout(() => { if (modalStack.length === 0) { if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom); modalDom.style.display = 'none'; PopupManager.modalDom = undefined; } Object(utils_dom["g" /* removeClass */])(modalDom, 'v-modal-leave'); }, 200); } } }; Object.defineProperty(PopupManager, 'zIndex', { configurable: true, get() { if (!hasInitZIndex) { popup_manager_zIndex = popup_manager_zIndex || (external_vue_default.a.prototype.$ELEMENT || {}).zIndex || 2000; hasInitZIndex = true; } return popup_manager_zIndex; }, set(value) { popup_manager_zIndex = value; } }); const getTopPopup = function() { if (external_vue_default.a.prototype.$isServer) return; if (PopupManager.modalStack.length > 0) { const topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1]; if (!topPopup) return; const instance = PopupManager.getInstance(topPopup.id); return instance; } }; if (!external_vue_default.a.prototype.$isServer) { // handle `esc` key when the popup is shown window.addEventListener('keydown', function(event) { if (event.keyCode === 27) { const topPopup = getTopPopup(); if (topPopup && topPopup.closeOnPressEscape) { topPopup.handleClose ? topPopup.handleClose() : (topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close()); } } }); } /* harmony default export */ var popup_manager = (PopupManager); // CONCATENATED MODULE: ./node_modules/element-ui/src/utils/scrollbar-width.js let scrollBarWidth; /* harmony default export */ var scrollbar_width = (function() { if (external_vue_default.a.prototype.$isServer) return 0; if (scrollBarWidth !== undefined) return scrollBarWidth; const outer = document.createElement('div'); outer.className = 'el-scrollbar__wrap'; outer.style.visibility = 'hidden'; outer.style.width = '100px'; outer.style.position = 'absolute'; outer.style.top = '-9999px'; document.body.appendChild(outer); const widthNoScroll = outer.offsetWidth; outer.style.overflow = 'scroll'; const inner = document.createElement('div'); inner.style.width = '100%'; outer.appendChild(inner); const widthWithScroll = inner.offsetWidth; outer.parentNode.removeChild(outer); scrollBarWidth = widthNoScroll - widthWithScroll; return scrollBarWidth; });; // CONCATENATED MODULE: ./node_modules/element-ui/src/utils/popup/index.js let idSeed = 1; let popup_scrollBarWidth; /* harmony default export */ var popup = ({ props: { visible: { type: Boolean, default: false }, openDelay: {}, closeDelay: {}, zIndex: {}, modal: { type: Boolean, default: false }, modalFade: { type: Boolean, default: true }, modalClass: {}, modalAppendToBody: { type: Boolean, default: false }, lockScroll: { type: Boolean, default: true }, closeOnPressEscape: { type: Boolean, default: false }, closeOnClickModal: { type: Boolean, default: false } }, beforeMount() { this._popupId = 'popup-' + idSeed++; popup_manager.register(this._popupId, this); }, beforeDestroy() { popup_manager.deregister(this._popupId); popup_manager.closeModal(this._popupId); this.restoreBodyStyle(); }, data() { return { opened: false, bodyPaddingRight: null, computedBodyPaddingRight: 0, withoutHiddenClass: true, rendered: false }; }, watch: { visible(val) { if (val) { if (this._opening) return; if (!this.rendered) { this.rendered = true; external_vue_default.a.nextTick(() => { this.open(); }); } else { this.open(); } } else { this.close(); } } }, methods: { open(options) { if (!this.rendered) { this.rendered = true; } const props = Object(merge["a" /* default */])({}, this.$props || this, options); if (this._closeTimer) { clearTimeout(this._closeTimer); this._closeTimer = null; } clearTimeout(this._openTimer); const openDelay = Number(props.openDelay); if (openDelay > 0) { this._openTimer = setTimeout(() => { this._openTimer = null; this.doOpen(props); }, openDelay); } else { this.doOpen(props); } }, doOpen(props) { if (this.$isServer) return; if (this.willOpen && !this.willOpen()) return; if (this.opened) return; this._opening = true; const dom = this.$el; const modal = props.modal; const zIndex = props.zIndex; if (zIndex) { popup_manager.zIndex = zIndex; } if (modal) { if (this._closing) { popup_manager.closeModal(this._popupId); this._closing = false; } popup_manager.openModal(this._popupId, popup_manager.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade); if (props.lockScroll) { this.withoutHiddenClass = !Object(utils_dom["c" /* hasClass */])(document.body, 'el-popup-parent--hidden'); if (this.withoutHiddenClass) { this.bodyPaddingRight = document.body.style.paddingRight; this.computedBodyPaddingRight = parseInt(Object(utils_dom["b" /* getStyle */])(document.body, 'paddingRight'), 10); } popup_scrollBarWidth = scrollbar_width(); let bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight; let bodyOverflowY = Object(utils_dom["b" /* getStyle */])(document.body, 'overflowY'); if (popup_scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) { document.body.style.paddingRight = this.computedBodyPaddingRight + popup_scrollBarWidth + 'px'; } Object(utils_dom["a" /* addClass */])(document.body, 'el-popup-parent--hidden'); } } if (getComputedStyle(dom).position === 'static') { dom.style.position = 'absolute'; } dom.style.zIndex = popup_manager.nextZIndex(); this.opened = true; this.onOpen && this.onOpen(); this.doAfterOpen(); }, doAfterOpen() { this._opening = false; }, close() { if (this.willClose && !this.willClose()) return; if (this._openTimer !== null) { clearTimeout(this._openTimer); this._openTimer = null; } clearTimeout(this._closeTimer); const closeDelay = Number(this.closeDelay); if (closeDelay > 0) { this._closeTimer = setTimeout(() => { this._closeTimer = null; this.doClose(); }, closeDelay); } else { this.doClose(); } }, doClose() { this._closing = true; this.onClose && this.onClose(); if (this.lockScroll) { setTimeout(this.restoreBodyStyle, 200); } this.opened = false; this.doAfterClose(); }, doAfterClose() { popup_manager.closeModal(this._popupId); this._closing = false; }, restoreBodyStyle() { if (this.modal && this.withoutHiddenClass) { document.body.style.paddingRight = this.bodyPaddingRight; Object(utils_dom["g" /* removeClass */])(document.body, 'el-popup-parent--hidden'); } this.withoutHiddenClass = true; } } }); // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js const Mode = { CONTAIN: { name: 'contain', icon: 'el-icon-full-screen' }, ORIGINAL: { name: 'original', icon: 'el-icon-c-scale-to-original' } }; const mousewheelEventName = Object(util["a" /* isFirefox */])() ? 'DOMMouseScroll' : 'mousewheel'; /* harmony default export */ var image_viewervue_type_script_lang_js = ({ name: 'elImageViewer', props: { urlList: { type: Array, default: () => [] }, zIndex: { type: Number, default: 2000 }, onSwitch: { type: Function, default: () => {} }, onClose: { type: Function, default: () => {} }, initialIndex: { type: Number, default: 0 }, appendToBody: { type: Boolean, default: true }, maskClosable: { type: Boolean, default: true } }, data() { return { index: this.initialIndex, isShow: false, infinite: true, loading: false, mode: Mode.CONTAIN, transform: { scale: 1, deg: 0, offsetX: 0, offsetY: 0, enableTransition: false } }; }, computed: { isSingle() { return this.urlList.length <= 1; }, isFirst() { return this.index === 0; }, isLast() { return this.index === this.urlList.length - 1; }, currentImg() { return this.urlList[this.index]; }, imgStyle() { const { scale, deg, offsetX, offsetY, enableTransition } = this.transform; const style = { transform: `scale(${scale}) rotate(${deg}deg)`, transition: enableTransition ? 'transform .3s' : '', 'margin-left': `${offsetX}px`, 'margin-top': `${offsetY}px` }; if (this.mode === Mode.CONTAIN) { style.maxWidth = style.maxHeight = '100%'; } return style; }, viewerZIndex() { const nextZIndex = popup_manager.nextZIndex(); return this.zIndex > nextZIndex ? this.zIndex : nextZIndex; } }, watch: { index: { handler: function (val) { this.reset(); this.onSwitch(val); } }, currentImg(val) { this.$nextTick(_ => { const $img = this.$refs.img[0]; if (!$img.complete) { this.loading = true; } }); } }, methods: { hide() { this.deviceSupportUninstall(); this.onClose(); }, deviceSupportInstall() { this._keyDownHandler = e => { e.stopPropagation(); const keyCode = e.keyCode; switch (keyCode) { // ESC case 27: this.hide(); break; // SPACE case 32: this.toggleMode(); break; // LEFT_ARROW case 37: this.prev(); break; // UP_ARROW case 38: this.handleActions('zoomIn'); break; // RIGHT_ARROW case 39: this.next(); break; // DOWN_ARROW case 40: this.handleActions('zoomOut'); break; } }; this._mouseWheelHandler = Object(util["d" /* rafThrottle */])(e => { const delta = e.wheelDelta ? e.wheelDelta : -e.detail; if (delta > 0) { this.handleActions('zoomIn', { zoomRate: 0.015, enableTransition: false }); } else { this.handleActions('zoomOut', { zoomRate: 0.015, enableTransition: false }); } }); Object(utils_dom["e" /* on */])(document, 'keydown', this._keyDownHandler); Object(utils_dom["e" /* on */])(document, mousewheelEventName, this._mouseWheelHandler); }, deviceSupportUninstall() { Object(utils_dom["d" /* off */])(document, 'keydown', this._keyDownHandler); Object(utils_dom["d" /* off */])(document, mousewheelEventName, this._mouseWheelHandler); this._keyDownHandler = null; this._mouseWheelHandler = null; }, handleImgLoad(e) { this.loading = false; }, handleImgError(e) { this.loading = false; e.target.alt = '加载失败'; }, handleMouseDown(e) { if (this.loading || e.button !== 0) return; const { offsetX, offsetY } = this.transform; const startX = e.pageX; const startY = e.pageY; this._dragHandler = Object(util["d" /* rafThrottle */])(ev => { this.transform.offsetX = offsetX + ev.pageX - startX; this.transform.offsetY = offsetY + ev.pageY - startY; }); Object(utils_dom["e" /* on */])(document, 'mousemove', this._dragHandler); Object(utils_dom["e" /* on */])(document, 'mouseup', ev => { Object(utils_dom["d" /* off */])(document, 'mousemove', this._dragHandler); }); e.preventDefault(); }, handleMaskClick() { if (this.maskClosable) { this.hide(); } }, reset() { this.transform = { scale: 1, deg: 0, offsetX: 0, offsetY: 0, enableTransition: false }; }, toggleMode() { if (this.loading) return; const modeNames = Object.keys(Mode); const modeValues = Object.values(Mode); const index = modeValues.indexOf(this.mode); const nextIndex = (index + 1) % modeNames.length; this.mode = Mode[modeNames[nextIndex]]; this.reset(); }, prev() { if (this.isFirst && !this.infinite) return; const len = this.urlList.length; this.index = (this.index - 1 + len) % len; }, next() { if (this.isLast && !this.infinite) return; const len = this.urlList.length; this.index = (this.index + 1) % len; }, handleActions(action, options = {}) { if (this.loading) return; const { zoomRate, rotateDeg, enableTransition } = { zoomRate: 0.2, rotateDeg: 90, enableTransition: true, ...options }; const { transform } = this; switch (action) { case 'zoomOut': if (transform.scale > 0.2) { transform.scale = parseFloat((transform.scale - zoomRate).toFixed(3)); } break; case 'zoomIn': transform.scale = parseFloat((transform.scale + zoomRate).toFixed(3)); break; case 'clocelise': transform.deg += rotateDeg; break; case 'anticlocelise': transform.deg -= rotateDeg; break; } transform.enableTransition = enableTransition; } }, mounted() { this.deviceSupportInstall(); if (this.appendToBody) { document.body.appendChild(this.$el); } // add tabindex then wrapper can be focusable via Javascript // focus wrapper so arrow key can't cause inner scroll behavior underneath this.$refs['el-image-viewer__wrapper'].focus(); }, destroyed() { // if appendToBody is true, remove DOM node after destroy if (this.appendToBody && this.$el && this.$el.parentNode) { this.$el.parentNode.removeChild(this.$el); } } }); // CONCATENATED MODULE: ./node_modules/element-ui/packages/image/src/image-viewer.vue?vue&type=script&lang=js /* harmony default export */ var src_image_viewervue_type_script_lang_js = (image_viewervue_type_script_lang_js); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(2); // CONCATENATED MODULE: ./node_modules/element-ui/packages/image/src/image-viewer.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( src_image_viewervue_type_script_lang_js, render, staticRenderFns, false, null, null, "17d24eb5" ) /* harmony default export */ var image_viewer = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ 165: /***/ (function(module, exports) { // Exports module.exports = { }; /***/ }), /***/ 186: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_imageList_vue_vue_type_style_index_0_id_d262f43e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(165); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_imageList_vue_vue_type_style_index_0_id_d262f43e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_imageList_vue_vue_type_style_index_0_id_d262f43e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_imageList_vue_vue_type_style_index_0_id_d262f43e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_imageList_vue_vue_type_style_index_0_id_d262f43e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /***/ 196: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/imageList.vue?vue&type=template&id=d262f43e&scoped=true var render = function render() { var _vm = this, _c = _vm._self._c; return _c('div', { staticClass: "wrap flex row" }, [_vm._ssrNode(" "), _vm._ssrNode("