| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351 |
- exports.ids = [23,6];
- exports.modules = {
- /***/ 156:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
- // CONCATENATED MODULE: ./node_modules/_vue-loader@15.9.8@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_@nuxt_components@2.2.1@@nuxt/components/dist/loader.js??ref--0-0!./node_modules/_vue-loader@15.9.8@vue-loader/lib??vue-loader-options!./components/default/image-viewer.vue?vue&type=template&id=35230f64&
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"viewer-fade"}},[_c('div',{ref:"el-image-viewer__wrapper",staticClass:"el-image-viewer__wrapper",style:({ 'z-index': _vm.zIndex }),attrs:{"tabindex":"-1"}},[_c('div',{staticClass:"el-image-viewer__mask",on:{"click":_vm.hide}}),_vm._v(" "),_c('span',{staticClass:"el-image-viewer__btn el-image-viewer__close",on:{"click":function($event){$event.stopPropagation();return _vm.hide.apply(null, arguments)}}},[_c('i',{staticClass:"el-icon-circle-close",staticStyle:{"color":"white"}})]),_vm._v(" "),(!_vm.isSingle)?[_c('span',{staticClass:"el-image-viewer__btn el-image-viewer__prev",class:{ 'is-disabled': !_vm.infinite && _vm.isFirst },on:{"click":function($event){$event.stopPropagation();return _vm.prev.apply(null, arguments)}}},[_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":function($event){$event.stopPropagation();return _vm.next.apply(null, arguments)}}},[_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){$event.stopPropagation();return _vm.handleActions('zoomOut')}}}),_vm._v(" "),_c('i',{staticClass:"el-icon-zoom-in",on:{"click":function($event){$event.stopPropagation();return _vm.handleActions('zoomIn')}}}),_vm._v(" "),_c('i',{staticClass:"el-image-viewer__actions__divider"}),_vm._v(" "),_c('i',{class:_vm.mode.icon,on:{"click":function($event){$event.stopPropagation();return _vm.toggleMode.apply(null, arguments)}}}),_vm._v(" "),_c('i',{staticClass:"el-image-viewer__actions__divider"}),_vm._v(" "),_c('i',{staticClass:"el-icon-refresh-left",on:{"click":function($event){$event.stopPropagation();return _vm.handleActions('anticlocelise')}}}),_vm._v(" "),_c('i',{staticClass:"el-icon-refresh-right",on:{"click":function($event){$event.stopPropagation();return _vm.handleActions('clocelise')}}})])]),_vm._v(" "),_c('div',{staticClass:"el-image-viewer__canvas",on:{"click":_vm.hide}},_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: ./components/default/image-viewer.vue?vue&type=template&id=35230f64&
- // EXTERNAL MODULE: ./node_modules/_element-ui@2.14.1@element-ui/src/utils/dom.js
- var dom = __webpack_require__(159);
- // EXTERNAL MODULE: ./node_modules/_element-ui@2.14.1@element-ui/src/utils/util.js + 1 modules
- var util = __webpack_require__(160);
- // CONCATENATED MODULE: ./node_modules/_babel-loader@8.2.3@babel-loader/lib??ref--2-0!./node_modules/_@nuxt_components@2.2.1@@nuxt/components/dist/loader.js??ref--0-0!./node_modules/_vue-loader@15.9.8@vue-loader/lib??vue-loader-options!./components/default/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
- }
- },
- 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;
- }
- },
- 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();
- this.$emit('onClose');
- },
- deviceSupportInstall() {
- this._keyDownHandler = Object(util["b" /* rafThrottle */])(e => {
- 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["b" /* 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(dom["b" /* on */])(document, 'keydown', this._keyDownHandler);
- Object(dom["b" /* on */])(document, mousewheelEventName, this._mouseWheelHandler);
- },
- deviceSupportUninstall() {
- Object(dom["a" /* off */])(document, 'keydown', this._keyDownHandler);
- Object(dom["a" /* 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["b" /* rafThrottle */])(ev => {
- this.transform.offsetX = offsetX + ev.pageX - startX;
- this.transform.offsetY = offsetY + ev.pageY - startY;
- });
- Object(dom["b" /* on */])(document, 'mousemove', this._dragHandler);
- Object(dom["b" /* on */])(document, 'mouseup', ev => {
- Object(dom["a" /* off */])(document, 'mousemove', this._dragHandler);
- });
- e.preventDefault();
- },
- 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(); // 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();
- }
- });
- // CONCATENATED MODULE: ./components/default/image-viewer.vue?vue&type=script&lang=js&
- /* harmony default export */ var default_image_viewervue_type_script_lang_js_ = (image_viewervue_type_script_lang_js_);
- // EXTERNAL MODULE: ./node_modules/_vue-loader@15.9.8@vue-loader/lib/runtime/componentNormalizer.js
- var componentNormalizer = __webpack_require__(2);
- // CONCATENATED MODULE: ./components/default/image-viewer.vue
- /* normalize component */
- var component = Object(componentNormalizer["a" /* default */])(
- default_image_viewervue_type_script_lang_js_,
- render,
- staticRenderFns,
- false,
- null,
- null,
- "ef95725e"
-
- )
- /* harmony default export */ var image_viewer = __webpack_exports__["default"] = (component.exports);
- /***/ }),
- /***/ 159:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return on; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return off; });
- /* unused harmony export once */
- /* unused harmony export hasClass */
- /* unused harmony export addClass */
- /* unused harmony export removeClass */
- /* unused harmony export 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.className = 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.className = 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)/);
- };
- 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;
- };
- /***/ }),
- /***/ 160:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ isFirefox; });
- __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ rafThrottle; });
- // UNUSED EXPORTS: noop, hasOwn, toObject, getValueByPath, getPropByPath, generateId, valueEquals, escapeRegexpString, arrayFindIndex, arrayFind, coerceTruthyValueToArray, isIE, isEdge, autoprefixer, kebabCase, 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@2.14.1@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;
- }
- const isFunction = (functionToCheck) => {
- var getType = {};
- return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
- };
- const isUndefined = (val)=> {
- return val === void 0;
- };
- const isDefined = (val) => {
- return val !== undefined && val !== null;
- };
- // CONCATENATED MODULE: ./node_modules/_element-ui@2.14.1@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];
- }
- /***/ }),
- /***/ 162:
- /***/ (function(module, exports, __webpack_require__) {
- // style-loader: Adds some css to the DOM by adding a <style> tag
- // load the styles
- var content = __webpack_require__(185);
- if(content.__esModule) content = content.default;
- if(typeof content === 'string') content = [[module.i, content, '']];
- if(content.locals) module.exports = content.locals;
- // add CSS to SSR context
- var add = __webpack_require__(4).default
- module.exports.__inject__ = function (context) {
- add("1fe9a170", content, true, context)
- };
- /***/ }),
- /***/ 184:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_4_3_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_15_9_8_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_10_2_1_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_2_2_4_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_2_2_1_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_15_9_8_vue_loader_lib_index_js_vue_loader_options_comment_vue_vue_type_style_index_0_lang_scss_rel_stylesheet_2Fscss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(162);
- /* harmony import */ var _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_4_3_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_15_9_8_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_10_2_1_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_2_2_4_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_2_2_1_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_15_9_8_vue_loader_lib_index_js_vue_loader_options_comment_vue_vue_type_style_index_0_lang_scss_rel_stylesheet_2Fscss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_4_3_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_15_9_8_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_10_2_1_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_2_2_4_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_2_2_1_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_15_9_8_vue_loader_lib_index_js_vue_loader_options_comment_vue_vue_type_style_index_0_lang_scss_rel_stylesheet_2Fscss___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_4_3_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_15_9_8_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_10_2_1_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_2_2_4_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_2_2_1_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_15_9_8_vue_loader_lib_index_js_vue_loader_options_comment_vue_vue_type_style_index_0_lang_scss_rel_stylesheet_2Fscss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_4_1_3_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_4_3_0_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_15_9_8_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_3_0_0_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_10_2_1_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_2_2_4_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_components_2_2_1_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_15_9_8_vue_loader_lib_index_js_vue_loader_options_comment_vue_vue_type_style_index_0_lang_scss_rel_stylesheet_2Fscss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /***/ }),
- /***/ 185:
- /***/ (function(module, exports, __webpack_require__) {
- // Imports
- var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
- var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
- // Module
- ___CSS_LOADER_EXPORT___.push([module.i, ".col_red{color:#f11111}.col_green{color:#44be95}.col_white{color:#fff}.flex-col{flex-direction:column}.flex-j-c{justify-content:center}.flex-j-sb{justify-content:space-between}.flex-j-ar{justify-content:space-around}.flex-a-c{align-items:center}.flex-a-e{align-items:flex-end}.w{width:1200px}.m-auto{margin:0 auto}.height-one{height:100%}.flex{display:flex}.text-overflow{-webkit-line-clamp:4}.text-overflow,.text-overflow-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.text-overflow-2{-webkit-line-clamp:2}.text-overflow-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.overflow-hide,.text-overflow-3{overflow:hidden;text-overflow:ellipsis}.overflow-hide{white-space:nowrap}.hiddenScroll{scrollbar-width:none;-ms-overflow-style:none;overflow-x:hidden;overflow-y:scroll}.hiddenScroll::-webkit-scrollbar{display:none}.finger-point{cursor:pointer}.cursor-default{cursor:default}.el-icon-circle-close{color:#fff}.container{padding:0 10px;box-sizing:border-box}.container .write-reply{display:flex;align-items:center;font-size:14px;color:#909399;padding:10px;cursor:pointer}.container .write-reply:hover{color:#303133}.container .write-reply .el-icon-edit{margin-right:5px}.container .input-wrapper{padding:0 10px 10px}.container .input-wrapper .reply-box{margin-bottom:5px;color:var(--color)}.container .input-wrapper .el-input__inner,.container .input-wrapper .gray-bg-input{background-color:#296fd8}.container .input-wrapper .btn-control{display:flex;justify-content:space-between;align-items:flex-end;padding-top:10px}.container .input-wrapper .btn-control .el-icon-picture{font-size:24px;color:#ababab;border-radius:8px;overflow:hidden}.container .input-wrapper .btn-control .cancel{font-size:14px;color:#606266;margin-right:20px;cursor:pointer}.container .input-wrapper .btn-control .cancel:hover{color:#333}.container .input-wrapper .btn-control .confirm{font-size:14px;padding:6px 20px}.container .comment{display:flex;flex-direction:column;padding:10px;border-bottom:1px solid #f2f6fc}.container .comment .info{display:flex}.container .comment .info .avatar{width:40px;height:40px;border-radius:50%}.container .comment .info .right-box{display:flex;align-items:center}.container .comment .info .right-box .name{font-size:14px;color:#303133;font-weight:500}.container .comment .info .right-box .date{font-size:12px;margin-left:20px;color:#909399}.container .comment .info .right-box .control{flex:1;text-align:right}.container .comment .info .right-box .control span{margin-right:10px}.container .comment .comment-content{font-size:16px;color:#303133;line-height:20px;padding:10px 0}.container .comment .comment-imgs{display:flex;flex-wrap:wrap}.container .comment .comment-imgs .el-image{cursor:pointer;width:60px;height:60px;border-radius:2px;margin:0 10px 10px 0}.container .comment .look-child{padding-left:10px;color:#666}.container .comment .look-child:hover{color:var(--color)}.container .comment .reply{margin:10px 0;border-left:2px solid #dcdfe6}.container .comment .reply .item{margin:0 10px;padding:10px 0;border-bottom:1px dashed #ebeef5}.container .comment .reply .item .reply-avatar{width:40px;height:40px;border-radius:50%;margin-right:10px}.container .comment .reply .item .reply-title .from-name{color:#409eff}.container .comment .reply .item .reply-title .to-name{color:#409eff;margin-left:5px;margin-right:5px}.container .comment .reply .item .reply-title .reply-time{font-size:12px;color:#909399}.container .comment .reply .item .reply-content{font-size:14px;color:#303133;padding:6px 0}.container .check-more{padding-top:10px;text-align:center;color:#666}.container .check-more:hover{color:var(--color)}", ""]);
- // Exports
- module.exports = ___CSS_LOADER_EXPORT___;
- /***/ }),
- /***/ 199:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
- // CONCATENATED MODULE: ./node_modules/_vue-loader@15.9.8@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_@nuxt_components@2.2.1@@nuxt/components/dist/loader.js??ref--0-0!./node_modules/_vue-loader@15.9.8@vue-loader/lib??vue-loader-options!./components/microHome/comment.vue?vue&type=template&id=1ecb7b7c&
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container"},[_vm._ssrNode("<div class=\"write-reply\"><i class=\"el-icon-edit\"></i> <span class=\"add-comment\">添加新评论</span></div> "),_c('el-collapse-transition',[(_vm.isShowInput)?_c('div',{staticClass:"input-wrapper"},[(_vm.replyUser)?_c('p',{staticClass:"reply-box"},[_vm._v(_vm._s(_vm.replyUser)+":")]):_vm._e(),_vm._v(" "),_c('el-input',{ref:"inputComment",staticClass:"gray-bg-input",attrs:{"resize":"none","type":"textarea","rows":4,"autofocus":"","placeholder":"写下你的评论..."},model:{value:(_vm.inputComment),callback:function ($$v) {_vm.inputComment=$$v},expression:"inputComment"}}),_vm._v(" "),_c('div',{staticClass:"btn-control"},[_c('div',{staticClass:"left"},[_c('el-upload',{directives:[{name:"show",rawName:"v-show",value:(_vm.fileList.length > 0),expression:"fileList.length > 0"}],ref:"upload",attrs:{"accept":"image/*","multiple":"","action":_vm.uploadUrl,"file-list":_vm.fileList,"list-type":"picture-card","on-change":_vm.handleImgChange,"on-success":_vm.handleFrontSuccess,"on-remove":_vm.handleRemove}},[_c('i',{staticClass:"el-icon-plus"})]),_vm._v(" "),_c('i',{staticClass:"el-icon-picture finger-point",on:{"click":_vm.submitUpload}})],1),_vm._v(" "),_c('div',{staticClass:"right"},[_c('span',{staticClass:"cancel",on:{"click":_vm.cancel}},[_vm._v("取消")]),_vm._v(" "),_c('el-button',{staticClass:"confirm",attrs:{"type":"success","round":""},on:{"click":_vm.commitComment}},[_vm._v("确定")])],1)])],1):_vm._e()]),_vm._ssrNode(" "),_vm._l((_vm.comments),function(item,index){return _vm._ssrNode("<div class=\"comment\">","</div>",[_vm._ssrNode("<div class=\"info\">","</div>",[_vm._ssrNode(((item.has_one_comment_user)?("<img"+(_vm._ssrAttr("src",item.has_one_comment_user.avatar))+" class=\"avatar\">"):"<!---->")+" "),_vm._ssrNode("<div style=\"margin-left: 10px;flex:1;\">","</div>",[_vm._ssrNode("<div class=\"right-box\"><div class=\"name\">"+_vm._ssrEscape(_vm._s(item.uname))+"</div> <div class=\"date\">"+_vm._ssrEscape(_vm._s(item.created_at))+"</div> <div class=\"control finger-point\"><span"+(_vm._ssrStyle(null,{color: item.is_praise?'#ec544a':''}, null))+"><i class=\"iconfont icon-fontclass-tuijian\"></i>"+_vm._ssrEscape(" "+_vm._s(item.praise_num)+"\n ")+"</span> <span><i class=\"iconfont icon-fontclass-pinglun2\"></i> 回复\n </span> "+((_vm.comment_open == 1)?("<span><i class=\"iconfont icon-fontclass-shang\"></i> 赞赏\n </span>"):"<!---->")+" "+((item.is_own == 1)?("<span><i class=\"iconfont icon-fontclass-shanchu\"></i></span>"):"<!---->")+"</div></div> <div class=\"comment-content\">"+_vm._ssrEscape(_vm._s(item.content))+"</div> "),_vm._ssrNode("<div class=\"comment-imgs\">","</div>",_vm._l((item.image),function(imgItem,index){return _c('el-image',{key:index,attrs:{"src":imgItem,"fit":"contain"},on:{"click":function($event){$event.stopPropagation();return _vm.toShowImgViewer(item.image, index)}}})}),1),_vm._ssrNode(" "+((!_vm.showChild && item.child.length > 0)?("<div class=\"reply finger-point look-child\">查看该评论回复</div>"):"<!---->")+" "),(_vm.showChild)?_vm._ssrNode("<div class=\"reply\">","</div>",_vm._l((item.child),function(reply,replyIndex){return _vm._ssrNode("<div class=\"item\">","</div>",[_vm._ssrNode("<div class=\"flex flex-a-c\">","</div>",[_vm._ssrNode("<div style=\"display: flex;align-self: flex-start\">"+((reply.has_one_comment_user)?("<img"+(_vm._ssrAttr("src",reply.has_one_comment_user.avatar))+" alt class=\"reply-avatar\">"):"<!---->")+"</div> "),_vm._ssrNode("<div style=\"margin-left: 10px;flex:1;\">","</div>",[_vm._ssrNode("<div class=\"right-box\"><div class=\"reply-title\"><span class=\"from-name\">"+_vm._ssrEscape(_vm._s(reply.uname))+"</span><span>: </span> "+((reply.less_name)?("<span class=\"to-name\">"+_vm._ssrEscape("@"+_vm._s(reply.less_name))+"</span>"):"<!---->")+" <span class=\"reply-time\">"+_vm._ssrEscape(_vm._s(reply.created_at))+"</span></div> <div class=\"control finger-point\"><span"+(_vm._ssrStyle(null,{color: reply.is_praise?'#ec544a':''}, null))+"><i class=\"iconfont icon-fontclass-tuijian\"></i>"+_vm._ssrEscape(" "+_vm._s(reply.praise_num)+"\n ")+"</span> <span><i class=\"iconfont icon-fontclass-pinglun2\"></i> 回复\n </span> "+((reply.is_own == 1)?("<span><i class=\"iconfont icon-fontclass-shanchu\"></i></span>"):"<!---->")+"</div></div> <div class=\"reply-content\">"+_vm._ssrEscape(_vm._s(reply.content))+"</div> "),_vm._ssrNode("<div class=\"comment-imgs\">","</div>",_vm._l((reply.image),function(imgItem,index){return _c('el-image',{key:index,attrs:{"src":imgItem,"fit":"contain"},on:{"click":function($event){$event.stopPropagation();return _vm.toShowImgViewer(reply.image, index)}}})}),1)],2)],2)])}),0):_vm._e()],2)],2)])}),_vm._ssrNode(" "),(_vm.showViewer)?_c('el-image-viewer',{attrs:{"initialIndex":_vm.initialIndex,"url-list":_vm.img_list},on:{"onClose":function($event){_vm.showViewer = false}}}):_vm._e(),_vm._ssrNode(" "+((_vm.showMore)?("<div class=\"check-more finger-point\">查看更多</div>"):"<!---->"))],2)}
- var staticRenderFns = []
- // CONCATENATED MODULE: ./components/microHome/comment.vue?vue&type=template&id=1ecb7b7c&
- // EXTERNAL MODULE: ./components/default/image-viewer.vue + 4 modules
- var image_viewer = __webpack_require__(156);
- // CONCATENATED MODULE: ./node_modules/_babel-loader@8.2.3@babel-loader/lib??ref--2-0!./node_modules/_@nuxt_components@2.2.1@@nuxt/components/dist/loader.js??ref--0-0!./node_modules/_vue-loader@15.9.8@vue-loader/lib??vue-loader-options!./components/microHome/comment.vue?vue&type=script&lang=js&
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- /* harmony default export */ var commentvue_type_script_lang_js_ = ({
- props: {
- showMore: {
- type: Boolean,
- default: false
- },
- comments: {
- type: Array,
- required: true
- },
- comment_open: {},
- is_detail: {}
- },
- data() {
- return {
- showChild: false,
- img_list: [],
- showViewer: false,
- initialIndex: 0,
- isShowInput: false,
- replyUser: "",
- inputComment: "",
- host_comment_id: "",
- second_comment_id: "",
- uploadUrl: "",
- fileList: [],
- imgData: [],
- options_type: ""
- };
- },
- components: {
- ElImageViewer: image_viewer["default"]
- },
- mounted() {
- this.uploadUrl = this.fun.getRealUrl("upload.uploadPic", {});
- },
- methods: {
- toShowImgViewer(list, index) {
- this.img_list = list;
- this.initialIndex = index;
- this.showViewer = true;
- },
- submitUpload() {
- this.$refs['upload'].$children[1].$refs.input.click();
- },
- checkAllSuccess() {
- // 检查图片是否上传完成
- return Object.keys(this.fileList).every(item => this.fileList[item].hasSuccess);
- },
- handleImgChange(file, fileList) {
- this.fileList = fileList;
- },
- handleFrontSuccess(res, file, fileList) {
- if (res.result == 1) {
- this.fileList.map((item, index) => {
- if (item.uid == file.uid) {
- this.fileList[index].hasSuccess = true;
- this.imgData[index] = {
- url: res.data.img_url,
- uid: file.uid
- };
- }
- }); // console.log(fileList,this.imgData)
- } else {
- let ind = 0;
- this.fileList.map((item, index) => {
- if (item.uid == file.uid) {
- ind = index;
- }
- });
- this.fileList.splice(ind, 1);
- fileList.splice(ind, 1);
- this.$message.error(res.msg);
- }
- },
- handleRemove(file) {
- this.imgData = this.imgData.filter(item => {
- return item.uid != file.uid;
- });
- this.fileList = this.fileList.filter(item => {
- return item.uid != file.uid;
- });
- },
- // 点赞
- praiseBtn(host_comment_id, second_comment_id, index, chilindex, is_praise) {
- let data = {
- host_comment_id,
- second_comment_id,
- index,
- chilindex,
- is_praise
- };
- this.$emit('praiseBtn', data);
- },
- // 赞赏
- moneyShow(item) {
- this.$emit('moneyShow', item);
- },
- deleteBtn(item) {
- this.$emit('delReply', item);
- },
- // 加载更多
- loadMore() {
- this.$emit('loadMore');
- },
- // 取消
- cancel() {
- this.host_comment_id = "";
- this.second_comment_id = "";
- this.replyUser = "";
- this.isShowInput = false;
- },
- // 提交评论
- commitComment() {
- if (!this.inputComment) {
- this.$message.error("不能发送空白信息");
- return;
- }
- if (!this.checkAllSuccess()) {
- this.$message('请等待所有图片上传成功!');
- return;
- }
- let _json = {
- content: this.inputComment,
- image: this.imgData.map(item => {
- return item.url;
- }),
- host_comment_id: this.host_comment_id,
- second_comment_id: this.second_comment_id
- };
- if (this.options_type) {
- _json.options_type = this.options_type;
- }
- this.$emit("confirm", _json);
- this.inputComment = "";
- this.imgData = [];
- this.fileList = [];
- this.$refs.upload.clearFiles();
- },
- // 显示输入框
- showCommentInput(item, reply, flag) {
- if (reply) {
- this.second_comment_id = reply.id;
- this.host_comment_id = item.id;
- this.options_type = 'childReply';
- this.replyUser = "回复@" + reply.uname + " ";
- } else if (item) {
- this.second_comment_id = "";
- this.host_comment_id = item.id;
- this.options_type = 'reply';
- this.replyUser = "回复@" + item.uname + " ";
- } else {
- this.host_comment_id = "";
- this.second_comment_id = "";
- this.options_type = '';
- this.replyUser = "";
- }
- this.inputComment = "";
- this.isShowInput = true;
- if (flag != 'noFocus') {
- this.$nextTick(() => {
- this.$refs.inputComment.focus();
- });
- }
- }
- }
- });
- // CONCATENATED MODULE: ./components/microHome/comment.vue?vue&type=script&lang=js&
- /* harmony default export */ var microHome_commentvue_type_script_lang_js_ = (commentvue_type_script_lang_js_);
- // EXTERNAL MODULE: ./node_modules/_vue-loader@15.9.8@vue-loader/lib/runtime/componentNormalizer.js
- var componentNormalizer = __webpack_require__(2);
- // CONCATENATED MODULE: ./components/microHome/comment.vue
- function injectStyles (context) {
-
- var style0 = __webpack_require__(184)
- if (style0.__inject__) style0.__inject__(context)
- }
- /* normalize component */
- var component = Object(componentNormalizer["a" /* default */])(
- microHome_commentvue_type_script_lang_js_,
- render,
- staticRenderFns,
- false,
- injectStyles,
- null,
- "8c3c31b8"
-
- )
- /* harmony default export */ var comment = __webpack_exports__["default"] = (component.exports);
- /***/ })
- };;
- //# sourceMappingURL=micro-home-comment.js.map
|