exports.ids = [90,3,5,15,22,23,25,31,32,33,34,35,41,42,43,44,46,47,48,49,51,52,53,54];
exports.modules = {

/***/ 137:
/***/ (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;
};


/***/ }),

/***/ 138:
/***/ (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);
};


/***/ }),

/***/ 139:
/***/ (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;
});;


/***/ }),

/***/ 140:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 142:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 143:
/***/ (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/Tinymce/index.vue?vue&type=template&id=64623c0e&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "tinymce-container",
    class: {
      fullscreen: _vm.fullscreen
    },
    style: {
      width: _vm.containerWidth
    }
  }, [_vm._ssrNode("<textarea" + _vm._ssrAttr("id", _vm.tinymceId) + " class=\"tinymce-textarea\" data-v-64623c0e></textarea>")]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/Tinymce/index.vue?vue&type=template&id=64623c0e&scoped=true

// EXTERNAL MODULE: ./components/Tinymce/plugins.js
var plugins = __webpack_require__(150);

// EXTERNAL MODULE: ./components/Tinymce/toolbar.js
var toolbar = __webpack_require__(151);

// EXTERNAL MODULE: ./components/Tinymce/dynamicLoadScript.js
var dynamicLoadScript = __webpack_require__(152);

// 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!./components/Tinymce/index.vue?vue&type=script&lang=js
/**
 * docs:
 * https://panjiachen.github.io/vue-element-admin-site/feature/component/rich-editor.html#tinymce
 */
// import editorImage from './components/EditorImage'




// why use this cdn, detail see https://github.com/PanJiaChen/tinymce-all-in-one
const tinymceCDN = '//cdn.jsdelivr.net/npm/tinymce-all-in-one@4.9.3/tinymce.min.js';
/* harmony default export */ var Tinymcevue_type_script_lang_js = ({
  name: 'Tinymce',
  // components: { editorImage },
  props: {
    id: {
      type: String,
      default: function () {
        return 'vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '');
      }
    },
    value: {
      type: String,
      default: ''
    },
    toolbar: {
      type: Array,
      required: false,
      default() {
        return [];
      }
    },
    menubar: {
      type: String,
      default: 'file edit insert view format table'
    },
    height: {
      type: [Number, String],
      required: false,
      default: 360
    },
    width: {
      type: [Number, String],
      required: false,
      default: 'auto'
    }
  },
  data() {
    return {
      hasChange: false,
      hasInit: false,
      tinymceId: this.id,
      fullscreen: false,
      languageTypeList: {
        'en': 'en',
        'zh': 'zh_CN',
        'es': 'es_MX',
        'ja': 'ja'
      }
    };
  },
  computed: {
    language() {
      return this.languageTypeList[this.$store.getters.language];
    },
    containerWidth() {
      const width = this.width;
      if (/^[\d]+(\.[\d]+)?$/.test(width)) {
        // matches `100`, `'100'`
        return `${width}px`;
      }
      return width;
    }
  },
  watch: {
    value(val) {
      if (!this.hasChange && this.hasInit) {
        this.$nextTick(() => window.tinymce.get(this.tinymceId).setContent(val || ''));
      }
    },
    language() {
      this.destroyTinymce();
      this.$nextTick(() => this.initTinymce());
    }
  },
  mounted() {
    this.init();
  },
  activated() {
    if (window.tinymce) {
      this.initTinymce();
    }
  },
  deactivated() {
    this.destroyTinymce();
  },
  destroyed() {
    this.destroyTinymce();
  },
  methods: {
    init() {
      // dynamic load tinymce from cdn
      Object(dynamicLoadScript["default"])(tinymceCDN, err => {
        if (err) {
          this.$message.error(err.message);
          return;
        }
        this.initTinymce();
      });
    },
    initTinymce() {
      const _this = this;
      window.tinymce.init({
        language: this.language,
        selector: `#${this.tinymceId}`,
        height: this.height,
        body_class: 'panel-body ',
        object_resizing: false,
        toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar["default"],
        menubar: this.menubar,
        plugins: plugins["default"],
        end_container_on_empty_block: true,
        powerpaste_word_import: 'clean',
        code_dialog_height: 450,
        code_dialog_width: 1000,
        advlist_bullet_styles: 'square',
        advlist_number_styles: 'default',
        imagetools_cors_hosts: ['www.tinymce.com', 'codepen.io'],
        default_link_target: '_blank',
        link_title: false,
        nonbreaking_force_tab: true,
        // inserting nonbreaking space &nbsp; need Nonbreaking Space Plugin
        init_instance_callback: editor => {
          if (_this.value) {
            editor.setContent(_this.value);
          }
          _this.hasInit = true;
          editor.on('NodeChange Change KeyUp SetContent', () => {
            this.hasChange = true;
            this.$emit('input', editor.getContent());
          });
        },
        setup(editor) {
          editor.on('FullscreenStateChanged', e => {
            _this.fullscreen = e.state;
          });
        },
        // it will try to keep these URLs intact
        // https://www.tiny.cloud/docs-3x/reference/configuration/Configuration3x@convert_urls/
        // https://stackoverflow.com/questions/5196205/disable-tinymce-absolute-to-relative-url-conversions
        convert_urls: false
        // 整合七牛上传
        // images_dataimg_filter(img) {
        //   setTimeout(() => {
        //     const $image = $(img);
        //     $image.removeAttr('width');
        //     $image.removeAttr('height');
        //     if ($image[0].height && $image[0].width) {
        //       $image.attr('data-wscntype', 'image');
        //       $image.attr('data-wscnh', $image[0].height);
        //       $image.attr('data-wscnw', $image[0].width);
        //       $image.addClass('wscnph');
        //     }
        //   }, 0);
        //   return img
        // },
        // images_upload_handler(blobInfo, success, failure, progress) {
        //   progress(0);
        //   const token = _this.$store.getters.token;
        //   getToken(token).then(response => {
        //     const url = response.data.qiniu_url;
        //     const formData = new FormData();
        //     formData.append('shop-token', response.data.qiniu_token);
        //     formData.append('key', response.data.qiniu_key);
        //     formData.append('file', blobInfo.blob(), url);
        //     upload(formData).then(() => {
        //       success(url);
        //       progress(100);
        //     })
        //   }).catch(err => {
        //     failure('出现未知问题，刷新页面，或者联系程序员')
        //     console.log(err);
        //   });
        // },
      });
    },
    destroyTinymce() {
      const tinymce = window.tinymce.get(this.tinymceId);
      if (this.fullscreen) {
        tinymce.execCommand('mceFullScreen');
      }
      if (tinymce) {
        tinymce.destroy();
      }
    },
    setContent(value) {
      window.tinymce.get(this.tinymceId).setContent(value);
    },
    getContent() {
      window.tinymce.get(this.tinymceId).getContent();
    },
    imageSuccessCBK(arr) {
      arr.forEach(v => window.tinymce.get(this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`));
    }
  }
});
// CONCATENATED MODULE: ./components/Tinymce/index.vue?vue&type=script&lang=js
 /* harmony default export */ var components_Tinymcevue_type_script_lang_js = (Tinymcevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Tinymce/index.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(155)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Tinymcevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "64623c0e",
  "c8124998"
  
)

/* harmony default export */ var Tinymce = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 144:
/***/ (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__(137);

// EXTERNAL MODULE: ./node_modules/element-ui/src/utils/util.js + 1 modules
var util = __webpack_require__(138);

// 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__(139);

// 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,
  "d848a8d6"
  
)

/* harmony default export */ var image_viewer = __webpack_exports__["a"] = (component.exports);

/***/ }),

/***/ 147:
/***/ (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_Card_vue_vue_type_style_index_0_id_0c1bd2af_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(140);
/* 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_Card_vue_vue_type_style_index_0_id_0c1bd2af_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_Card_vue_vue_type_style_index_0_id_0c1bd2af_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_Card_vue_vue_type_style_index_0_id_0c1bd2af_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_Card_vue_vue_type_style_index_0_id_0c1bd2af_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 150:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
// Any plugins you want to use has to be imported
// Detail plugins list see https://www.tinymce.com/docs/plugins/
// Custom builds see https://www.tinymce.com/download/custom-builds/

const plugins = ['advlist  autolink autosave code  colorpicker colorpicker contextmenu directionality  fullscreen hr insertdatetime link lists  nonbreaking noneditable paste preview print save  spellchecker tabfocus table template textcolor textpattern visualblocks visualchars wordcount'];
//anchor codesample emoticons pagebreak searchreplace image  imagetools media
/* harmony default export */ __webpack_exports__["default"] = (plugins);

/***/ }),

/***/ 151:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
// Here is a list of the toolbar
// Detail list see https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols

const toolbar = ['searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent  blockquote undo redo removeformat subscript superscript code codesample', 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen'];
/* harmony default export */ __webpack_exports__["default"] = (toolbar);

/***/ }),

/***/ 152:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
let callbacks = [];
function loadedTinymce() {
  // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2144
  // check is successfully downloaded script
  return window.tinymce;
}
const dynamicLoadScript = (src, callback) => {
  const existingScript = document.getElementById(src);
  const cb = callback || function () {};
  if (!existingScript) {
    const script = document.createElement('script');
    script.src = src; // src url for the third-party library being loaded.
    script.id = src;
    document.body.appendChild(script);
    callbacks.push(cb);
    const onEnd = 'onload' in script ? stdOnEnd : ieOnEnd;
    onEnd(script);
  }
  if (existingScript && cb) {
    if (loadedTinymce()) {
      cb(null, existingScript);
    } else {
      callbacks.push(cb);
    }
  }
  function stdOnEnd(script) {
    script.onload = function () {
      // this.onload = null here is necessary
      // because even IE9 works not like others
      this.onerror = this.onload = null;
      for (const cb of callbacks) {
        cb(null, script);
      }
      callbacks = null;
    };
    script.onerror = function () {
      this.onerror = this.onload = null;
      cb(new Error('Failed to load ' + src), script);
    };
  }
  function ieOnEnd(script) {
    script.onreadystatechange = function () {
      if (this.readyState !== 'complete' && this.readyState !== 'loaded') return;
      this.onreadystatechange = null;
      for (const cb of callbacks) {
        cb(null, script); // there is no way to catch loading errors in IE8
      }
      callbacks = null;
    };
  }
};
/* harmony default export */ __webpack_exports__["default"] = (dynamicLoadScript);

/***/ }),

/***/ 153:
/***/ (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/Card.vue?vue&type=template&id=0c1bd2af&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('nuxt-link', {
    staticClass: "card",
    attrs: {
      "to": {
        name: 'product-code',
        params: {
          code: _vm.cardData.product_code
        }
      }
    }
  }, [_c('figure', [_c('div', {
    staticClass: "card-img"
  }, [_c('el-image', {
    staticClass: "card-img-1",
    staticStyle: {
      "width": "100%",
      "height": "100%"
    },
    attrs: {
      "src": _vm.comImg,
      "fit": "cover"
    }
  }), _vm._v(" "), _vm.comBestIcon ? _c('img', {
    staticClass: "best_icon",
    attrs: {
      "src": _vm.comBestIcon
    }
  }) : _vm._e(), _vm._v(" "), _c('div', {
    staticClass: "cycle_icon"
  }, _vm._l(_vm.cardData.cycle_icon, function (item, index) {
    return _c('img', {
      key: index,
      attrs: {
        "src": item.images
      }
    });
  }), 0)], 1), _vm._v(" "), _vm.showPricing ? _c('p', {
    staticClass: "show-pricing"
  }, [_vm._v("Pricing")]) : _vm._e(), _vm._v(" "), _c('figcaption', {
    staticClass: "card-info"
  }, [_c('h1', [_vm._v(_vm._s(_vm.cardData.product_name))]), _vm._v(" "), _c('p', {
    staticClass: "card-info-point"
  }, [_vm._v(_vm._s(_vm.cardData.product_code))]), _vm._v(" "), _c('div', {
    staticClass: "card-info-icon"
  }, _vm._l(_vm.cardData.icon, function (item, index) {
    return _c('img', {
      key: index,
      attrs: {
        "src": item.url
      }
    });
  }), 0)])])]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/Card.vue?vue&type=template&id=0c1bd2af&scoped=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!./components/Card.vue?vue&type=script&lang=js
/* harmony default export */ var Cardvue_type_script_lang_js = ({
  props: {
    cardData: {},
    showPricing: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {};
  },
  computed: {
    comImg() {
      var _this$cardData$main;
      return this.$utils.generateResizedImageUrl((_this$cardData$main = this.cardData.main) === null || _this$cardData$main === void 0 ? void 0 : _this$cardData$main.image, 300);
    },
    comBestIcon() {
      var _this$cardData$collec;
      const bestSeller = (_this$cardData$collec = this.cardData.collection_detail) === null || _this$cardData$collec === void 0 ? void 0 : _this$cardData$collec.find(item => item.name === "Best Seller");
      return bestSeller ? bestSeller.img : '';
    }
  },
  methods: {
    addCompareList(id, e) {
      this.$axios.post("home/compare_add", {
        id,
        compare_keys: "keys"
      }).then(res => {
        if (res.code === 1) {
          this.$store.dispatch("getCompareList");
          this.$emit("addCompare", e.target);
        } else {
          this.$message({
            message: res.msg,
            type: "warning"
          });
        }
      }).catch(() => {});
    },
    goProduct(cardData) {
      this.$router.push({
        name: "product-code",
        params: {
          code: cardData.product_code
        }
      });
      // let routeData = this.$router.resolve({
      //   name: "product-code",
      //   params:{ code: cardData.product_code },
      // });
      // window.open(routeData.href, '_blank');
    }
  }
});
// CONCATENATED MODULE: ./components/Card.vue?vue&type=script&lang=js
 /* harmony default export */ var components_Cardvue_type_script_lang_js = (Cardvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Card.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(147)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Cardvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "0c1bd2af",
  "24e8a21e"
  
)

/* harmony default export */ var Card = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 155:
/***/ (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_index_vue_vue_type_style_index_0_id_64623c0e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(142);
/* 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_index_vue_vue_type_style_index_0_id_64623c0e_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_index_vue_vue_type_style_index_0_id_64623c0e_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_index_vue_vue_type_style_index_0_id_64623c0e_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_index_vue_vue_type_style_index_0_id_64623c0e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 156:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 165:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 167:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 170:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 171:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 172:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 173:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 174:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 177:
/***/ (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/FormDialog.vue?vue&type=template&id=b3af2fb8&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('el-dialog', {
    attrs: {
      "lock-scroll": false,
      "title": _vm.title,
      "visible": _vm.visible,
      "width": "700px",
      "before-close": _vm.handleClose,
      "top": _vm.top,
      "show-close": false
    },
    on: {
      "update:visible": function ($event) {
        _vm.visible = $event;
      }
    }
  }, [_c('el-form', {
    ref: "ruleForm",
    attrs: {
      "model": _vm.emailForm,
      "rules": _vm.rules
    }
  }, _vm._l(_vm.comEnquiryConfig, function (item) {
    return _c('el-form-item', {
      key: item.prop,
      style: {
        marginBottom: _vm.marginBottom + 'px'
      },
      attrs: {
        "label": item.prop,
        "label-width": _vm.labelWidth + 'px',
        "prop": item.prop
      }
    }, [item.type === 'text' ? _c('span', [_vm._v(_vm._s(_vm.emailForm[item.prop]))]) : _vm._e(), _vm._v(" "), item.type === 'input' ? _c('el-input', {
      attrs: {
        "type": item.type,
        "clearable": ""
      },
      model: {
        value: _vm.emailForm[item.prop],
        callback: function ($$v) {
          _vm.$set(_vm.emailForm, item.prop, $$v);
        },
        expression: "emailForm[item.prop]"
      }
    }) : item.type === 'textarea' ? _c('el-input', {
      attrs: {
        "type": "textarea",
        "rows": 5,
        "clearable": ""
      },
      model: {
        value: _vm.emailForm[item.prop],
        callback: function ($$v) {
          _vm.$set(_vm.emailForm, item.prop, $$v);
        },
        expression: "emailForm[item.prop]"
      }
    }) : item.type === 'tinymce' ? _c('tinymce', {
      attrs: {
        "height": 240
      },
      model: {
        value: _vm.emailForm[item.prop],
        callback: function ($$v) {
          _vm.$set(_vm.emailForm, item.prop, $$v);
        },
        expression: "emailForm[item.prop]"
      }
    }) : item.type === 'select' && item.isShow ? _c('el-select', {
      attrs: {
        "clearable": "",
        "filterable": "",
        "placeholder": item.placeholder ? item.placeholder : 'Please select'
      },
      model: {
        value: _vm.emailForm[item.prop],
        callback: function ($$v) {
          _vm.$set(_vm.emailForm, item.prop, $$v);
        },
        expression: "emailForm[item.prop]"
      }
    }, _vm._l(item.selectlist, function (i) {
      return _c('el-option', {
        key: i.id,
        attrs: {
          "label": i.name,
          "value": i.name
        }
      });
    }), 1) : item.type === 'checkbox' ? _c('el-checkbox-group', {
      model: {
        value: _vm.emailForm[item.prop],
        callback: function ($$v) {
          _vm.$set(_vm.emailForm, item.prop, $$v);
        },
        expression: "emailForm[item.prop]"
      }
    }, _vm._l(item.selectlist, function (i, k) {
      return _c('el-checkbox', {
        key: k,
        attrs: {
          "label": k + 1
        }
      }, [_vm._v(_vm._s(i))]);
    }), 1) : _vm._e()], 1);
  }), 1), _vm._v(" "), _c('div', {
    staticClass: "dialog-footer",
    attrs: {
      "slot": "footer"
    },
    slot: "footer"
  }, [_c('el-button', {
    attrs: {
      "type": "primary",
      "loading": _vm.$store.state.product.loading
    },
    on: {
      "click": _vm.handleSend
    }
  }, [_vm._v(_vm._s(_vm.sendbtnCext))]), _vm._v(" "), _c('el-button', {
    attrs: {
      "type": "info",
      "plain": ""
    },
    on: {
      "click": _vm.handleClose
    }
  }, [_vm._v(_vm._s(_vm.cancelbtnCext))])], 1)], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/FormDialog.vue?vue&type=template&id=b3af2fb8&scoped=true

// EXTERNAL MODULE: ./components/Tinymce/index.vue + 4 modules
var Tinymce = __webpack_require__(143);

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(5);

// 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!./components/FormDialog.vue?vue&type=script&lang=js


/* harmony default export */ var FormDialogvue_type_script_lang_js = ({
  components: {
    Tinymce: Tinymce["default"]
  },
  props: {
    title: {
      type: String,
      default: 'Send Email'
    },
    sendbtnCext: {
      type: String,
      default: 'Send Enquiry'
    },
    cancelbtnCext: {
      type: String,
      default: 'Cancel'
    },
    top: {
      type: String,
      default: '5vh'
    },
    isSendPdf: {
      type: Boolean,
      default: false
    },
    emailForm: {},
    enquiryConfig: [],
    rules: {},
    labelWidth: {
      type: Number,
      default: 150
    },
    marginBottom: {
      type: Number,
      default: 20
    },
    visible: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      downloading: false
    };
  },
  computed: {
    comEnquiryConfig() {
      return this.enquiryConfig.filter(item => {
        if (!item.hasOwnProperty('isShow') || item.isShow) {
          return item;
        }
      });
    }
  },
  methods: {
    ...Object(external_vuex_["mapMutations"])('product', ['setLoading']),
    handleClose() {
      this.$emit('update:visible', false);
    },
    handleSend() {
      this.$refs.ruleForm.validate(valid => {
        if (valid) {
          this.setLoading(true);
          if (this.isSendPdf) {
            // Bus.$emit("sendPdf");
            this.$emit("handleSend");
          } else {
            this.$emit("handleSend");
          }
        } else {
          return false;
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./components/FormDialog.vue?vue&type=script&lang=js
 /* harmony default export */ var components_FormDialogvue_type_script_lang_js = (FormDialogvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/FormDialog.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(180)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_FormDialogvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "b3af2fb8",
  "36e65bba"
  
)

/* harmony default export */ var FormDialog = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {Tinymce: __webpack_require__(143).default})


/***/ }),

/***/ 180:
/***/ (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_FormDialog_vue_vue_type_style_index_0_id_b3af2fb8_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(156);
/* 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_FormDialog_vue_vue_type_style_index_0_id_b3af2fb8_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_FormDialog_vue_vue_type_style_index_0_id_b3af2fb8_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_FormDialog_vue_vue_type_style_index_0_id_b3af2fb8_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_FormDialog_vue_vue_type_style_index_0_id_b3af2fb8_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 186:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 187:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 188:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 189:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 190:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 192:
/***/ (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/TabNav.vue?vue&type=template&id=8a32da06&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "tabs",
    style: {
      marginTop: _vm.marginTop + 'px',
      marginBottom: _vm.marginBottom + 'px',
      fontSize: _vm.fontSize + 'px'
    }
  }, [_vm._ssrNode(Array.isArray(_vm.tabList) ? "<ul" + _vm._ssrClass(null, _vm.borderType) + " data-v-8a32da06>" + _vm._ssrList(_vm.tabList, function (item, i) {
    return !item.hasOwnProperty('isShow') || item.isShow ? "<li" + _vm._ssrClass(null, {
      active: i === _vm.currTab
    }) + _vm._ssrStyle(null, {
      minWidth: _vm.liWidth + 'px',
      height: _vm.liHeight + 'px',
      lineHeight: _vm.liHeight + 'px',
      marginRight: _vm.marginRight + 'px'
    }, null) + " data-v-8a32da06><div data-v-8a32da06>" + _vm._ssrEscape(_vm._s(item.name)) + "</div></li>" : "<!---->";
  }) + _vm._ssrList(_vm.comRemaining, function (item) {
    return "<li class=\"unclickable\"" + _vm._ssrStyle(null, {
      minWidth: _vm.liWidth + 'px',
      lineHeight: _vm.liHeight + 'px',
      marginRight: _vm.marginRight + 'px'
    }, null) + " data-v-8a32da06><div data-v-8a32da06>" + _vm._ssrEscape(_vm._s(item)) + "</div></li>";
  }) + "</ul>" : "<ul data-v-8a32da06>" + _vm._ssrList(Object.keys(_vm.tabList), function (val, i) {
    return "<li" + _vm._ssrClass(null, {
      active: i === _vm.currTab
    }) + _vm._ssrStyle(null, {
      minWidth: _vm.liWidth + 'px',
      marginRight: _vm.marginRight + 'px'
    }, null) + " data-v-8a32da06><div data-v-8a32da06>" + _vm._ssrEscape(_vm._s(val)) + "</div></li>";
  }) + "</ul>")]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/TabNav.vue?vue&type=template&id=8a32da06&scoped=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!./components/TabNav.vue?vue&type=script&lang=js
/* harmony default export */ var TabNavvue_type_script_lang_js = ({
  props: {
    // color: {
    //   type: String,
    // },
    borderType: {
      type: String,
      default: 'noBorder'
    },
    fontSize: {
      type: Number,
      default: 14
    },
    marginTop: {
      type: Number,
      default: 0
    },
    marginBottom: {
      type: Number,
      default: 10
    },
    liWidth: {
      type: Number,
      default: 0
    },
    liHeight: {
      type: Number,
      default: 28
    },
    marginRight: {
      type: Number,
      default: 0
    },
    currTab: {
      type: [Number, String],
      default: 0
    },
    tabList: {
      type: [Array, Object],
      default: () => {
        return [];
      }
    },
    allPrintTab: {
      type: [Array, Object],
      default: () => {
        return [];
      }
    }
  },
  data() {
    return {
      textColor: 'red'
    };
  },
  computed: {
    comRemaining() {
      const mapTabList = this.tabList.map(i => i.name);
      return this.allPrintTab.filter(element => !mapTabList.includes(element));
    }
  },
  methods: {
    selTab(i) {
      this.$emit('update:currTab', i);
      this.$emit('handle');
    }
  }
});
// CONCATENATED MODULE: ./components/TabNav.vue?vue&type=script&lang=js
 /* harmony default export */ var components_TabNavvue_type_script_lang_js = (TabNavvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/TabNav.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(201)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_TabNavvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "8a32da06",
  "13345fdc"
  
)

/* harmony default export */ var TabNav = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 193:
/***/ (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_PcTitle_vue_vue_type_style_index_0_id_8446d0ce_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_PcTitle_vue_vue_type_style_index_0_id_8446d0ce_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_PcTitle_vue_vue_type_style_index_0_id_8446d0ce_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_PcTitle_vue_vue_type_style_index_0_id_8446d0ce_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_PcTitle_vue_vue_type_style_index_0_id_8446d0ce_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 195:
/***/ (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_ProjectDialog_vue_vue_type_style_index_0_id_46eebe9e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(167);
/* 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_ProjectDialog_vue_vue_type_style_index_0_id_46eebe9e_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_ProjectDialog_vue_vue_type_style_index_0_id_46eebe9e_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_ProjectDialog_vue_vue_type_style_index_0_id_46eebe9e_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_ProjectDialog_vue_vue_type_style_index_0_id_46eebe9e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 198:
/***/ (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_NewPriceTable_vue_vue_type_style_index_0_id_05e92126_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(170);
/* 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_NewPriceTable_vue_vue_type_style_index_0_id_05e92126_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_NewPriceTable_vue_vue_type_style_index_0_id_05e92126_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_NewPriceTable_vue_vue_type_style_index_0_id_05e92126_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_NewPriceTable_vue_vue_type_style_index_0_id_05e92126_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 199:
/***/ (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_TotalTable_vue_vue_type_style_index_0_id_2b5fb566_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(171);
/* 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_TotalTable_vue_vue_type_style_index_0_id_2b5fb566_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_TotalTable_vue_vue_type_style_index_0_id_2b5fb566_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_TotalTable_vue_vue_type_style_index_0_id_2b5fb566_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_TotalTable_vue_vue_type_style_index_0_id_2b5fb566_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 200:
/***/ (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_UnitTable_vue_vue_type_style_index_0_id_931e8840_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(172);
/* 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_UnitTable_vue_vue_type_style_index_0_id_931e8840_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_UnitTable_vue_vue_type_style_index_0_id_931e8840_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_UnitTable_vue_vue_type_style_index_0_id_931e8840_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_UnitTable_vue_vue_type_style_index_0_id_931e8840_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 201:
/***/ (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_TabNav_vue_vue_type_style_index_0_id_8a32da06_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(173);
/* 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_TabNav_vue_vue_type_style_index_0_id_8a32da06_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_TabNav_vue_vue_type_style_index_0_id_8a32da06_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_TabNav_vue_vue_type_style_index_0_id_8a32da06_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_TabNav_vue_vue_type_style_index_0_id_8a32da06_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 202:
/***/ (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_PcSwitch_vue_vue_type_style_index_0_id_58d567c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(174);
/* 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_PcSwitch_vue_vue_type_style_index_0_id_58d567c2_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_PcSwitch_vue_vue_type_style_index_0_id_58d567c2_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_PcSwitch_vue_vue_type_style_index_0_id_58d567c2_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_PcSwitch_vue_vue_type_style_index_0_id_58d567c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 203:
/***/ (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/PcTitle.vue?vue&type=template&id=8446d0ce&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('section', [_vm._ssrNode("<h1" + _vm._ssrStyle(null, {
    'marginTop': _vm.marginTop + 'px'
  }, null) + " data-v-8446d0ce>" + _vm._ssrEscape("\n    " + _vm._s(_vm.title) + "\n  ") + "</h1> <span class=\"decoration\" data-v-8446d0ce></span>")]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/PcTitle.vue?vue&type=template&id=8446d0ce&scoped=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!./components/PcTitle.vue?vue&type=script&lang=js
/* harmony default export */ var PcTitlevue_type_script_lang_js = ({
  props: {
    title: String,
    marginTop: {
      type: Number
    }
  }
});
// CONCATENATED MODULE: ./components/PcTitle.vue?vue&type=script&lang=js
 /* harmony default export */ var components_PcTitlevue_type_script_lang_js = (PcTitlevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/PcTitle.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(193)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_PcTitlevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "8446d0ce",
  "bf74b7f2"
  
)

/* harmony default export */ var PcTitle = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 204:
/***/ (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/ProjectDialog.vue?vue&type=template&id=46eebe9e&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('el-dialog', {
    attrs: {
      "lock-scroll": false,
      "visible": _vm.visible,
      "width": "500px",
      "before-close": _vm.handleClose,
      "show-close": false,
      "center": "",
      "top": "0"
    },
    on: {
      "update:visible": function ($event) {
        _vm.visible = $event;
      }
    }
  }, [_c('div', {
    staticClass: "content"
  }, [_c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "filterable": "",
      "allow-create": "",
      "clearable": "",
      "default-first-option": "",
      "filter-method": _vm.filterMethod,
      "placeholder": "Please choose your job name"
    },
    model: {
      value: _vm.keyword,
      callback: function ($$v) {
        _vm.keyword = $$v;
      },
      expression: "keyword"
    }
  }, _vm._l(_vm.selList, function (option) {
    return _c('el-option', {
      key: option.label_type,
      attrs: {
        "label": option.label_type,
        "value": option.label_type
      }
    });
  }), 1)], 1), _vm._v(" "), _c('div', {
    staticClass: "dialog-footer",
    attrs: {
      "slot": "footer"
    },
    slot: "footer"
  }, [_c('el-button', {
    attrs: {
      "type": "danger"
    },
    on: {
      "click": _vm.handleSend
    }
  }, [_vm._v("Add To My Project")]), _vm._v(" "), _c('el-button', {
    attrs: {
      "type": "info",
      "plain": ""
    },
    on: {
      "click": _vm.handleClose
    }
  }, [_vm._v("CANCEL")])], 1)]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/ProjectDialog.vue?vue&type=template&id=46eebe9e&scoped=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!./components/ProjectDialog.vue?vue&type=script&lang=js
/* harmony default export */ var ProjectDialogvue_type_script_lang_js = ({
  props: {
    visible: {
      type: Boolean,
      default: false
    },
    id: [Number, String],
    projectObj: {
      type: Object,
      default: () => {}
    },
    isCopy: {
      type: Boolean,
      default: true
    }
  },
  data() {
    return {
      keyword: "",
      selList: []
    };
  },
  mounted() {
    if (this.$utils.checkLogin()) {
      this.getSelect();
    }
  },
  methods: {
    getSelect() {
      this.$axios.post("/goods_cart/cartLabelLists", {
        keyword: this.keyword
      }).then(res => {
        this.selList = res.result;
      });
    },
    filterMethod(val) {
      this.keyword = val;
    },
    handleSend() {
      if (!this.keyword) {
        this.$message({
          message: 'Please choose your job name',
          type: "warning"
        });
        return;
      }
      if (this.isCopy) {
        this.$axios.post("/goods_cart/cartLabelGoodsCopy", {
          id: this.id,
          label_type_new: this.keyword
        }).then(res => {
          this.$message.success("Added successfully");
          this.$emit('sendFinish');
        });
        return;
      }
      let data = {
        ...{
          label_type: this.keyword,
          goods_id: this.id
        },
        ...this.projectObj
      };
      this.$axios.post("/goods_cart/cartAdd", data).then(res => {
        this.$message.success("Add success");
        this.$emit("update:visible", false);
      });
    },
    handleClose() {
      this.$emit("update:visible", false);
    }
  }
});
// CONCATENATED MODULE: ./components/ProjectDialog.vue?vue&type=script&lang=js
 /* harmony default export */ var components_ProjectDialogvue_type_script_lang_js = (ProjectDialogvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/ProjectDialog.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(195)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_ProjectDialogvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "46eebe9e",
  "2584d023"
  
)

/* harmony default export */ var ProjectDialog = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 207:
/***/ (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/Zoom.vue?vue&type=template&id=5b247e95&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "spec-preview"
  }, [_c('el-image', {
    staticStyle: {
      "width": "100%",
      "height": "100%"
    },
    attrs: {
      "src": _vm.imgUrl,
      "alt": "",
      "fit": "cover"
    }
  }), _vm._ssrNode(" <div class=\"event\" data-v-5b247e95></div> <div class=\"mask\" data-v-5b247e95></div>")], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/Zoom.vue?vue&type=template&id=5b247e95&scoped=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!./components/Zoom.vue?vue&type=script&lang=js
/* harmony default export */ var Zoomvue_type_script_lang_js = ({
  name: "Zoom",
  props: {
    imgUrl: String
  },
  data() {
    return {};
  },
  methods: {
    handler(event) {
      let mask = this.$refs.mask;
      // let bigImg = this.$refs.big;
      // 遮罩层可移动的范围：鼠标的当前坐标到该元素的距离（左侧、顶部）减去 遮罩层宽、高的一半(遮罩层始终是一个以鼠标为中心的正方形)
      let left = event.offsetX - mask.offsetWidth / 2;
      let top = event.offsetY - mask.offsetHeight / 2;
      // 约束遮罩层可移动的范围
      if (left <= 0) left = 0;
      if (left >= mask.offsetWidth) left = mask.offsetWidth;
      if (top <= 0) top = 0;
      if (top >= mask.offsetHeight) top = mask.offsetHeight;

      // 修改元素的left|top属性值
      mask.style.left = left + "px";
      mask.style.top = top + "px";
      // bigImg.style.left = -2 * left + "px";
      // bigImg.style.top = -2 * top + "px";
      let obj = {};
      obj.left = left;
      obj.top = top;
      obj.bigShow = true;
      this.$emit("sendStyle", obj);
    },
    leave() {
      let obj = {};
      obj.left = 0;
      obj.top = 0;
      obj.bigShow = false;
      this.$emit("sendStyle", obj);
    }
  }
});
// CONCATENATED MODULE: ./components/Zoom.vue?vue&type=script&lang=js
 /* harmony default export */ var components_Zoomvue_type_script_lang_js = (Zoomvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Zoom.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(229)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Zoomvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "5b247e95",
  "5a1b3161"
  
)

/* harmony default export */ var Zoom = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 208:
/***/ (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/table/NewPriceTable.vue?vue&type=template&id=05e92126&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "wrap",
    style: {
      marginBottom: _vm.marginBottom + 'px'
    }
  }, [_vm._ssrNode((_vm.tableType != 'Addon' ? "<p class=\"tb-title\" data-v-05e92126>" + _vm._s(_vm.comTitle) + "</p>" : "<!---->") + " "), _vm._ssrNode("<div" + _vm._ssrClass(null, _vm.getTableContainerClass) + " data-v-05e92126>", "</div>", [_c('el-table', {
    ref: "elTable",
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "show-header": _vm.tableType != 'Addon',
      "data": _vm.comTableData,
      "header-cell-style": {
        backgroundColor: '#fff',
        fontWeight: 'normal',
        fontSize: '14px',
        fontFamily: 'Proxima Nova',
        color: '#000',
        '--comDisplayCss': _vm.comDisplayCss
      },
      "row-key": "id",
      "span-method": _vm.arraySpanMethod,
      "row-class-name": _vm.tableRowClassName
    },
    on: {
      "selection-change": _vm.handleSelectionChange,
      "select": _vm.dialogCheck
    }
  }, [_vm.tableType != 'Comparison' ? _c('el-table-column', {
    attrs: {
      "type": "selection",
      "width": "50",
      "align": "center",
      "reserve-selection": true,
      "selectable": _vm.handleSelectable
    }
  }) : _vm._e(), _vm._v(" "), _vm._l(_vm.tableColumns, function (item) {
    return [item.type ? _c('el-table-column', {
      key: item.prop,
      attrs: {
        "align": item.align ? item.align : 'left',
        "prop": item.prop,
        "label": item.label,
        "formatter": item.formatter,
        "width": item.width,
        "sortable": item.sortable
      },
      scopedSlots: _vm._u([{
        key: "default",
        fn: function ({
          row
        }) {
          return [item.type == 'radioInput' ? [_c('div', {
            staticClass: "flex between"
          }, [_c('span', [_vm._v(_vm._s(row.decName))]), _vm._v(" "), _c('el-input', {
            staticClass: "edit-input",
            attrs: {
              "min": "0",
              "max": row.max_num,
              "type": "number",
              "size": "small"
            },
            on: {
              "input": function ($event) {
                return _vm.getNumber($event, row, row.max_num);
              }
            },
            model: {
              value: row.num,
              callback: function ($$v) {
                _vm.$set(row, "num", $$v);
              },
              expression: "row.num"
            }
          })], 1)] : _c('div', [row.filter_boolean ? [_c('div', {
            staticClass: "triangle"
          }), _vm._v(" "), _c('div', {
            staticClass: "text"
          }, [_vm._v("Eco")])] : _vm._e(), _vm._v("\n              " + _vm._s(row[item.prop]) + "\n              "), _vm.tableType == 'Undecorated' ? _c('el-popover', {
            attrs: {
              "placement": "top-start",
              "trigger": "hover"
            }
          }, [_c('i', {
            staticClass: "el-icon-warning",
            attrs: {
              "slot": "reference"
            },
            slot: "reference"
          }), _vm._v(" "), _c('p', {
            staticClass: "popover-text"
          }, [_vm._v(_vm._s(_vm.comTitle))])]) : _vm._e()], 2)];
        }
      }], null, true)
    }) : _vm._e(), _vm._v(" "), !item.type ? _c('el-table-column', {
      key: item.prop,
      attrs: {
        "align": item.align ? item.align : 'center',
        "prop": item.prop,
        "label": item.label,
        "formatter": item.formatter,
        "sortable": item.sortable,
        "show-overflow-tooltip": "",
        "width": (798 - _vm.tableColumns[0].width - _vm.tableColumns[0].extraWidth) / (_vm.tableColumns.length - 1)
      },
      scopedSlots: _vm._u([{
        key: "default",
        fn: function ({
          row,
          $index
        }) {
          return [item.prop === 'website_setup' ? _c('div', [$index === 0 && _vm.tableType == 'Decoration' ? _c('div', [row['supplier_setup_id'] < 5 || row['supplier_setup_id'] == 7 ? _c('span', [_vm._v("$ " + _vm._s(row['supplier_setup'] ? parseFloat(row['supplier_setup']).toFixed(2) : "0.00"))]) : _vm._e(), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$_setupPriceFilter(row['supplier_setup_id'])))])]) : _c('div', [row['website_setup_id'] < 5 || row['website_setup_id'] == 7 ? _c('span', [_vm._v("$ " + _vm._s(row['website_setup'] ? parseFloat(row['website_setup']).toFixed(2) : "0.00"))]) : _vm._e(), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$_setupPriceFilter(row['website_setup_id'])))])])]) : _vm.judgeProp(row, item.prop, $index) == '111' || _vm.judgeProp(row, item.prop, $index) == '111.00' ? _c('div', [_vm._v("\n              -\n            ")]) : _vm.judgeProp(row, item.prop, $index) == '999' || _vm.judgeProp(row, item.prop, $index) === '999.00' ? _c('div', [_vm._v("\n              POA\n            ")]) : _vm.judgeProp(row, item.prop, $index) === '' ? _c('div', [_vm._v("0")]) : _c('div', [_vm.isNumber(_vm.judgeProp(row, item.prop, $index)) && !item.isFirstColumn ? _c('span', [_vm._v("$")]) : _vm._e(), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.judgeProp(row, item.prop, $index)))])])];
        }
      }], null, true)
    }) : _vm._e()];
  })], 2)], 1)], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/table/NewPriceTable.vue?vue&type=template&id=05e92126&scoped=true

// EXTERNAL MODULE: external "number-precision"
var external_number_precision_ = __webpack_require__(112);

// 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!./components/table/NewPriceTable.vue?vue&type=script&lang=js

/* harmony default export */ var NewPriceTablevue_type_script_lang_js = ({
  filters: {
    // Decoration Table：打印价格+附加价格
    multiplyPrice(a1, row, prop) {
      const rep = /^[0-9]+.?[0-9]*$/;
      if (!rep.test(a1)) {
        return a1;
      } else {
        return Object(external_number_precision_["times"])(a1, row.num);
      }
    },
    // Undecorated Table：基础价格+Decoration所选价格（包含附加价格）
    plusPrice(a1, a2) {
      return a2 ? Object(external_number_precision_["plus"])(a1, a2) : a1;
    },
    // Decoration Table：计算差价
    differencePrice(a1, row, prop, selectRow) {
      const rep = /^[0-9]+.?[0-9]*$/;
      if (rep.test(a1)) {
        const temp = prop.split('_');
        const supplier = +row[`supplier_${temp[1]}`];
        const suppliers = Object(external_number_precision_["times"])(row.num - 1, supplier);
        const noIncludePrice = Object(external_number_precision_["plus"])(a1, suppliers);
        const selSupplier = +selectRow[`supplier_${temp[1]}`];
        const selSuppliers = Object(external_number_precision_["times"])(selectRow.num - 1, selSupplier);
        const isIncludePrice = Object(external_number_precision_["plus"])(+selectRow[prop], selSuppliers);
        return noIncludePrice > isIncludePrice ? `+${Object(external_number_precision_["minus"])(noIncludePrice, isIncludePrice)}` : Object(external_number_precision_["minus"])(noIncludePrice, isIncludePrice);
      } else {
        return a1;
      }
    }
  },
  props: {
    hasDecAdd: {
      type: Number,
      default: 0
    },
    tableData: {
      type: Array,
      default: () => {
        return [];
      }
    },
    tableColumns: {
      type: Array,
      default: () => {
        return [];
      }
    },
    operateWith: {
      type: String,
      default: '100%'
    },
    isCheckBox: {
      type: Boolean,
      default: false
    },
    tableType: {
      type: String,
      default: 'Undecorated'
    },
    decorationObj: {
      type: Object,
      default: () => {
        return {};
      }
    },
    selectId: {
      type: Number,
      default: null
    },
    selectRow: {
      type: Object,
      default: () => {
        return {};
      }
    },
    multipleSelection: {
      type: Array,
      default: () => {
        return [];
      }
    },
    selectDecoration: {
      type: Object,
      default: () => {
        return {};
      }
    },
    curPrint: {
      type: String,
      default: ''
    },
    curModel: {
      type: String,
      default: ''
    },
    marginBottom: {
      type: Number,
      default: 20
    },
    decorationMultiple: {
      type: Number,
      default: 1
    },
    headerShow: {
      type: Boolean,
      default: true
    }
  },
  data() {
    return {
      setupConfigList: [{
        id: 1,
        name: '/col'
      }, {
        id: 2,
        name: '/desgin'
      }, {
        id: 3,
        name: '/pos'
      }, {
        id: 4,
        name: '/pos desgin'
      }, {
        id: 5,
        name: 'POA'
      }, {
        id: 6,
        name: 'Waived'
      }],
      setupTitleList: ['1st', '2nd', '3rd']
    };
  },
  computed: {
    getTableContainerClass() {
      // 根据tableType的值返回不同的class
      return {
        'table-container': true,
        'border-Decoration': this.tableType === 'Decoration' && this.hasDecAdd
      };
    },
    comTitle() {
      if (this.tableType === 'Undecorated') {
        return `Includes ${this.curModel}`;
      } else if (this.tableType === 'Decoration') {
        return `Add-Ons`;
      } else {
        return this.curPrint;
      }
    },
    comDisplayCss() {
      return this.tableType === 'Comparison' ? '1px solid #efefef' : 'none';
    },
    comMultipleSelID() {
      return this.multipleSelection.map(i => i.id);
    },
    comTableData() {
      if (this.tableType === 'Decoration') {
        return this.tableData;
      } else {
        return this.tableData;
      }
    }
  },
  mounted() {
    // 初始勾上默认选择打印项
    if (JSON.stringify(this.selectRow) !== '{}') {
      this.$refs.elTable.toggleRowSelection(this.selectRow);
    }
  },
  methods: {
    judgeProp(row, prop, $index) {
      if ($index === 0 && this.tableType === 'Decoration') {
        const temp = prop.split('_');
        return row[`supplier_${temp[1]}`];
      } else {
        return row[prop];
      }
    },
    $_setupPriceFilter(setupPriceID) {
      const result = this.setupConfigList.filter(item => item.id === setupPriceID);
      return result.length > 0 ? result[0].name : '';
    },
    isNumber(val) {
      const rep = /^[0-9]+.?[0-9]*$/;
      return rep.test(val);
    },
    /* 暂不实现此功能
    //点击table栏时选中按钮
    handleCurrentChange(currentRow, oldCurrentRow) {
      this.$refs.elTable.clearSelection()
      this.$emit('update:selectId', currentRow.id)
      this.addCar(currentRow)
    },
    */
    // table全选
    handleSelectionChange(val) {
      this.$emit('update:multipleSelection', val);
    },
    dialogCheck(selection, row) {
      if (this.isCheckBox) return; // 是多选框返回
      this.$refs.elTable.clearSelection();
      // 初始化
      if (selection.length === 0) {
        this.$emit('update:selectId', null);
        this.$emit('update:selectRow', {});
        return;
      }
      if (row) {
        this.$emit('update:selectId', row.id);
        this.$emit('update:selectRow', row);
        this.$refs.elTable.toggleRowSelection(row, true);
      }
    },
    addCar(currentRow) {
      // 加入购物车需要parentId
      const selrow = Object.assign({}, currentRow);
      selrow.parentId = this.decorationObj.parentId;
      this.$emit('update:selectRow', selrow);
      this.$refs.elTable.toggleRowSelection(currentRow);
    },
    getRowKey(row) {
      return row.id;
    },
    arraySpanMethod({
      row,
      column,
      rowIndex,
      columnIndex
    }) {
      // 隐藏'Decoration'选项框
      if (this.tableType === 'Decoration' && columnIndex === 0) {
        return [0, 1];
      }
      if (this.tableType === 'Decoration' && columnIndex === 1) {
        return [1, 2];
      }
    },
    tableRowClassName({
      row
    }) {
      if (this.tableType === 'Decoration') {
        return this.decorationMultiple ? 'borderNone' : 'hiddenRow';
      }
      return 'fontBold';
    },
    handleSelectable(row, index) {
      // website_setup_id 5为POA，不可选
      return row.website_setup_id !== 5;
    },
    getNumber(e, row, max) {
      if (parseInt(e) > max) {
        row.num = max;
      }
    }
  }
});
// CONCATENATED MODULE: ./components/table/NewPriceTable.vue?vue&type=script&lang=js
 /* harmony default export */ var table_NewPriceTablevue_type_script_lang_js = (NewPriceTablevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/table/NewPriceTable.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(198)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  table_NewPriceTablevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "05e92126",
  "3abcc2b4"
  
)

/* harmony default export */ var NewPriceTable = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 209:
/***/ (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/table/TotalTable.vue?vue&type=template&id=2b5fb566&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "wrap"
  }, [_vm._ssrNode("<p" + _vm._ssrClass("tb-title", {
    'left': _vm.tableType
  }) + " data-v-2b5fb566><span data-v-2b5fb566>" + _vm._ssrEscape(_vm._s(_vm.title)) + "</span> " + (_vm.title == 'Sell Price' && _vm.comLocationNum !== 1 ? "<span" + _vm._ssrStyle(null, {
    width: _vm.comWidth + 'px'
  }, null) + " data-v-2b5fb566>Total</span>" : "<!---->") + "</p> "), _c('el-table', {
    ref: "elTable",
    attrs: {
      "border": "",
      "data": _vm.tableData,
      "header-cell-style": {
        backgroundColor: '#fff',
        color: '#606266',
        fontWeight: 500,
        fontSize: '16px'
      },
      "stripe": ""
    }
  }, _vm._l(_vm.tableColumns, function (item, index) {
    return _c('el-table-column', {
      key: `${_vm.curOrder}-${item.prop}`,
      attrs: {
        "align": item.align ? item.align : 'center',
        "prop": item.prop,
        "label": item.label,
        "formatter": item.formatter,
        "sortable": item.sortable
      },
      scopedSlots: _vm._u([{
        key: "header",
        fn: function (scope) {
          return [_vm.title == 'Buy Price' && _vm.comLocationNum === 1 ? _c('div', [_c('el-input', {
            directives: [{
              name: "show",
              rawName: "v-show",
              value: !item.isFirstColumn,
              expression: "!item.isFirstColumn"
            }],
            attrs: {
              "size": "small",
              "type": "number",
              "min": _vm.min
            },
            on: {
              "blur": function ($event) {
                return _vm.getNumber($event, index);
              }
            },
            model: {
              value: item.label,
              callback: function ($$v) {
                _vm.$set(item, "label", $$v);
              },
              expression: "item.label"
            }
          }), _vm._v(" "), _c('span', {
            directives: [{
              name: "show",
              rawName: "v-show",
              value: item.isFirstColumn,
              expression: "item.isFirstColumn"
            }]
          }, [_vm._v(_vm._s(item.label))])], 1) : _c('div', [_c('span', [_vm._v(_vm._s(item.label))])])];
        }
      }, {
        key: "default",
        fn: function (scope) {
          return [_vm.tableType && !item.isFirstColumn ? [_c('span', [_vm._v(_vm._s(_vm._f("differencePrice")(scope.row[item.prop], _vm.curDecoration[item.prop], _vm.indexDecoration[item.prop], _vm.poaConfig)))])] : [(typeof scope.row[item.prop] == 'string' && scope.row[item.prop].includes('.') || typeof scope.row[item.prop] == 'number') && !item.isFirstColumn ? _c('span', [_vm._v("$")]) : _vm._e(), _vm._v(" "), _c('span', [_vm._v(_vm._s(scope.row[item.prop] ? scope.row[item.prop] : '0.00'))])]];
        }
      }], null, true)
    });
  }), 1)], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/table/TotalTable.vue?vue&type=template&id=2b5fb566&scoped=true

// EXTERNAL MODULE: external "number-precision"
var external_number_precision_ = __webpack_require__(112);

// 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!./components/table/TotalTable.vue?vue&type=script&lang=js

/* harmony default export */ var TotalTablevue_type_script_lang_js = ({
  filters: {
    differencePrice(a, curDecoVal, indexDecoVal, poaConfig) {
      const rep = /^[0-9]+(\.[0-9]*)?$/;
      if (!rep.test(a)) {
        return a || 'Waived';
      }
      if (poaConfig.includes(curDecoVal) || poaConfig.includes(indexDecoVal)) {
        if (curDecoVal === '111' || curDecoVal === '111.00' || indexDecoVal === '111' || indexDecoVal === '111.00') {
          return '-';
        } else if (curDecoVal === '999' || curDecoVal === '999.00' || indexDecoVal === '999' || indexDecoVal === '999.00') {
          return 'POA';
        }
      } else if (curDecoVal === indexDecoVal) {
        return 0;
      } else if (+curDecoVal > +indexDecoVal) {
        return `-$ ${Object(external_number_precision_["minus"])(curDecoVal, indexDecoVal)}`;
      } else if (+curDecoVal < +indexDecoVal) {
        return `+$ ${Object(external_number_precision_["minus"])(indexDecoVal, curDecoVal)}`;
      } else {
        return 'Waived';
      }
    }
  },
  props: {
    tableData: {
      type: Array,
      default: () => []
    },
    tableColumns: {
      type: Array,
      default: () => []
    },
    tableType: {
      type: String,
      default: ''
    },
    curDecoration: {
      type: Object,
      default: () => {}
    },
    indexDecoration: {
      type: Object,
      default: () => {}
    },
    comLocationNum: {
      type: Number,
      default: 1
    },
    curOrder: {
      type: String,
      default: ''
    },
    min: {
      type: String,
      default: ''
    },
    title: {
      type: String,
      default: ''
    }
  },
  data() {
    return {
      poaConfig: ['111', '111.00', '999', '999.00']
    };
  },
  methods: {
    getNumber(e, index) {
      if (parseInt(e.target.value) < this.min) {
        this.$emit('send-idx', index);
      }
    }
  },
  computed: {
    comWidth() {
      return 800 / this.tableColumns.length - 1;
    }
  }
});
// CONCATENATED MODULE: ./components/table/TotalTable.vue?vue&type=script&lang=js
 /* harmony default export */ var table_TotalTablevue_type_script_lang_js = (TotalTablevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/table/TotalTable.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(199)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  table_TotalTablevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "2b5fb566",
  "2d8b8c59"
  
)

/* harmony default export */ var TotalTable = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 210:
/***/ (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/table/UnitTable.vue?vue&type=template&id=931e8840&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', [_vm._ssrNode("<p class=\"tb-title\" data-v-931e8840>Markup %</p> "), _c('el-table', {
    ref: "elTable",
    style: {
      width: _vm.operateWith
    },
    attrs: {
      "border": "",
      "data": _vm.tableData,
      "highlight-current-row": false,
      "header-cell-style": {
        backgroundColor: '#fff',
        color: '#606266',
        fontWeight: 500,
        fontSize: '16px'
      }
    }
  }, [_vm._l(_vm.tableColumns, function (item) {
    return [item.isText ? _c('el-table-column', {
      key: item.prop,
      attrs: {
        "align": "center",
        "prop": item.prop,
        "label": item.label,
        "formatter": item.formatter,
        "width": item.width,
        "sortable": item.sortable
      }
    }) : _vm._e(), _vm._v(" "), !item.isText ? _c('el-table-column', {
      key: item.prop,
      attrs: {
        "prop": item.prop,
        "label": item.label,
        "formatter": item.formatter,
        "width": item.width,
        "align": item.align ? item.align : 'center',
        "sortable": item.sortable
      },
      scopedSlots: _vm._u([{
        key: "default",
        fn: function ({
          row,
          $index
        }) {
          return [_c('el-input', {
            staticClass: "edit-input",
            attrs: {
              "size": "small",
              "type": "number",
              "min": "0"
            },
            on: {
              "input": function ($event) {
                return _vm.saveUnitData(row, $index);
              }
            },
            model: {
              value: row[item.prop],
              callback: function ($$v) {
                _vm.$set(row, item.prop, $$v);
              },
              expression: "row[item.prop]"
            }
          })];
        }
      }], null, true)
    }) : _vm._e()];
  })], 2)], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/table/UnitTable.vue?vue&type=template&id=931e8840&scoped=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!./components/table/UnitTable.vue?vue&type=script&lang=js
/* harmony default export */ var UnitTablevue_type_script_lang_js = ({
  props: {
    tableData: {
      type: Array,
      default: []
    },
    tableColumns: {
      type: Array,
      default: []
    },
    operateWith: {
      type: String,
      default: "100%"
    },
    selectionShow: {
      type: Boolean,
      default: false
    },
    handleShow: {
      type: Boolean,
      default: false
    }
  },
  methods: {
    saveUnitData(row, idx) {
      this.tableData[idx] = row;
      localStorage.setItem('unit', JSON.stringify(this.tableData));
    }
  }
});
// CONCATENATED MODULE: ./components/table/UnitTable.vue?vue&type=script&lang=js
 /* harmony default export */ var table_UnitTablevue_type_script_lang_js = (UnitTablevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/table/UnitTable.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(200)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  table_UnitTablevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "931e8840",
  "64e990ea"
  
)

/* harmony default export */ var UnitTable = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 211:
/***/ (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/table/MailTable.vue?vue&type=template&id=13e7bb30&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', [_vm._ssrNode("<table border=\"1\" bordercolor=\"#000\" style=\"\\n      border-collapse: collapse;\\n      font-size: 14px;\\n      table-layout: fixed;\\n      width: 100%;\\n      min-width: 800px;\\n    \" data-v-13e7bb30>", "</table>", [_vm._ssrNode("<tbody data-v-13e7bb30>", "</tbody>", [_vm._ssrNode(_vm._ssrList(_vm.mailData, function (items, key, i) {
    return "<tr data-v-13e7bb30><td" + _vm._ssrStyle({
      "padding": "18px 0",
      "width": "40%",
      "text-align": "center",
      "color": "#000"
    }, (i == 1 || i == 10) && _vm.objStyle, null) + " data-v-13e7bb30>" + _vm._ssrEscape("\n          " + _vm._s(key) + "\n        ") + "</td> <td style=\"padding: 18px 10px\" data-v-13e7bb30>" + (typeof items == 'string' ? "<div data-v-13e7bb30>" + (items.indexOf('@') != -1 || items.indexOf('http') != -1 ? "<a" + _vm._ssrAttr("href", items) + " style=\"color: #6495ed; text-decoration: none\" data-v-13e7bb30><span data-v-13e7bb30>" + _vm._ssrEscape(_vm._s(items)) + "</span></a>" : "<span data-v-13e7bb30>" + _vm._ssrEscape(_vm._s(items)) + "</span>") + "</div>" : _vm.$utils.checkType(items) == 'Object' ? "<div style=\"\\n                width: 100%;\\n                display: flex;\\n                justify-content: space-between;\\n              \" data-v-13e7bb30>" + _vm._ssrList(items, function (item, i) {
      return "<div style=\"text-align: left; width: 100%\" data-v-13e7bb30>" + (key == 'QTY' ? "<span data-v-13e7bb30>" + _vm._ssrEscape(_vm._s(item)) + "</span>" : "<span data-v-13e7bb30>" + _vm._ssrEscape("$" + _vm._s(item)) + "</span>") + "</div>";
    }) + "</div>" : _vm._ssrList(items, function (item, i) {
      return "<div style=\"line-height: 20px\" data-v-13e7bb30><span data-v-13e7bb30>" + _vm._ssrEscape(_vm._s(item)) + "</span></div>";
    })) + "</td></tr>";
  }) + " "), _vm._ssrNode("<tr data-v-13e7bb30>", "</tr>", [_vm._ssrNode("<td colspan=\"2\" style=\"padding: 20px\" data-v-13e7bb30>", "</td>", [_vm._t("default")], 2)])], 2)])]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/table/MailTable.vue?vue&type=template&id=13e7bb30&scoped=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!./components/table/MailTable.vue?vue&type=script&lang=js
/* harmony default export */ var MailTablevue_type_script_lang_js = ({
  props: {
    mailData: {},
    buyData: {}
  },
  data() {
    return {
      objStyle: {
        fontWeight: 'bold',
        backgroundColor: '#efefef'
      }
    };
  }
});
// CONCATENATED MODULE: ./components/table/MailTable.vue?vue&type=script&lang=js
 /* harmony default export */ var table_MailTablevue_type_script_lang_js = (MailTablevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/table/MailTable.vue



function injectStyles (context) {
  
  
}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  table_MailTablevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "13e7bb30",
  "532214b8"
  
)

/* harmony default export */ var MailTable = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 212:
/***/ (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/PcSwitch.vue?vue&type=template&id=58d567c2&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    class: ['switch', _vm.status ? 'green' : 'red'],
    on: {
      "click": _vm.changeStatus
    }
  }, [_vm._ssrNode("<div" + _vm._ssrClass(null, ['switch_inner', _vm.status ? '' : 'right']) + " data-v-58d567c2>" + _vm._ssrEscape("\n    " + _vm._s(_vm.status ? 'Yes' : 'No') + "\n  ") + "</div>")]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/PcSwitch.vue?vue&type=template&id=58d567c2&scoped=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!./components/PcSwitch.vue?vue&type=script&lang=js
/* harmony default export */ var PcSwitchvue_type_script_lang_js = ({
  model: {
    prop: 'status',
    event: 'change'
  },
  props: {
    status: Boolean
  },
  methods: {
    changeStatus() {
      this.$emit('change', !this.status);
    }
  }
});
// CONCATENATED MODULE: ./components/PcSwitch.vue?vue&type=script&lang=js
 /* harmony default export */ var components_PcSwitchvue_type_script_lang_js = (PcSwitchvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/PcSwitch.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(202)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_PcSwitchvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "58d567c2",
  "7fe150d6"
  
)

/* harmony default export */ var PcSwitch = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 213:
/***/ (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/PriceToImg.vue?vue&type=template&id=145cbbd9
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    ref: "printArea",
    staticStyle: {
      "font-family": "ProximaNova-Regular",
      "background-color": "#fff",
      "padding": "20px",
      "word-break": "break-word",
      "box-sizing": "border-box"
    }
  }, [_vm._ssrNode("<table><tbody><tr><td style=\"margin-right: 14px;\">" + (_vm.isImgSrc ? "<img" + _vm._ssrAttr("src", _vm.comInfo.image) + " width=\"320\" height=\"320\">" : "<img width=\"250\" height=\"250\">") + "</td> <td style=\"vertical-align: top;\"><p style=\"font-weight: bold;font-size: 22px;padding-bottom: 24px;color:#00213B\"><span style=\"margin-right: 5px;\">" + _vm._ssrEscape(_vm._s(_vm.pageData.product_code)) + "</span> <span>" + _vm._ssrEscape(_vm._s(_vm.pageData.product_name)) + "</span></p> <p style=\"line-height: 20px;color:#00213B;font-size: 14px;\">" + _vm._s(_vm.comInfo.description) + "</p></td></tr></tbody></table> <div><p style=\"font-weight: bold;font-size: 17px;margin: 12px 0 8px;color:#00213B\">Specifications</p> <table style=\"width:100%;border-collapse: collapse;font-size: 14px;table-layout: fixed;text-align:center;\"><tbody><tr style=\"background-color: #F7F8FC;font-weight: bold;\">" + _vm._ssrList(_vm.headerColumns, function (item, key) {
    return "<td style=\"padding:10px 0;color:#00213B;width: 25%;font-size: 14px;border:1px solid #EFEFEF\">" + _vm._ssrEscape(_vm._s(item.label)) + "</td>";
  }) + "</tr> <tr>" + _vm._ssrList(_vm.headerColumns, function (item, key) {
    return "<td style=\"padding:10px 0 6px;color:#00213B;border:1px solid #EFEFEF\">" + (_vm.specificationsObj[item.prop] ? "<div>" + (item.prop != 'addonArr' ? "<span>" + _vm._ssrEscape(_vm._s(_vm.specificationsObj[item.prop])) + "</span>" : _vm._ssrList(_vm.specificationsObj.addonArr, function (opt, idx) {
      return "<div style=\"padding-bottom:4px;\">" + _vm._ssrEscape(_vm._s(opt)) + "</div>";
    })) + "</div>" : "<span>-</span>") + "</td>";
  }) + "</tr></tbody></table></div> <div><p style=\"font-weight: bold;font-size: 17px;margin: 12px 0 8px;color:#00213B\">Quote</p> <table style=\"width:100%;border-collapse: collapse;font-size: 14px;table-layout: fixed;text-align:center;\"><tbody>" + (_vm.comLocationNum !== 1 ? "<tr style=\"background-color: #F7F8FC;font-weight: bold;\"><td" + _vm._ssrAttr("colspan", _vm.tableColumns.length - 1) + " style=\"padding:10px 0;color:#00213B;border:1px solid #EFEFEF\">Quote</td> <td" + _vm._ssrStyle({
    "padding": "10px 0",
    "color": "#00213B",
    "border": "1px solid #EFEFEF"
  }, {
    width: _vm.comWidth
  }, null) + ">Total</td></tr>" : "<!---->") + " <tr style=\"background-color: #F7F8FC;font-weight: bold;\">" + _vm._ssrList(_vm.tableColumns, function (item, key) {
    return "<td" + _vm._ssrStyle({
      "padding": "10px 0",
      "color": "#00213B",
      "border": "1px solid #EFEFEF"
    }, {
      width: _vm.comWidth
    }, null) + ">" + _vm._ssrEscape(_vm._s(item.label)) + "</td>";
  }) + "</tr> " + _vm._ssrList(_vm.tableData, function (row) {
    return "<tr style=\"padding:10px 0;\">" + _vm._ssrList(_vm.tableColumns, function (column) {
      return "<td" + _vm._ssrStyle({
        "padding": "10px 0",
        "color": "#00213B",
        "border": "1px solid #EFEFEF",
        "white-space": "nowrap"
      }, _vm.getColumnHeaderStyle(column), null) + ">" + _vm._ssrEscape("\n           " + _vm._s(row[column.prop].includes('.') ? '$' : '') + " " + _vm._s(row[column.prop] ? row[column.prop] : '0.00') + "\n          ") + "</td>";
    }) + "</tr>";
  }) + "</tbody></table></div> " + (_vm.emailForm.Comments ? "<div style=\"color:#00213B\"><p style=\"margin: 20px 0;\">" + _vm._ssrEscape(_vm._s(_vm.emailForm.Comments)) + "</p></div>" : "<!---->"))]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/PriceToImg.vue?vue&type=template&id=145cbbd9

// EXTERNAL MODULE: external "html2canvas"
var external_html2canvas_ = __webpack_require__(132);
var external_html2canvas_default = /*#__PURE__*/__webpack_require__.n(external_html2canvas_);

// 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!./components/PriceToImg.vue?vue&type=script&lang=js

/* harmony default export */ var PriceToImgvue_type_script_lang_js = ({
  props: {
    pageData: {
      type: Object,
      default: {}
    },
    specificationsObj: {
      type: Object,
      default: {}
    },
    tableData: {
      type: Array,
      default: []
    },
    tableColumns: {
      type: Array,
      default: []
    },
    comLocationNum: {
      type: Number,
      default: 1
    },
    emailForm: {
      type: Object,
      default: {}
    },
    loading: {
      type: Boolean,
      default: false
    },
    isImgSrc: {
      type: Boolean,
      default: true
    },
    width: {
      type: String,
      default: '100%'
    }
  },
  data() {
    return {
      headerColumns: [{
        label: "LeadTime",
        prop: "time",
        type: "pre" //去掉$符号
      }, {
        label: "Model",
        prop: "model",
        type: "pre" //去掉$符号
      }, {
        label: "Decoration",
        prop: "decoration",
        type: "pre" //去掉$符号
      }, {
        label: "Add On",
        prop: "addonArr",
        type: "pre" //去掉$符号
      }]
    };
  },
  computed: {
    comInfo() {
      var _this$pageData;
      return (_this$pageData = this.pageData) === null || _this$pageData === void 0 ? void 0 : _this$pageData.main;
    },
    comWidth() {
      return 100 / this.tableColumns.length + '%';
    }
  },
  created() {
    if (!this.isImgSrc) {
      this.getBase64Image(this.comInfo.image, 'productImg');
    }
  },
  methods: {
    getColumnHeaderStyle(column) {
      if (column.prop === 'project') {
        return {
          'font-weight': 'bold'
        };
      }
      return {};
    },
    //Base64生成产品图片，因为跨域
    getBase64Image(url, ref) {
      var that = this;
      var image = new Image();
      image.src = url + '?v=' + Math.random(); // 处理缓存
      image.crossOrigin = '*'; // 支持跨域图片
      image.onload = function () {
        var base64 = that.drawBase64Image(image);
        that.$refs[ref].src = base64;
      };
    },
    drawBase64Image(img) {
      var canvas = document.createElement('canvas');
      canvas.width = img.width;
      canvas.height = img.height;
      var ctx = canvas.getContext('2d');
      ctx.drawImage(img, 0, 0, img.width, img.height);
      var dataURL = canvas.toDataURL('image/png');
      return dataURL;
    },
    htmlToPdf(title) {
      const element = this.$refs.printArea;
      const clientWidth = element.offsetWidth;
      const clientHeight = element.offsetHeight;
      const kh = [clientWidth, clientHeight];
      const opts = {
        scale: 1.5,
        // 缩放比例，提高生成图片清晰度
        useCORS: true,
        // 允许加载跨域的图片
        // allowTaint: true, // 允许图片跨域，和 useCORS 二者不可共同使用
        tainttest: true,
        // 检测每张图片已经加载完成
        logging: true // 日志开关，发布的时候记得改成 false
      };
      external_html2canvas_default()(element, opts).then(canvas => {
        const dataURL = canvas.toDataURL('image/png');
        this.downloadImage(dataURL, kh, title);
        this.$emit('update:loading', false);
      }).catch(() => {
        this.$emit('update:loading', false);
        // Bus.$emit("finishDownload");
      });
    },
    getUrlBase64(url, kh) {
      return new Promise(resolve => {
        let canvas = document.createElement('canvas');
        const ctx = canvas.getContext('2d');
        const img = new Image();
        img.crossOrigin = 'Anonymous'; // 允许跨域
        img.src = url;
        img.onload = () => {
          // eslint-disable-next-line prefer-destructuring
          canvas.height = kh[1];
          // eslint-disable-next-line prefer-destructuring
          canvas.width = kh[0];
          ctx.drawImage(img, 0, 0, kh[0], kh[1]);
          const dataURL = canvas.toDataURL('image/png');
          canvas = null;
          resolve(dataURL);
        };
      });
    },
    downloadImage(imgUrl, kh, title) {
      this.getUrlBase64(imgUrl, kh).then(base64 => {
        const link = document.createElement('a');
        link.href = base64;
        link.download = `${title}.png`;
        link.click();
      });
    }
  }
});
// CONCATENATED MODULE: ./components/PriceToImg.vue?vue&type=script&lang=js
 /* harmony default export */ var components_PriceToImgvue_type_script_lang_js = (PriceToImgvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/PriceToImg.vue





/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_PriceToImgvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  null,
  null,
  "fb9ab2e6"
  
)

/* harmony default export */ var PriceToImg = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 228:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 229:
/***/ (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_Zoom_vue_vue_type_style_index_0_id_5b247e95_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(186);
/* 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_Zoom_vue_vue_type_style_index_0_id_5b247e95_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_Zoom_vue_vue_type_style_index_0_id_5b247e95_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_Zoom_vue_vue_type_style_index_0_id_5b247e95_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_Zoom_vue_vue_type_style_index_0_id_5b247e95_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 230:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 231:
/***/ (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_Quote_vue_vue_type_style_index_0_id_8320de5e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(187);
/* 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_Quote_vue_vue_type_style_index_0_id_8320de5e_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_Quote_vue_vue_type_style_index_0_id_8320de5e_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_Quote_vue_vue_type_style_index_0_id_8320de5e_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_Quote_vue_vue_type_style_index_0_id_8320de5e_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 232:
/***/ (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_StockTable_vue_vue_type_style_index_0_id_13093327_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(188);
/* 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_StockTable_vue_vue_type_style_index_0_id_13093327_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_StockTable_vue_vue_type_style_index_0_id_13093327_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_StockTable_vue_vue_type_style_index_0_id_13093327_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_StockTable_vue_vue_type_style_index_0_id_13093327_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 233:
/***/ (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_ChangeTable_vue_vue_type_style_index_0_id_4c957f55_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(189);
/* 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_ChangeTable_vue_vue_type_style_index_0_id_4c957f55_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_ChangeTable_vue_vue_type_style_index_0_id_4c957f55_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_ChangeTable_vue_vue_type_style_index_0_id_4c957f55_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_ChangeTable_vue_vue_type_style_index_0_id_4c957f55_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 234:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 235:
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvVQZ0AAAAAXNSR0IArs4c6QAAAqBJREFUOE9t1Onr53MUBfDXLUrZskYIf4ElKdkSWRJmpmzJNjMP7JGMpWw11qzDGLuGB2PfoygST0hKKUWUkm0Q4sFY5q3z6375zPT7PPn06f3+nHvuuefcstEzxjgc92B7nFVVr82ujDGOxWNYiwur6q3p7zW5uDPuxMl4Aj/jIlyH5bgGV2MFtsbZWINLq+rb4NQYY5NUwfX4CudW1Xs5HGOcgkfwSwMsqaqn+uwgrMSeXWRlwN7BPs1gRVX9PWG7CPdjW/zUhZ6fnIfIjP1HAUv/H+LEqvq9q+6Ee7GwW78ZV+JivIjzq+q7vrsFnsW+AdsbL+FXnIBDcQe+xuKqSqG5Z4yxX7e9e7TC2/3vllgwN4Axxo54Afsj1KPfDVX11zzT3hRXtSyR5IM5oKq1M7BD8GSz2xWfNqtP5gGbscu9H7BVHJChpc2I/DRW4wLsgAdwRNjhpqpaN8bYDNfiMryKc7r4KpyGRQG7HUtwUlW9MdHndNyFeOg2XIHtcF5VPTO5d1QPYM4aES+AS/F4mzA2mGn5PvbAFzgg2vRZgDOoMxB2y6YJOAwPtgYx8Zt4FMf0ezESrTj/yI7cb+mqqt6dS8CEbrKY6SUyl+APfB//4cfO6nP93rxbT9TWV9WfG4Mt6HGn3X9wYLcdRrf2kJZFaCRu0TI5XVNVMfIGzAIWrwUoGt6N+3A0bsGZWIfkda++k5gtnA/suPZaRp8NESN/1h76eIyxTWuXlKTgw22P46vqlfk0i5C74KHO68tVFe1mcYrGKZrMpt1vcHBVRdP/2+xxJ0oxY8yZljKM1VW1fowRoFNxIxLuRG7VdMv8N81pbMYYWX6X91Q/bxtkMFkK2cLLqyo7boNnXrBJW7s1k+j0etZQVX25Mcjs+1/MoQbO2FAmGQAAAABJRU5ErkJggg=="

/***/ }),

/***/ 236:
/***/ (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_Project_vue_vue_type_style_index_0_id_d07425a4_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(190);
/* 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_Project_vue_vue_type_style_index_0_id_d07425a4_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_Project_vue_vue_type_style_index_0_id_d07425a4_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_Project_vue_vue_type_style_index_0_id_d07425a4_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_Project_vue_vue_type_style_index_0_id_d07425a4_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 241:
/***/ (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/product/Quote.vue?vue&type=template&id=8320de5e&scoped=true
var render = function render() {
  var _vm$comCurBaseColumns, _vm$enquiryConfig$3$s;
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', [_vm.quoteLoadState == 0 ? _c('div', {
    directives: [{
      name: "loading",
      rawName: "v-loading",
      value: true,
      expression: "true"
    }],
    staticClass: "com-loading"
  }) : _vm.quoteLoadState == 1 ? _vm._ssrNode("<div data-v-8320de5e>", "</div>", [_c('tab-nav', {
    attrs: {
      "borderType": 'allBorder',
      "liWidth": 100,
      "liHeight": 40,
      "marginRight": 5,
      "currTab": _vm.curWeek,
      "tabList": _vm.priceList
    },
    on: {
      "update:currTab": function ($event) {
        _vm.curWeek = $event;
      },
      "update:curr-tab": function ($event) {
        _vm.curWeek = $event;
      }
    }
  }), _vm._ssrNode(" "), _vm._l(_vm.priceList, function (items, indexs) {
    var _items$basePrice, _items$decoration, _items$basePrice2, _items$basePrice2$ite, _items$basePrice2$ite2, _items$basePrice3, _items$basePrice3$ite, _items$basePrice3$ite2;
    return _vm._ssrNode("<div" + _vm._ssrStyle(null, null, {
      display: _vm.curWeek == indexs ? '' : 'none'
    }) + " data-v-8320de5e>", "</div>", [_vm._ssrNode("<div data-v-8320de5e>", "</div>", [_c('tab-nav', {
      attrs: {
        "borderType": 'incompleteBorder',
        "currTab": items.curPrint,
        "tabList": items.basePrice,
        "allPrintTab": _vm.allPrintTab,
        "marginTop": 0,
        "marginRight": 5,
        "marginBottom": ((_items$basePrice = items.basePrice) === null || _items$basePrice === void 0 ? void 0 : _items$basePrice.length) > 1 ? 7 : 0
      },
      on: {
        "update:currTab": function ($event) {
          return _vm.$set(items, "curPrint", $event);
        },
        "update:curr-tab": function ($event) {
          return _vm.$set(items, "curPrint", $event);
        },
        "handle": function ($event) {
          return _vm.sortBy(items);
        }
      }
    })], 1), _vm._ssrNode(" "), _vm._l(items.basePrice, function (item, index) {
      var _items$decorationOrig;
      return _vm._ssrNode("<div" + _vm._ssrStyle(null, null, {
        display: items.curPrint == index ? '' : 'none'
      }) + " data-v-8320de5e>", "</div>", [_c('new-price-table', {
        attrs: {
          "tableColumns": [..._vm.undecorated_columns, ...item.part_columns],
          "tableData": item.data,
          "tableType": 'Undecorated',
          "curPrint": item.name,
          "curModel": (_items$decorationOrig = items.decorationOrign[index]) === null || _items$decorationOrig === void 0 ? void 0 : _items$decorationOrig.model,
          "data": items,
          "selectRow": item.selectBaseRow
        },
        on: {
          "update:selectRow": function ($event) {
            return _vm.$set(item, "selectBaseRow", $event);
          },
          "update:select-row": function ($event) {
            return _vm.$set(item, "selectBaseRow", $event);
          }
        }
      })], 1);
    }), _vm._ssrNode(" "), (_items$decoration = items.decoration) !== null && _items$decoration !== void 0 && _items$decoration.length || (_items$basePrice2 = items.basePrice) !== null && _items$basePrice2 !== void 0 && (_items$basePrice2$ite = _items$basePrice2[items.curPrint]) !== null && _items$basePrice2$ite !== void 0 && (_items$basePrice2$ite2 = _items$basePrice2$ite.decoration_addition) !== null && _items$basePrice2$ite2 !== void 0 && _items$basePrice2$ite2.length ? _c('new-price-table', {
      attrs: {
        "tableData": items.decoration,
        "tableColumns": [..._vm.decoration_columns, ..._vm.comCurBaseColumns],
        "tableType": 'Decoration',
        "marginBottom": 0,
        "hasDecAdd": (_items$basePrice3 = items.basePrice) === null || _items$basePrice3 === void 0 ? void 0 : (_items$basePrice3$ite = _items$basePrice3[items.curPrint]) === null || _items$basePrice3$ite === void 0 ? void 0 : (_items$basePrice3$ite2 = _items$basePrice3$ite.decoration_addition) === null || _items$basePrice3$ite2 === void 0 ? void 0 : _items$basePrice3$ite2.length
      }
    }) : _vm._e(), _vm._ssrNode(" "), _vm._l(items.basePrice, function (item, index) {
      return _vm._ssrNode("<div" + _vm._ssrStyle(null, null, {
        display: items.curPrint == index && item.decoration_addition.length ? '' : 'none'
      }) + " data-v-8320de5e>", "</div>", [_c('new-price-table', {
        attrs: {
          "tableData": item.decoration_addition,
          "tableColumns": [..._vm.addon_columns, ...item.part_columns],
          "isCheckBox": true,
          "tableType": 'Addon',
          "multipleSelection": items.selectAdditionRow
        },
        on: {
          "update:multipleSelection": function ($event) {
            return _vm.$set(items, "selectAdditionRow", $event);
          },
          "update:multiple-selection": function ($event) {
            return _vm.$set(items, "selectAdditionRow", $event);
          }
        }
      })], 1);
    })], 2);
  }), _vm._ssrNode(" "), _vm._ssrNode("<section data-v-8320de5e>", "</section>", [_vm._ssrNode("<p class=\"title1\" data-v-8320de5e><span data-v-8320de5e></span> <span data-v-8320de5e>Currency AUD($)</span></p> "), _c('total-table', {
    attrs: {
      "comLocationNum": _vm.comLocationNum,
      "tableData": _vm.comBuyData,
      "tableColumns": [..._vm.buy_columns, ..._vm.comCurBaseTotalColumns],
      "curOrder": `${_vm.curWeek}-${_vm.comCurPrint}`,
      "min": (_vm$comCurBaseColumns = _vm.comCurBaseColumns[0]) === null || _vm$comCurBaseColumns === void 0 ? void 0 : _vm$comCurBaseColumns.label,
      "title": 'Buy Price'
    },
    on: {
      "send-idx": _vm.getChildIdx
    }
  }), _vm._ssrNode(" <p class=\"text-red\" data-v-8320de5e>Price is ex- gst</p> "), _vm._ssrNode("<ul data-v-8320de5e>", "</ul>", [_vm._ssrNode("<li class=\"entry\" data-v-8320de5e>", "</li>", [_vm._ssrNode("<div class=\"entry-l\" data-v-8320de5e>Delivery Locations</div> "), _c('el-input', {
    staticStyle: {
      "width": "130px"
    },
    attrs: {
      "placeholder": "Enter Num",
      "size": "small",
      "max": "7",
      "min": "1",
      "type": "number"
    },
    on: {
      "input": _vm.setMaxNum
    },
    model: {
      value: _vm.comCurBasePrice.locationNum,
      callback: function ($$v) {
        _vm.$set(_vm.comCurBasePrice, "locationNum", $$v);
      },
      expression: "comCurBasePrice.locationNum"
    }
  })], 2), _vm._ssrNode(" " + (_vm.comLocationNum > 1 ? "<li class=\"entry\" data-v-8320de5e><div class=\"entry-text\" data-v-8320de5e>Qty / Location</div></li>" : "<!---->") + " "), _vm._l(_vm.comCurBaseTotalColumns, function (i, k) {
    var _vm$comCurBaseColumns2;
    return _vm._ssrNode("<li class=\"entry\"" + _vm._ssrStyle(null, null, {
      display: _vm.comLocationNum > k ? '' : 'none'
    }) + " data-v-8320de5e>", "</li>", [_vm._ssrNode("<div class=\"entry-l\" data-v-8320de5e>Delivery Postcode</div> "), _c('el-input', {
      staticStyle: {
        "width": "130px",
        "margin-right": "20px"
      },
      attrs: {
        "clearable": "",
        "placeholder": "Enter Postcode",
        "size": "small"
      },
      on: {
        "input": function ($event) {
          return _vm.getDebFreight(k);
        }
      },
      model: {
        value: i.postcode,
        callback: function ($$v) {
          _vm.$set(i, "postcode", $$v);
        },
        expression: "\n            i.postcode"
      }
    }), _vm._ssrNode(" "), _vm.comLocationNum > 1 ? _c('el-input', {
      staticStyle: {
        "width": "130px",
        "margin-right": "20px"
      },
      attrs: {
        "placeholder": "Enter Qty",
        "type": "number",
        "min": (_vm$comCurBaseColumns2 = _vm.comCurBaseColumns[0]) === null || _vm$comCurBaseColumns2 === void 0 ? void 0 : _vm$comCurBaseColumns2.label,
        "size": "small"
      },
      on: {
        "blur": function ($event) {
          var _vm$comCurBaseColumns3;
          return _vm.getNumber($event, _vm.comCurBaseTotalColumns[k], (_vm$comCurBaseColumns3 = _vm.comCurBaseColumns[0]) === null || _vm$comCurBaseColumns3 === void 0 ? void 0 : _vm$comCurBaseColumns3.label);
        }
      },
      model: {
        value: i.label,
        callback: function ($$v) {
          _vm.$set(i, "label", $$v);
        },
        expression: "i.label"
      }
    }) : _vm._e(), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"entry-r\" data-v-8320de5e>", "</div>", [_vm._ssrNode("<span data-v-8320de5e>Freight Method</span> "), _c('el-radio-group', {
      on: {
        "change": function ($event) {
          return _vm.getFreight(k);
        }
      },
      model: {
        value: i.freight_type,
        callback: function ($$v) {
          _vm.$set(i, "freight_type", $$v);
        },
        expression: "i.freight_type"
      }
    }, [_c('el-radio', {
      attrs: {
        "label": 1
      }
    }, [_vm._v("Road Express")]), _vm._v(" "), _c('el-radio', {
      attrs: {
        "label": 2
      }
    }, [_vm._v("Air Freight")])], 1)], 2)], 2);
  })], 2), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"entry\" data-v-8320de5e>", "</div>", [_vm._ssrNode("<div class=\"entry-l\" data-v-8320de5e>Setup</div> <div class=\"entry-l\" data-v-8320de5e>include in unit price</div> "), _c('pc-switch', {
    model: {
      value: _vm.setup_switch,
      callback: function ($$v) {
        _vm.setup_switch = $$v;
      },
      expression: "setup_switch"
    }
  })], 2), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"entry\" data-v-8320de5e>", "</div>", [_vm._ssrNode("<div class=\"entry-l\" data-v-8320de5e>Freight</div> <div class=\"entry-l\" data-v-8320de5e>include in unit price</div> "), _vm._ssrNode("<div data-v-8320de5e>", "</div>", [_c('pc-switch', {
    model: {
      value: _vm.freight_switch,
      callback: function ($$v) {
        _vm.freight_switch = $$v;
      },
      expression: "freight_switch"
    }
  })], 1)], 2), _vm._ssrNode(" "), _c('el-button', {
    staticClass: "button-black",
    attrs: {
      "size": "medium"
    },
    on: {
      "click": _vm.openMailDialog
    }
  }, [_vm._v("\n        Enquiry\n      ")])], 2)], 2) : _vm._e(), _vm._ssrNode(" "), _c('no-ssr', [_vm.quoteLoadState == 1 ? _c('div', [_c('form-dialog', {
    attrs: {
      "emailForm": _vm.enquiryForm,
      "enquiryConfig": _vm.enquiryConfig,
      "visible": _vm.enquiryFormVisible,
      "rules": _vm.rules,
      "labelWidth": (_vm$enquiryConfig$3$s = _vm.enquiryConfig[3].selectlist) !== null && _vm$enquiryConfig$3$s !== void 0 && _vm$enquiryConfig$3$s.length ? 140 : 82
    },
    on: {
      "update:visible": function ($event) {
        _vm.enquiryFormVisible = $event;
      },
      "handleSend": _vm.sendPriceMail
    }
  }), _vm._v(" "), _c('mail-table', {
    directives: [{
      name: "show",
      rawName: "v-show",
      value: false,
      expression: "false"
    }],
    ref: "mailtable",
    attrs: {
      "mailData": _vm.mailData
    }
  }, [_c('price-to-img', {
    attrs: {
      "pageData": _vm.pageData,
      "specificationsObj": _vm.specificationsObj,
      "tableData": _vm.comFilterSwitchSellData,
      "tableColumns": _vm.comMergeColumns,
      "comLocationNum": _vm.comLocationNum,
      "emailForm": _vm.commentObj
    }
  })], 1), _vm._v(" "), _c('el-dialog', {
    ref: "dialogRef",
    attrs: {
      "lock-scroll": false,
      "title": "Customer Quote",
      "visible": _vm.priceToImgVisible,
      "custom-class": "price-to-img-dialog"
    },
    on: {
      "update:visible": function ($event) {
        _vm.priceToImgVisible = $event;
      }
    }
  }, [_c('price-to-img', {
    ref: "priceToImgRef",
    attrs: {
      "isImgSrc": false,
      "loading": _vm.pdfLoading,
      "pageData": _vm.pageData,
      "specificationsObj": _vm.specificationsObj,
      "tableData": _vm.comFilterSwitchSellData,
      "tableColumns": _vm.comMergeColumns,
      "comLocationNum": _vm.comLocationNum,
      "emailForm": _vm.commentObj
    },
    on: {
      "update:loading": function ($event) {
        _vm.pdfLoading = $event;
      }
    }
  }), _vm._v(" "), _c('p', {
    staticClass: "tips"
  }, [_vm._v("Change default standard comment:")]), _vm._v(" "), _c('el-input', {
    model: {
      value: _vm.commentObj.Comments,
      callback: function ($$v) {
        _vm.$set(_vm.commentObj, "Comments", $$v);
      },
      expression: "commentObj.Comments"
    }
  }), _vm._v(" "), _c('div', {
    staticClass: "btn-wrap"
  }, [_c('el-button', {
    staticClass: "button-black button-margin",
    attrs: {
      "size": "medium",
      "loading": _vm.pdfLoading
    },
    on: {
      "click": _vm.handleDownloadPdf
    }
  }, [_vm._v("Download")])], 1)], 1), _vm._v(" "), _c('form-dialog', {
    attrs: {
      "emailForm": _vm.commentObj,
      "enquiryConfig": _vm.enquiryConfig1,
      "visible": _vm.downloadDialogVisible,
      "rules": _vm.rules1,
      "labelWidth": 120,
      "isSendPdf": true
    },
    on: {
      "update:visible": function ($event) {
        _vm.downloadDialogVisible = $event;
      },
      "handleSend": _vm.sendPdfMail
    }
  }), _vm._v(" "), _c('price-to-img', {
    directives: [{
      name: "show",
      rawName: "v-show",
      value: false,
      expression: "false"
    }],
    ref: "pdf",
    attrs: {
      "loading": _vm.pdfLoading,
      "pageData": _vm.pageData,
      "specificationsObj": _vm.specificationsObj,
      "tableData": _vm.comFilterSwitchSellData,
      "tableColumns": _vm.comMergeColumns,
      "comLocationNum": _vm.comLocationNum,
      "emailForm": _vm.commentObj
    },
    on: {
      "update:loading": function ($event) {
        _vm.pdfLoading = $event;
      }
    }
  }), _vm._v(" "), _c('dialog-XX-success', {
    attrs: {
      "visible": _vm.xxContentVisible,
      "imgType": false,
      "content": 'This quantity is below the MOQ for this product'
    },
    on: {
      "update:visible": function ($event) {
        _vm.xxContentVisible = $event;
      }
    }
  })], 1) : _vm._e()])], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/product/Quote.vue?vue&type=template&id=8320de5e&scoped=true

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(5);

// EXTERNAL MODULE: external "lodash"
var external_lodash_ = __webpack_require__(113);
var external_lodash_default = /*#__PURE__*/__webpack_require__.n(external_lodash_);

// EXTERNAL MODULE: external "number-precision"
var external_number_precision_ = __webpack_require__(112);

// EXTERNAL MODULE: ./components/table/NewPriceTable.vue + 4 modules
var NewPriceTable = __webpack_require__(208);

// EXTERNAL MODULE: ./components/table/TotalTable.vue + 4 modules
var TotalTable = __webpack_require__(209);

// EXTERNAL MODULE: ./components/table/UnitTable.vue + 4 modules
var UnitTable = __webpack_require__(210);

// EXTERNAL MODULE: ./components/table/MailTable.vue + 4 modules
var MailTable = __webpack_require__(211);

// EXTERNAL MODULE: ./components/DIalogXXSuccess.vue + 4 modules
var DIalogXXSuccess = __webpack_require__(30);

// 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!./components/product/Quote.vue?vue&type=script&lang=js








/* harmony default export */ var Quotevue_type_script_lang_js = ({
  components: {
    NewPriceTable: NewPriceTable["default"],
    TotalTable: TotalTable["default"],
    UnitTable: UnitTable["default"],
    MailTable: MailTable["default"],
    'dialog-XX-success': DIalogXXSuccess["default"]
  },
  props: {
    pageData: {
      type: Object,
      default: () => {
        return {};
      }
    },
    id: {
      type: Number,
      default: null
    }
  },
  data() {
    return {
      quoteLoadState: 0,
      curWeek: 0,
      allPrintTab: [],
      priceList: [],
      initZeroObj: {},
      initSetupObj: {},
      initUnitObj: {},
      initChangeUnitObj: {},
      initFrightObj: {},
      initTotalObj: {},
      xxContentVisible: false,
      setup_switch: false,
      freight_switch: false,
      weight: {},
      undecorated_columns: [{
        label: 'MODEL',
        prop: 'model',
        type: 'text',
        align: 'left',
        width: 150,
        extraWidth: 50,
        // 配合组件 (820-tableColumns[0].width-tableColumns[0].extraWidth)/(tableColumns.length-1)
        isFirstColumn: true // 去掉$符号
      }, {
        label: 'SETUP',
        prop: 'website_setup'
      }],
      decoration_columns: [{
        label: 'PRINT OPTION',
        prop: 'dec_code',
        type: 'radioInput',
        align: 'left',
        width: 150,
        extraWidth: 50
      }, {
        label: 'SETUP',
        prop: 'website_setup'
      }],
      addon_columns: [{
        label: 'Addon',
        prop: 'name',
        type: 'text',
        width: 150,
        extraWidth: 50,
        isFirstColumn: true // 去掉$符号
      }, {
        label: 'Setup',
        prop: 'website_setup'
      }],
      buy_columns: [{
        label: 'QTY',
        prop: 'project',
        isFirstColumn: true // 去掉$符号
      }],
      unit_columns: [{
        label: 'QTY',
        prop: 'total',
        align: 'left',
        isText: true
      }],
      buyData: [{
        project: 'Setup'
      }, {
        project: 'Unit'
      }, {
        project: 'Freight'
      }, {
        project: 'Total'
      }],
      unitData: [{
        total: 'Unit Rate %'
      }, {
        total: 'Setup %'
      }, {
        total: 'Freight %'
      }],
      sellData: [{
        project: 'Postcode',
        summary: '-'
      }, {
        project: 'Setup',
        summary: 0.00
      }, {
        project: 'Unit',
        summary: 0.00
      }, {
        project: 'Freight',
        summary: 0.00
      }, {
        project: 'Total',
        summary: 0.00
      }],
      POA_Config: ['111', '111.00', '999', '999.00'],
      enquiryFormVisible: false,
      enquiryForm: {
        Name: '',
        Email: '',
        Phone: '',
        // 'Customer manager': null,
        Comments: ''
      },
      enquiryConfig: [{
        prop: 'Name',
        type: 'input'
      }, {
        prop: 'Email',
        type: 'input'
      }, {
        prop: 'Phone',
        type: 'input'
      }, {
        prop: 'Customer manager',
        type: 'select',
        selectlist: [],
        isShow: false
      }, {
        prop: 'Comments',
        type: 'textarea'
      }],
      rules: {
        Name: [{
          required: true,
          message: 'Please enter',
          trigger: 'blur'
        }],
        Email: [{
          required: true,
          message: 'Please enter the correct format',
          pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/,
          trigger: 'blur'
        }],
        Phone: [{
          required: true,
          message: 'Please enter the correct format',
          // pattern: /^1[0-9]{10}$/,
          trigger: 'blur'
        }],
        'Customer manager': [{
          required: true,
          message: 'Please select',
          trigger: 'change'
        }]
      },
      mailData: {
        Url: ''
      },
      priceToImgVisible: false,
      downloadDialogVisible: false,
      commentObj: {
        'Email Address': '',
        Comments: ''
      },
      enquiryConfig1: [{
        prop: 'Email Address',
        type: 'input'
      }, {
        prop: 'Comments',
        type: 'input'
      }],
      rules1: {
        'Email Address': [{
          required: true,
          message: 'Please enter the correct format',
          pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/,
          trigger: 'blur'
        }]
      },
      specificationsObj: {
        time: null,
        model: null,
        decoration: null,
        addonArr: null
      },
      pdfLoading: false
    };
  },
  computed: {
    ...Object(external_vuex_["mapState"])('config', {
      configInfo: state => state.configInfo
    }),
    userInfo() {
      return this.$store.state.userInfo;
    },
    comCurWeekPrice() {
      return this.priceList[this.curWeek] || {};
    },
    comCurPrint() {
      return this.comCurWeekPrice.curPrint;
    },
    comCurBasePrice() {
      return this.comCurWeekPrice.basePrice[this.comCurPrint];
    },
    comLocationNum() {
      return +this.comCurWeekPrice.basePrice[this.comCurPrint].locationNum;
    },
    comCurBaseColumns() {
      return this.comCurBasePrice.part_columns;
    },
    comCurBaseTotalColumns() {
      const d = this.comCurWeekPrice.basePrice[this.comCurPrint].total_part_columns;
      const n = this.comLocationNum;
      if (n === 1) {
        return d;
      } else {
        const concatAdd = [...d, ...this.comCurWeekPrice.basePrice[this.comCurPrint].remainingAttr].slice(0, n);
        return concatAdd;
      }
    },
    comTotalLabel() {
      // 计算所有元素label的和
      return this.comCurBaseTotalColumns.reduce((sum, item) => sum + Number(item.label), 0);
    },
    comSummaryColumns() {
      return [{
        label: this.comTotalLabel.toString(),
        prop: 'summary'
      }];
    },
    comAttributeList() {
      var _this$comCurBaseTotal;
      const obj = {};
      (_this$comCurBaseTotal = this.comCurBaseTotalColumns) === null || _this$comCurBaseTotal === void 0 ? void 0 : _this$comCurBaseTotal.forEach(item => {
        obj[item.prop] = item.label;
      });
      obj.summary = this.comTotalLabel;
      return obj;
    },
    // 当前已选基础价
    comBasePrice() {
      return this.comCurBasePrice.selectBaseRow;
    },
    // 当前累加打印价
    comDecoPrice() {
      var _this$comCurWeekPrice;
      if (!((_this$comCurWeekPrice = this.comCurWeekPrice.decoration) !== null && _this$comCurWeekPrice !== void 0 && _this$comCurWeekPrice.length)) {
        return [];
      }
      const arr = this.comCurWeekPrice.decoration.map((item, idx) => {
        const obj = {};
        if (+item.num > 0) {
          for (const i in this.initUnitObj) {
            if (idx === 0) {
              // 首个打印价要取附加价计算
              const keyArr = i.split('_');
              const supplier_val = item[`supplier_${keyArr[1]}`];
              if (this.POA_Config.includes(supplier_val)) {
                obj[`${i}`] = supplier_val;
              } else {
                obj[`${i}`] = Object(external_number_precision_["times"])(+supplier_val, item.num);
              }
            } else {
              obj[`${i}`] = this.POA_Config.includes(item[i]) ? item[i] : Object(external_number_precision_["times"])(+item[i], item.num);
            }
          }
        }
        return obj;
      }).filter(obj => Object.keys(obj).length !== 0);
      return arr;
    },
    comBuyData() {
      this.calculateBuyData();
      return this.buyData;
    },
    comNoSumCol() {
      return [...this.buy_columns, ...this.comCurBaseTotalColumns];
    },
    comHasSumCol() {
      return [...this.buy_columns, ...this.comCurBaseTotalColumns, ...this.comSummaryColumns];
    },
    comMergeColumns() {
      return this.comLocationNum == 1 ? this.comNoSumCol : this.comHasSumCol;
    },
    comSellData() {
      if (Object.keys(this.comAttributeList).length !== 0) {
        this.calculateSellData();
      }
      return this.sellData;
    },
    comFilterSwitchSellData() {
      var _this$comSellData;
      return (_this$comSellData = this.comSellData) === null || _this$comSellData === void 0 ? void 0 : _this$comSellData.filter((item, i) => {
        if (i === 1 && this.setup_switch) {
          return false;
        } else if (i === 3 && this.freight_switch) {
          return false;
        } else {
          return item;
        }
      });
    }
  },
  methods: {
    ...Object(external_vuex_["mapActions"])(['getUserInfo']),
    multiplyWithMargin(o, m) {
      return Object(external_number_precision_["divide"])(Math.round(Object(external_number_precision_["times"])(o, 100 + parseFloat(m))), 100).toFixed(2);
    },
    async getQuote() {
      let margin = 0;
      let setupMargin = 0;
      await this.$store.dispatch('getShopInfo').then(res => {
        margin = parseFloat(res.margin) || 0;
        setupMargin = parseFloat(res.setup_margin) || 0;
      });
      this.$axios.post('/catalog/pricequote', {
        id: this.id
      }).then(res => {
        if (localStorage.getItem('unit')) {
          this.unitData = JSON.parse(localStorage.getItem('unit'));
        }
        const {
          attributeList,
          priceList,
          default: defaultID
        } = res.result;
        if (!Object.keys(attributeList).length || !Object.keys(priceList).length) {
          this.quoteLoadState = 2;
          return;
        }
        for (const a in attributeList) {
          // 过滤掉website_qty标签无数量
          if (attributeList[a]) {
            this.initZeroObj[a] = 0;
          } else {
            delete attributeList[a];
          }
          for (const unit of this.unitData) {
            // 如果对象中缺少 attributeList 的 key，则设置为 40
            if (!(a in unit) || unit[a] === '') {
              this.$set(unit, a, 40);
            }
          }
        }
        // 把价格数据全部乘上margin比例.
        for (const key in priceList) {
          if (Object.hasOwn(priceList, key)) {
            for (const k in priceList[key]) {
              if (Object.hasOwn(priceList[key], k)) {
                priceList[key][k] = priceList[key][k].map(item => {
                  const temp = {
                    ...item
                  };
                  for (let i = 1; i <= 8; i++) {
                    if (temp[`website_qty${i}`] && !this.POA_Config.includes(temp[`website_qty${i}`])) {
                      temp[`website_qty${i}`] = this.multiplyWithMargin(parseFloat(temp[`website_qty${i}`]) || 0, margin).toString();
                    }
                    if (temp[`supplier_qty${i}`] && !this.POA_Config.includes(temp[`supplier_qty${i}`])) {
                      temp[`supplier_qty${i}`] = this.multiplyWithMargin(parseFloat(temp[`supplier_qty${i}`]) || 0, margin).toString();
                    }
                  }
                  temp.website_setup = this.multiplyWithMargin(parseFloat(temp.website_setup) || 0, setupMargin).toString();
                  if (temp.supplier_setup) {
                    temp.supplier_setup = this.multiplyWithMargin(parseFloat(temp.supplier_setup) || 0, setupMargin).toString();
                  }
                  if (k === 'decoration') {
                    temp.decoration_addition = temp.decoration_addition.map(deco => {
                      const d = {
                        ...deco
                      };
                      for (let i = 1; i <= 8; i++) {
                        if (d[`website_qty${i}`] && !this.POA_Config.includes(d[`website_qty${i}`])) {
                          d[`website_qty${i}`] = this.multiplyWithMargin(parseFloat(d[`website_qty${i}`]) || 0, margin).toString();
                        }
                        if (d[`supplier_qty${i}`] && !this.POA_Config.includes(d[`supplier_qty${i}`])) {
                          d[`supplier_qty${i}`] = this.multiplyWithMargin(parseFloat(d[`supplier_qty${i}`]) || 0, margin).toString();
                        }
                      }
                      d.website_setup = this.multiplyWithMargin(parseFloat(d.website_setup) || 0, setupMargin).toString();
                      if (d.supplier_setup) {
                        d.supplier_setup = this.multiplyWithMargin(parseFloat(d.supplier_setup) || 0, setupMargin).toString();
                      }
                      return d;
                    });
                  }
                  return temp;
                });
              }
            }
          }
        }
        // 格式化数据，对象改成数组
        for (const keys in priceList) {
          const vals = {};
          const {
            decoration,
            additionlist,
            ...remaining
          } = priceList[keys];
          vals.basePrice = [];
          vals.selectAdditionRow = [];
          vals.curPrint = 0;
          vals.name = this.formatDurationString(keys);
          vals.nameOrigin = keys;
          vals.decorationOrign = [...decoration];
          vals.decorationID = decoration.map(i => i.id);
          vals.decoration = [...decoration].flatMap(item => {
            const result = [];
            if (item.max_color > 0) {
              result.push({
                ...item,
                max_num: item.max_color,
                id: `${item.id}-1`,
                decName: item.max_color_name
              });
            }
            if (item.max_point > 0) {
              result.push({
                ...item,
                max_num: item.max_point,
                id: `${item.id}-2`,
                decName: item.max_point_name
              });
            }
            return result;
          });
          vals.additionlist = (additionlist || []).map(item => {
            return {
              ...item,
              id: item.id + '-1' // 修改 id
            };
          });
          for (const k in remaining) {
            var _remaining$k, _remaining$k2;
            const o = {};
            o.name = k;
            o.data = remaining[k];
            o.attributeList = this.copyData(attributeList);
            if (((_remaining$k = remaining[k]) === null || _remaining$k === void 0 ? void 0 : _remaining$k.length) > 1) {
              // 检查数组中各元素的 website_qtyN 是否都等于 "-" or "POA"，则删除key
              for (const a in attributeList) {
                const is111Poa = remaining[k].every(item => this.POA_Config.includes(item[a]));
                if (is111Poa) {
                  delete o.attributeList[a];
                }
              }
            } else if (((_remaining$k2 = remaining[k]) === null || _remaining$k2 === void 0 ? void 0 : _remaining$k2.length) === 1) {
              // 判断 remaining[k][0] 中是否包含 vals.attributeList 的键，并且对应的值都等于 "-" or "POA"，则不删除key
              const obj = remaining[k][0];
              const attributeKeys = Object.keys(o.attributeList);
              const areAllKeysInPOAConfig = attributeKeys.every(key => {
                return Object.prototype.hasOwnProperty.call(obj, key) && this.POA_Config.includes(obj[key]);
              });
              if (!areAllKeysInPOAConfig) {
                attributeKeys.forEach(key => {
                  if (Object.prototype.hasOwnProperty.call(obj, key) && this.POA_Config.includes(obj[key])) {
                    delete o.attributeList[key];
                  }
                });
              }
            }
            o.name = k;
            o.data = remaining[k];
            o.locationNum = 1;
            o.part_columns = Object.keys(o.attributeList).map(e => {
              return {
                label: o.attributeList[e].toString(),
                prop: e
              };
            });
            const freightParam = {
              postcode: '',
              freight_type: 1,
              freight: {}
            };
            o.total_part_columns = this.copyData(o.part_columns).map(obj => ({
              ...obj,
              ...freightParam
            }));
            o.remainingAttr = [];
            const firstColumns = {
              ...o.part_columns[0],
              ...freightParam
            };
            for (let i = 1; i < 9; i++) {
              if (!Object.keys(o.attributeList).includes(`website_qty${i}`)) {
                const newColumn = {
                  ...firstColumns
                };
                this.$set(newColumn, 'prop', `website_qty${i}`);
                o.remainingAttr.push(newColumn);
              }
            }
            ;
            vals.basePrice.push(o);
            if (!this.allPrintTab.includes(k)) {
              this.allPrintTab.push(k);
            }
          }
          this.priceList.push(vals);
        }
        this.priceList.forEach((options, index) => {
          // 原始数据name没空格，需要映射到
          if (options.nameOrigin === (defaultID === null || defaultID === void 0 ? void 0 : defaultID.name)) {
            this.curWeek = index;
            options.decorationOrign.forEach((opt, idx) => {
              var _defaultID$decoration;
              if (opt.id === (defaultID === null || defaultID === void 0 ? void 0 : (_defaultID$decoration = defaultID.decoration) === null || _defaultID$decoration === void 0 ? void 0 : _defaultID$decoration.id)) {
                this.$set(options, 'curPrint', idx);
              }
            });
          }
          // 所有周期的所有打印，进来页面时默认勾选第一条价格
          options.basePrice.forEach((opt, idx) => {
            this.$set(opt, 'selectBaseRow', opt.data[0] || {});
            // 打印原数据decorationOrign的name 匹配 basePrice(周期下的每个打印数据)的name
            const matchData = options.decorationOrign.find(d => {
              var _d$pricetype;
              return ((_d$pricetype = d.pricetype) === null || _d$pricetype === void 0 ? void 0 : _d$pricetype.name) === opt.name;
            });
            opt.decoration_addition = [...((matchData === null || matchData === void 0 ? void 0 : matchData.decoration_addition) || []), ...(options.additionlist || [])];
          });
          options.decoration.forEach(opt => {
            this.$set(opt, 'num', 0);
          });
        });
        this.initSetupObj = Object.assign({}, this.initZeroObj);
        this.initUnitObj = Object.assign({}, this.initZeroObj, {
          website_setup: 0
        });
        this.initFrightObj = Object.assign({}, this.initZeroObj);
        this.buyData = this.buyData.map(item => {
          return {
            ...item,
            ...this.initSetupObj
          };
        });
        this.sellData = this.sellData.map(item => {
          return {
            ...item,
            ...this.initSetupObj
          };
        });
        this.quoteLoadState = 1;
      }).catch(e => {
        console.log('this.quoteLoadState1: ', e);
        this.quoteLoadState = 2;
      });
    },
    formatDurationString(input) {
      // 匹配数字和字符串的正则表达式
      const regex = /(\d+)([a-zA-Z]+)/g;
      const result = input.replace(regex, '$1 $2');
      return result;
    },
    getWeight() {
      this.$axios.post('/catalog/weight', {
        id: this.id
      }).then(res => {
        this.weight = res.result;
      }).catch(() => {});
    },
    getFreight(k) {
      const postcode = this.comCurBaseTotalColumns[k].postcode;
      const type = this.comCurBaseTotalColumns[k].freight_type;
      const init = {
        basic: 0,
        pickup: 0,
        minimum: 0
      };
      if (postcode.length < 3) {
        this.comCurBaseTotalColumns[k].freight = init;
        return;
      }
      this.$axios.post('/catalog/freight', {
        postcode,
        type
      }).then(res => {
        this.comCurBaseTotalColumns[k].freight = Array.isArray(res.result) ? init : res.result;
      });
    },
    getDebFreight: external_lodash_default.a.debounce(function (k) {
      this.getFreight(k);
    }, 200),
    getNumber(e, row, min) {
      if (parseInt(e.target.value) < min) {
        this.xxContentVisible = true;
        row.label = min;
      } else {
        this.xxContentVisible = false;
      }
    },
    sortBy(items) {
      // items.decoration.sort(this.customSort(items.decorationID))
      // const targetElement = items.decoration.splice(items.curPrint, 1)[0]
      // items.decoration.unshift(targetElement)
    },
    // 按原打印数组的id字段排序
    customSort(decorationID) {
      return (a, b) => {
        return decorationID.indexOf(a.id) - decorationID.indexOf(b.id);
      };
    },
    dividePrice(a) {
      return Object(external_number_precision_["divide"])(+a, 100);
    },
    openMailDialog() {
      this.enquiryFormVisible = true;
      // if (this.$utils.checkLogin()) {
      //   this.getUserInfo()
      //   const { contacts, email, phone, crm_users_id:crmUsersId } = this.userInfo
      //   this.enquiryForm.Name = contacts
      //   this.enquiryForm.Email = email
      //   this.enquiryForm.Phone = phone
      //   if (crmUsersId?.length) {
      //     this.enquiryConfig[3].selectlist = crmUsersId
      //     if (crmUsersId?.length === 1) {
      //       this.enquiryForm['Customer manager'] = crmUsersId[0].name
      //     }
      //   } else {
      //     this.enquiryConfig[3].isShow = false
      //     this.$delete(this.enquiryForm, 'Customer manager')
      //   }
      //   this.enquiryFormVisible = true
      // } else {
      //   this.openDialog()
      // }
    },
    getMailData() {
      this.mailData.Url = window.location.href;
      const {
        Name,
        Email,
        Phone,
        Comments
      } = this.enquiryForm;
      this.mailData['Customer Name'] = Name;
      this.mailData['Customer Email'] = Email;
      this.mailData['Customer Phone'] = Phone;
      this.mailData.Comments = Comments;

      // const { email, level, createTime } = this.userInfo
      // this.mailData['Member Account'] = email
      // this.mailData['Member Grade'] = level.name
      // this.mailData['Member Registration time'] = createTime
      this.mailData['Quote time'] = this.$utils.formatTime(new Date());
    },
    // 发送价格邮件 Enquiry按钮
    async sendPriceMail() {
      await this.getMailData();
      await this.getCustomerQuoteData();
      const shopInfo = await this.$store.dispatch('getShopInfo').then(res => res);
      const {
        Name,
        Email,
        Phone,
        Comments
      } = this.enquiryForm;
      this.$axios.post('/c-api/quote/sendenquiry', {
        site_id: shopInfo.id || '',
        content: this.$refs.mailtable.$el.innerHTML,
        name: Name,
        email: Email,
        phone: Phone,
        product_code: this.pageData.product_code,
        comments: Comments
      }).then(res => {
        this.setLoading(false);
        this.enquiryFormVisible = false;
        this.$confirm('Enquiry Sent', {
          confirmButtonText: 'OK',
          showCancelButton: false,
          type: 'success',
          center: true,
          showClose: false,
          confirmButtonClass: 'com-btnblack'
        }).then(() => {});
      }).catch(() => {
        this.setLoading(false);
      });
    },
    getCustomerQuoteData() {
      const {
        name,
        selectAdditionRow
      } = this.comCurWeekPrice;
      this.specificationsObj.time = name;
      this.specificationsObj.model = this.comBasePrice.model;
      this.specificationsObj.decoration = this.comCurBasePrice.name;
      if (selectAdditionRow.length) {
        this.specificationsObj.addonArr = selectAdditionRow.map(item => item.name);
      } else {
        this.specificationsObj.addonArr = null;
      }
    },
    openDownloadDialog(type) {
      this.getCustomerQuoteData();
      type ? this.downloadDialogVisible = true : this.priceToImgVisible = true;
    },
    handleDownloadPdf() {
      this.pdfLoading = true;
      this.$nextTick(() => {
        this.$refs.priceToImgRef.htmlToPdf(this.pageData.product_code);
      });
    },
    // 发送PDF邮件
    sendPdfMail() {
      this.$axios.post('/quote/sendpdf', {
        content: this.$refs.pdf.$el.innerHTML,
        product_code: this.pageData.product_code,
        email: this.commentObj['Email Address']
      }).then(res => {
        this.setLoading(false);
        this.downloadDialogVisible = false;
        this.$confirm('Enquiry Sent', {
          confirmButtonText: 'OK',
          showCancelButton: false,
          type: 'success',
          center: true,
          showClose: false,
          confirmButtonClass: 'com-btnblack'
        });
      }).catch(() => {
        this.setLoading(false);
      });
    },
    copyData(data) {
      return JSON.parse(JSON.stringify(data));
    },
    calculateBuyData() {
      const selPriceArr = [];
      if (JSON.stringify(this.comBasePrice) !== '{}') {
        selPriceArr.push(this.comBasePrice);
      }
      selPriceArr.push(...this.comDecoPrice, ...this.comCurWeekPrice.selectAdditionRow);
      if (selPriceArr.length === 0) {
        this.buyData = this.buyData.map(item => ({
          ...item,
          ...this.initZeroObj
        }));
        return;
      }
      // 累加所选,初始数量对应的单价。赋值给this.initUnitObj
      for (const i in this.initUnitObj) {
        const columnSum = this.copyData(selPriceArr).reduce(function (prev, cur) {
          if (cur[i] === '111' || cur[i] === '111.00') {
            return cur[i] = '-';
          } else if (cur[i] === '999' || cur[i] === '999.00') {
            return cur[i] = 'POA';
          } else {
            // 当基础价格是-POA，后续累加价格是正常数字价,依然返回-POA
            if (prev === '-' || prev === 'POA') {
              return prev;
            }
            return Object(external_number_precision_["plus"])(+cur[i], prev).toFixed(2);
          }
        }, 0);
        this.$set(this.initUnitObj, i, columnSum);
      }
      for (const a in this.comAttributeList) {
        // 每次更改选择价格，必须遍历整个comAttributeList
        const tempIdx = this.comCurBaseColumns.findIndex(items => +this.comAttributeList[a] < +items.label);
        if (tempIdx > 0) {
          const key = this.comCurBaseColumns[tempIdx - 1].prop;
          this.$set(this.initChangeUnitObj, a, this.initUnitObj[key]);
        } else {
          const length = this.comCurBaseColumns.length;
          const key = this.comCurBaseColumns[length - 1].prop;
          this.$set(this.initChangeUnitObj, a, this.initUnitObj[key]);
        }
        if (this.initChangeUnitObj[a] === 'POA' || this.initChangeUnitObj[a] === '-') {
          this.$set(this.initSetupObj, a, this.initChangeUnitObj[a]);
          this.$set(this.initFrightObj, a, this.initChangeUnitObj[a]);
        } else {
          this.$set(this.initSetupObj, a, this.initUnitObj.website_setup);
          // 计算运费
          // 单独批次数量的总重
          // weight定义是{}，后端没数据传回[]
          const unitWLocal = this.weight.unit_w_local ? +this.weight.unit_w_local : 0;
          const totalWeight = Math.ceil(Object(external_number_precision_["times"])(unitWLocal, this.comAttributeList[a]));
          // Road express  1    AAE:AAEFactor  2
          const setupFuel = this.dividePrice(this.configInfo.fuel);
          const setupBagFreight = this.dividePrice(this.configInfo.bag_freight);
          const setupExpressFreight = this.dividePrice(this.configInfo.express_freight);
          const AAEFactor = Object(external_number_precision_["plus"])(1, setupBagFreight, setupFuel);
          const expressFactor = Object(external_number_precision_["plus"])(1, setupExpressFreight, setupFuel);
          let frightCost = 0;
          let freightType;
          let postcode;
          let freight = {};
          const matchIndex = this.comCurBaseTotalColumns.findIndex(item => item.prop === a);
          // 1,所有按第一个运费统计；不为1，则只计算 comCurBaseTotalColumns的[地址数]长度
          if (+this.comLocationNum === 1 || this.comLocationNum >= matchIndex + 1) {
            ({
              freight,
              freight_type: freightType,
              postcode
            } = this.comCurBaseTotalColumns[+this.comLocationNum === 1 ? 0 : matchIndex] || {});
          }
          if (freightType === 1 && postcode >= 3) {
            if (totalWeight > 20) {
              const a1 = Object(external_number_precision_["minus"])(totalWeight, 20);
              const a2 = Object(external_number_precision_["times"])(a1, +freight.basic);
              const a3 = Object(external_number_precision_["plus"])(+freight.pickup, a2);
              frightCost = Object(external_number_precision_["times"])(a3, expressFactor);
            } else {
              frightCost = Object(external_number_precision_["times"])(+freight.pickup, expressFactor);
            }
          } else if (freightType === 2 && postcode >= 3) {
            const a1 = Object(external_number_precision_["divide"])(totalWeight, 5);
            const a2 = Object(external_number_precision_["times"])(+freight.minimum, Math.ceil(a1));
            frightCost = Object(external_number_precision_["times"])(a2, AAEFactor);
          } else {
            frightCost = 0;
          }
          this.$set(this.initFrightObj, a, Math.ceil(frightCost).toFixed(2));
        }
        if (this.initChangeUnitObj[a] === '-' || this.initChangeUnitObj[a] === 'POA') {
          this.$set(this.initTotalObj, a, this.initChangeUnitObj[a]);
        } else {
          const unitQTY = Object(external_number_precision_["times"])(this.initChangeUnitObj[a], this.comAttributeList[a]);
          this.$set(this.initTotalObj, a, Object(external_number_precision_["plus"])(this.initUnitObj.website_setup, unitQTY, this.initFrightObj[a]).toFixed(2));
        }
        if (this.setup_switch) {
          // 业务：Setup价格/对应数量后向上取整
          if (this.initChangeUnitObj[a] === '-' || this.initChangeUnitObj[a] === 'POA') {
            this.$set(this.initChangeUnitObj, a, this.initChangeUnitObj[a]);
          } else {
            const num = Math.ceil(this.initSetupObj[a] / this.comAttributeList[a] * 100) / 100;
            this.$set(this.initChangeUnitObj, a, Object(external_number_precision_["plus"])(this.initChangeUnitObj[a], num).toFixed(2));
          }
        }
        if (this.freight_switch) {
          if (this.initChangeUnitObj[a] === '-' || this.initChangeUnitObj[a] === 'POA') {
            this.$set(this.initChangeUnitObj, a, this.initChangeUnitObj[a]);
          } else {
            const num = Math.ceil(this.initFrightObj[a] / this.comAttributeList[a] * 100) / 100;
            this.$set(this.initChangeUnitObj, a, Object(external_number_precision_["plus"])(this.initChangeUnitObj[a], num).toFixed(2));
          }
        }
      }
      if (this.setup_switch) {
        this.$set(this.buyData, 0, {
          ...this.buyData[0],
          ...this.initZeroObj,
          ...{
            'summary': 0.00
          }
        });
      } else {
        this.$set(this.buyData, 0, {
          ...this.buyData[0],
          ...this.initSetupObj
        });
      }
      this.$set(this.buyData, 1, {
        ...this.buyData[1],
        ...this.initChangeUnitObj
      });
      if (this.freight_switch) {
        this.$set(this.buyData, 2, {
          ...this.buyData[2],
          ...this.initZeroObj
        });
      } else {
        this.$set(this.buyData, 2, {
          ...this.buyData[2],
          ...this.initFrightObj
        });
      }
      this.$set(this.buyData, 3, {
        ...this.buyData[3],
        ...this.initTotalObj
      });
    },
    calculateSellData() {
      // 放置comSellData计算和副作用的代码
      const buySetup = this.comBuyData[0];
      const buyUnit = this.comBuyData[1];
      const buyFright = this.comBuyData[2];
      let frightSummary = 0;
      for (const i in this.comAttributeList) {
        if (buyUnit[i] === '-' || buyUnit[i] === 'POA') {
          this.sellData[0][i] = '-';
          this.sellData[1][i] = buyUnit[i];
          this.sellData[2][i] = buyUnit[i];
          this.sellData[3][i] = buyUnit[i];
          this.sellData[4][i] = buyUnit[i];
        } else {
          var _this$comCurBaseTotal2;
          const item = this.comLocationNum === 1 ? this.comCurBaseTotalColumns[0] : this.comCurBaseTotalColumns.find(element => element.prop === i);
          this.sellData[0][i] = item && item.postcode !== '' ? item.postcode : '-';

          // 分别乘以Markup %表格
          const key = (_this$comCurBaseTotal2 = this.comCurBaseTotalColumns[0]) === null || _this$comCurBaseTotal2 === void 0 ? void 0 : _this$comCurBaseTotal2.prop;
          if (this.unitData[1] && this.unitData[1][key]) {
            const a = Object(external_number_precision_["plus"])(this.unitData[1][key] / 100, 1);
            this.sellData[1][i] = Object(external_number_precision_["times"])(buySetup[i], a).toFixed(2);
          } else {
            this.sellData[1][i] = buySetup[i];
          }
          if (this.unitData[0][i]) {
            const a = Object(external_number_precision_["plus"])(this.unitData[0][i] / 100, 1);
            this.sellData[2][i] = Object(external_number_precision_["times"])(buyUnit[i], a).toFixed(2);
          } else {
            this.sellData[2][i] = buyUnit[i];
          }
          if (this.unitData[2] && this.unitData[2][key]) {
            const a = Object(external_number_precision_["plus"])(this.unitData[2][key] / 100, 1);
            this.sellData[3][i] = Object(external_number_precision_["times"])(buyFright[i], a).toFixed(2);
            // freight_switch会使qty的运费=0无法计算，故用了initFrightObj
            const fa = Object(external_number_precision_["times"])(this.initFrightObj[i], a);
            frightSummary = Object(external_number_precision_["plus"])(frightSummary, fa).toFixed(2);
          } else {
            this.sellData[3][i] = buyFright[i];
            frightSummary = Object(external_number_precision_["plus"])(frightSummary, this.initFrightObj[i]).toFixed(2);
          }
          const unitQTY = Object(external_number_precision_["times"])(this.sellData[2][i], this.comAttributeList[i]);
          this.$set(this.sellData[4], i, Object(external_number_precision_["plus"])(this.sellData[1][i], unitQTY, this.sellData[3][i]).toFixed(2));
        }
      }
      // 迭代加了Total列，需要统计qty的运费后才能合计运费
      if (this.sellData[2].summary !== '-' && this.sellData[2].summary !== 'POA') {
        if (this.freight_switch) {
          const num = Math.ceil(frightSummary / this.comAttributeList.summary * 100) / 100;
          this.sellData[2].summary = Object(external_number_precision_["plus"])(this.sellData[2].summary, num).toFixed(2);
          this.sellData[3].summary = 0.00;
          const a = Object(external_number_precision_["times"])(this.sellData[2].summary, this.comAttributeList.summary);
          this.sellData[4].summary = Object(external_number_precision_["plus"])(this.sellData[1].summary, a).toFixed(2);
        } else {
          this.sellData[3].summary = frightSummary;
          this.sellData[4].summary = Object(external_number_precision_["plus"])(frightSummary, this.sellData[4].summary).toFixed(2);
        }
      }
    },
    // 低于最小起订量 把该栏的数值重置到最小起订量
    getChildIdx(idx) {
      var _this$comCurBaseColum;
      this.xxContentVisible = true;
      this.$set(this.comCurBaseTotalColumns[idx - 1], 'label', (_this$comCurBaseColum = this.comCurBaseColumns[0]) === null || _this$comCurBaseColum === void 0 ? void 0 : _this$comCurBaseColum.label);
    },
    setMaxNum(val) {
      if (val > 7) {
        this.comCurBasePrice.locationNum = 7;
      } else if (val < 1) {
        this.comCurBasePrice.locationNum = 1;
      }
    },
    ...Object(external_vuex_["mapMutations"])({
      openDialog: 'openDialog',
      setLoading: 'product/setLoading'
    })
  }
});
// CONCATENATED MODULE: ./components/product/Quote.vue?vue&type=script&lang=js
 /* harmony default export */ var product_Quotevue_type_script_lang_js = (Quotevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/product/Quote.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(231)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  product_Quotevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "8320de5e",
  "a7f86384"
  
)

/* harmony default export */ var Quote = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {TabNav: __webpack_require__(192).default,PcSwitch: __webpack_require__(212).default,FormDialog: __webpack_require__(177).default,PriceToImg: __webpack_require__(213).default})


/***/ }),

/***/ 242:
/***/ (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/table/StockTable.vue?vue&type=template&id=13093327&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('table', [_vm._ssrNode("<tbody data-v-13093327><tr class=\"title\" data-v-13093327><th rowspan=\"2\" data-v-13093327>Model</th> <th rowspan=\"2\" data-v-13093327>Available stock</th> <th colspan=\"2\" data-v-13093327>Next shipment</th></tr> <tr data-v-13093327><th data-v-13093327>Date</th> <th data-v-13093327>QTY</th></tr> " + (_vm.comData.length ? _vm._ssrList(_vm.comData, function (items, key) {
    return "<tr data-v-13093327><td data-v-13093327>" + _vm._ssrEscape(_vm._s(items.sku_model || items.point)) + "</td> <td data-v-13093327>" + _vm._ssrEscape(_vm._s(items.available_stock)) + "</td> <td data-v-13093327>" + _vm._ssrEscape(_vm._s(_vm.$utils.formatTime(items.next_times, 'DD-MM-YYYY', true))) + "</td> <td data-v-13093327>" + _vm._ssrEscape(_vm._s(items.arrival_stock)) + "</td></tr>";
  }) : "<tr data-v-13093327><td rowspan=\"3\" colspan=\"4\" data-v-13093327>No Data</td></tr>") + "</tbody>")]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/table/StockTable.vue?vue&type=template&id=13093327&scoped=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!./components/table/StockTable.vue?vue&type=script&lang=js
/* harmony default export */ var StockTablevue_type_script_lang_js = ({
  props: {
    data: []
  },
  computed: {
    comData() {
      return this.data.filter(item => item.is_show);
    }
  }
});
// CONCATENATED MODULE: ./components/table/StockTable.vue?vue&type=script&lang=js
 /* harmony default export */ var table_StockTablevue_type_script_lang_js = (StockTablevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/table/StockTable.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(232)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  table_StockTablevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "13093327",
  "03449cc7"
  
)

/* harmony default export */ var StockTable = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 243:
/***/ (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/table/ChangeTable.vue?vue&type=template&id=4c957f55&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', [_vm.data.length ? _vm._ssrNode("<table data-v-4c957f55>", "</table>", [_vm._ssrNode("<tbody data-v-4c957f55><tr class=\"title\" data-v-4c957f55><th width=\"25%\" data-v-4c957f55>Date</th> <th width=\"25%\" data-v-4c957f55>Change Type</th> <th width=\"50%\" data-v-4c957f55>Details</th></tr> " + _vm._ssrList(_vm.data, function (items, key) {
    return "<tr data-v-4c957f55><td data-v-4c957f55>" + _vm._ssrEscape(_vm._s(_vm.$utils.formatTime(items.update_time))) + "</td> <td data-v-4c957f55>" + _vm._ssrEscape(_vm._s(items.type_name)) + "</td> <td data-v-4c957f55>" + _vm._ssrEscape(_vm._s(items.detail)) + "</td></tr>";
  }) + "</tbody>")], 2) : _vm._ssrNode("<div data-v-4c957f55>", "</div>", [_c('el-empty', {
    attrs: {
      "description": "No Data"
    }
  })], 1)]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/table/ChangeTable.vue?vue&type=template&id=4c957f55&scoped=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!./components/table/ChangeTable.vue?vue&type=script&lang=js
/* harmony default export */ var ChangeTablevue_type_script_lang_js = ({
  props: {
    data: {
      type: Array,
      default: () => []
    }
  }
});
// CONCATENATED MODULE: ./components/table/ChangeTable.vue?vue&type=script&lang=js
 /* harmony default export */ var table_ChangeTablevue_type_script_lang_js = (ChangeTablevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/table/ChangeTable.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(233)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  table_ChangeTablevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "4c957f55",
  "6e77809f"
  
)

/* harmony default export */ var ChangeTable = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 244:
/***/ (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/Project.vue?vue&type=template&id=d07425a4&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('section', {
    staticClass: "project-wrap"
  }, [_vm._ssrNode("<div class=\"project\" data-v-d07425a4><div class=\"flex btn-nav\"" + _vm._ssrStyle(null, null, {
    display: false ? undefined : 'none'
  }) + " data-v-d07425a4><img" + _vm._ssrAttr("src", __webpack_require__(235)) + " data-v-d07425a4><span data-v-d07425a4>Product builder</span></div></div>")]);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/Project.vue?vue&type=template&id=d07425a4&scoped=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!./components/Project.vue?vue&type=script&lang=js
/* harmony default export */ var Projectvue_type_script_lang_js = ({
  props: {
    productInfo: {
      type: Object,
      default: () => {
        return {};
      }
    }
  },
  data() {
    return {
      defaultURL: 'https://zfrmz.com/felY59ar2z3FaOTSRxmZ'
    };
  },
  computed: {
    isLogin() {
      var _this$$store$state$us;
      return !!((_this$$store$state$us = this.$store.state.userInfo) !== null && _this$$store$state$us !== void 0 && _this$$store$state$us.email);
    },
    userInfo() {
      return this.$store.state.userInfo || {};
    },
    shouldButtonRecordShow() {
      var _this$productInfo$rec, _this$productInfo$rec2;
      return this.isLogin && /\@promocollection.com.au/.test(this.userInfo.email) && this.productInfo.record && ((_this$productInfo$rec = this.productInfo.record) === null || _this$productInfo$rec === void 0 ? void 0 : (_this$productInfo$rec2 = _this$productInfo$rec.record_reason) === null || _this$productInfo$rec2 === void 0 ? void 0 : _this$productInfo$rec2.length);
    }
  },
  mounted() {
    // this.generateLink()
  },
  methods: {
    generateLink() {
      const target = document.getElementById('quickEnqriryLink');
      const config = {
        name: this.userInfo.contacts,
        phone: this.userInfo.phone,
        email: this.userInfo.email,
        company: this.userInfo.company,
        product: `${this.productInfo.product_name} & ${this.productInfo.product_code}`
      };
      let query = '';
      for (const key in config) {
        if (config[key]) {
          query += `&${key}=${encodeURIComponent(config[key])}`;
        }
      }
      query = query.slice(1);
      target.href = this.defaultURL + '?' + query;
    },
    handleAdd() {
      this.$emit('handleAdd');
    },
    openZoho() {
      document.querySelector('#zsiq_float').click();
    },
    toProductBuilder() {
      if (!this.$utils.checkLogin()) return;
      this.$emit('save-selected-data');
      setTimeout(() => {
        location.href = location.origin + `/product-builder/${this.$route.params.code}`;
      }, 0);
    }
  }
});
// CONCATENATED MODULE: ./components/Project.vue?vue&type=script&lang=js
 /* harmony default export */ var components_Projectvue_type_script_lang_js = (Projectvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Project.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(236)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Projectvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "d07425a4",
  "58b31e0a"
  
)

/* harmony default export */ var Project = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 256:
/***/ (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_Breadcrumb_vue_vue_type_style_index_0_id_d96596a6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(228);
/* 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_Breadcrumb_vue_vue_type_style_index_0_id_d96596a6_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_Breadcrumb_vue_vue_type_style_index_0_id_d96596a6_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_Breadcrumb_vue_vue_type_style_index_0_id_d96596a6_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_Breadcrumb_vue_vue_type_style_index_0_id_d96596a6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 257:
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAAAXNSR0IArs4c6QAAAepJREFUSEu9lk2IT2EUxn9Pk2SaBWWhbAYlalKk5GMhZKNYMWYnC6TMzhZjMRs7OxbKQr5WpmYjHwthMyspUj5SJDOYhZSFHp1/5+rOnTtzh9z/u7of7z2/8/Gc817RsGyvA4aAXcAAsDQ/mQaeAw+A65JezmVKc72wvRa4AOzPPb+AMPQp71cA4UBP3o8BpyW9qtqshdg+BlwEFgNP8npc0veyAdt9wD5gGNgG/IxrSZfL+2ZBbJ8DzgLfgOOSbjelNN7bPghcApYBI5LCTmfNgGQEsfE1sFfSm4UAij22VwN3gTXpYCeiP5CswTPgB7D5bwEV0ATQC2yIGpUhd7LIh+pSZHsj8F7Sl6boMnW3gDFJBzqQlOmLKLKk7VUjtpcDn4EAnJJ0YwGgxymG9QVkBDgDHJZ0swbSD7wtPY+oT0gq5DyLaXsQCGfOF5BHwNZotKpMM9IC8hBYBOwAvqZcr9VFlfKOhn1aQEKuHyRFR9d5VUCuAkezL0aBJUBEdVLSx5oMxERYWUAM3Je0pwki6UhGtwq4AuwEwuMt1W63fQ/Y3VVIV9LVlcJ3RcIxspuacRKY+udmTLU0jZVNwDtJ0R/zrtqxkpA4pNodkAmKw6q9UV8a1e0eWiVQu8dvCdTuj0RZOv/jl+g3/RhEvhTk7TEAAAAASUVORK5CYII="

/***/ }),

/***/ 258:
/***/ (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_ProductLeft_vue_vue_type_style_index_0_id_2ff2d67f_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(230);
/* 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_ProductLeft_vue_vue_type_style_index_0_id_2ff2d67f_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_ProductLeft_vue_vue_type_style_index_0_id_2ff2d67f_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_ProductLeft_vue_vue_type_style_index_0_id_2ff2d67f_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_ProductLeft_vue_vue_type_style_index_0_id_2ff2d67f_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 259:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/lineart.e4e693b.png";

/***/ }),

/***/ 260:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/email.0ff3d63.png";

/***/ }),

/***/ 261:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/product.718b8f1.png";

/***/ }),

/***/ 262:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/cataloque.c0a544f.png";

/***/ }),

/***/ 263:
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/instruction.bbe58af.png";

/***/ }),

/***/ 264:
/***/ (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_ProductRight_vue_vue_type_style_index_0_id_478c31be_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(234);
/* 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_ProductRight_vue_vue_type_style_index_0_id_478c31be_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_ProductRight_vue_vue_type_style_index_0_id_478c31be_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_ProductRight_vue_vue_type_style_index_0_id_478c31be_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_ProductRight_vue_vue_type_style_index_0_id_478c31be_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 303:
/***/ (function(module, exports) {

// Exports
module.exports = {

};


/***/ }),

/***/ 323:
/***/ (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/Breadcrumb.vue?vue&type=template&id=d96596a6&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "wrap"
  }, [_c('el-breadcrumb', {
    attrs: {
      "separator-class": "el-icon-arrow-right"
    }
  }, [_c('el-breadcrumb-item', {
    attrs: {
      "to": {
        path: '/'
      }
    }
  }, [_vm._v("Home")]), _vm._v(" "), _c('el-breadcrumb-item', {
    nativeOn: {
      "click": function ($event) {
        return _vm.goCategory();
      }
    }
  }, [_vm._v("All")]), _vm._v(" "), _vm._l(_vm.comCategoryList, function (item, index) {
    return _c('el-breadcrumb-item', {
      key: item.id,
      nativeOn: {
        "click": function ($event) {
          return _vm.goCategory(index);
        }
      }
    }, [_vm._v(_vm._s(item.name))]);
  }), _vm._v(" "), _c('el-breadcrumb-item', {
    staticClass: "last-bread"
  }, [_vm._v(_vm._s(_vm.pageData.product_code))])], 2)], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/Breadcrumb.vue?vue&type=template&id=d96596a6&scoped=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!./components/Breadcrumb.vue?vue&type=script&lang=js
/* harmony default export */ var Breadcrumbvue_type_script_lang_js = ({
  props: {
    pageData: {
      type: Object,
      default: () => {}
    }
  },
  computed: {
    comCategoryList() {
      let arr = [];
      this.recursive(arr, this.pageData.category_list);
      return arr;
    }
  },
  methods: {
    recursive(arr = [], obj) {
      let temp = {};
      temp.id = obj.id ? obj.id : null;
      temp.name = obj.name ? obj.name : null;
      temp.pid = obj.pid ? obj.pid : null;
      arr.push(temp);
      if (obj.child) {
        this.recursive(arr, obj.child);
      }
    },
    goCategory(index) {
      switch (index) {
        case 0:
          this.$router.push({
            name: "category-firstCategory",
            params: {
              firstCategory: this.comCategoryList[0].name.replace(/\s+/g, "-").replace("-&", "").toLowerCase()
            }
          });
          break;
        case 1:
          this.$router.push({
            name: "category-firstCategory-secondCategory",
            params: {
              firstCategory: this.comCategoryList[0].name.replace(/\s+/g, "-").replace("-&", "").toLowerCase(),
              secondCategory: this.comCategoryList[1].name.replace(/\s+/g, "-").replace("-&", "").toLowerCase()
            }
          });
          break;
        case 2:
          this.$router.push({
            name: "category-firstCategory-secondCategory-thirdCategory",
            params: {
              firstCategory: this.comCategoryList[0].name.replace(/\s+/g, "-").replace("-&", "").toLowerCase(),
              secondCategory: this.comCategoryList[1].name.replace(/\s+/g, "-").replace("-&", "").toLowerCase(),
              thirdCategory: this.comCategoryList[2].name.replace(/\s+/g, "-").replace("-&", "").toLowerCase()
            }
          });
          break;
        default:
          this.$router.push({
            path: '/category'
          });
      }
    }
  }
});
// CONCATENATED MODULE: ./components/Breadcrumb.vue?vue&type=script&lang=js
 /* harmony default export */ var components_Breadcrumbvue_type_script_lang_js = (Breadcrumbvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Breadcrumb.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(256)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Breadcrumbvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "d96596a6",
  "2bac15de"
  
)

/* harmony default export */ var Breadcrumb = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 324:
/***/ (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/product/ProductLeft.vue?vue&type=template&id=2ff2d67f&scoped=true
var render = function render() {
  var _vm$comInfo$mergeImag;
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "product-left"
  }, [_vm._ssrNode("<div class=\"media\" data-v-2ff2d67f>", "</div>", [_vm._ssrNode("<div class=\"big\"" + _vm._ssrStyle(null, null, {
    display: _vm.bigShow ? '' : 'none'
  }) + " data-v-2ff2d67f><img" + _vm._ssrAttr("src", _vm.$utils.generateResizedImageUrl(_vm.comInfo.mergeImages[_vm.currentPre], 1800)) + " alt data-v-2ff2d67f></div> "), _c('el-carousel', {
    directives: [{
      name: "show",
      rawName: "v-show",
      value: !_vm.btnCurrent,
      expression: "!btnCurrent"
    }],
    ref: "carousel",
    attrs: {
      "interval": 5000,
      "arrow": "always",
      "height": "578px",
      "indicator-position": "none",
      "autoplay": false
    },
    on: {
      "change": _vm.changeCarousel
    }
  }, [_vm._l(_vm.comInfo.mergeImages, function (item) {
    return _c('el-carousel-item', {
      key: item
    }, [_c('zoom', {
      attrs: {
        "imgUrl": _vm.$utils.generateResizedImageUrl(_vm.comInfo.mergeImages[_vm.currentPre], 1800)
      },
      on: {
        "sendStyle": _vm.getStyle,
        "handleViwer": _vm.handleViwer
      }
    })], 1);
  }), _vm._v(" "), _vm.comInfo.video ? _c('el-carousel-item', [_c('video', {
    ref: "video",
    attrs: {
      "controls": "",
      "width": "100%",
      "height": "100%"
    }
  }, [_c('source', {
    attrs: {
      "src": _vm.comInfo.video
    }
  }), _vm._v("\n          Your browser does not support the video tag.\n        ")])]) : _vm._e()], 2), _vm._ssrNode(" " + (_vm.pageData.template.length ? "<section class=\"switch-wrap\"" + _vm._ssrStyle(null, null, {
    display: _vm.btnShow ? '' : 'none'
  }) + " data-v-2ff2d67f><div class=\"switch-btn\" data-v-2ff2d67f>" + _vm._ssrList(_vm.btnObj, function (item, index) {
    return "<span" + _vm._ssrClass("primary_button", _vm.btnCurrent == index ? 'primary_checked' : '') + " data-v-2ff2d67f>" + _vm._ssrEscape(_vm._s(item)) + "</span>";
  }) + "</div></section>" : "<!---->"))], 2), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"smImgUl\"" + _vm._ssrStyle(null, null, {
    display: !_vm.btnCurrent ? '' : 'none'
  }) + " data-v-2ff2d67f>", "</div>", [_vm._ssrNode("<ul data-v-2ff2d67f>", "</ul>", [_vm._l(_vm.comInfo.mergeImages, function (item, index) {
    return _vm._ssrNode("<li" + _vm._ssrClass("banner", _vm.currentPre == index ? 'slip' : '') + " data-v-2ff2d67f>", "</li>", [_c('el-image', {
      staticClass: "card-img-1",
      staticStyle: {
        "width": "100%",
        "height": "100%"
      },
      attrs: {
        "src": _vm.$utils.generateResizedImageUrl(item, 100),
        "fit": "cover"
      }
    })], 1);
  }), _vm._ssrNode(" " + (_vm.comInfo.video && !_vm.btnCurrent ? "<li" + _vm._ssrClass(null, _vm.currentPre == ((_vm$comInfo$mergeImag = _vm.comInfo.mergeImages) === null || _vm$comInfo$mergeImag === void 0 ? void 0 : _vm$comInfo$mergeImag.length) ? 'slip' : '') + " data-v-2ff2d67f><video width=\"100%\" height=\"100%\"" + _vm._ssrAttr("src", _vm.comInfo.video) + " data-v-2ff2d67f></video> <div class=\"playMask\" data-v-2ff2d67f><img" + _vm._ssrAttr("src", __webpack_require__(257)) + " alt data-v-2ff2d67f></div></li>" : "<!---->"))], 2)]), _vm._ssrNode(" <div class=\"smImgUl\"" + _vm._ssrStyle(null, null, {
    display: _vm.btnCurrent ? '' : 'none'
  }) + " data-v-2ff2d67f><ul data-v-2ff2d67f>" + _vm._ssrList(_vm.pageData.template, function (item, index) {
    return "<li" + _vm._ssrClass("banner", _vm.current3D == index ? 'slip' : '') + _vm._ssrStyle(null, {
      backgroundImage: 'url(' + item.image + ')'
    }, null) + " data-v-2ff2d67f></li>";
  }) + "</ul></div> "), _vm.showViewer ? _c('ElImageViewer', {
    attrs: {
      "initial-index": _vm.currentPre,
      "on-close": _vm.closeViewer,
      "url-list": _vm.comS3Img
    }
  }) : _vm._e()], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/product/ProductLeft.vue?vue&type=template&id=2ff2d67f&scoped=true

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(5);

// EXTERNAL MODULE: ./node_modules/element-ui/packages/image/src/image-viewer.vue + 7 modules
var image_viewer = __webpack_require__(144);

// EXTERNAL MODULE: ./components/Zoom.vue + 4 modules
var Zoom = __webpack_require__(207);

// 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!./components/product/ProductLeft.vue?vue&type=script&lang=js



/* harmony default export */ var ProductLeftvue_type_script_lang_js = ({
  components: {
    Zoom: Zoom["default"],
    ElImageViewer: image_viewer["a" /* default */]
  },
  props: {
    pageData: {
      type: Object,
      default: () => {
        return {};
      }
    },
    id: {
      type: Number,
      default: 0
    }
  },
  data() {
    return {
      indexBanner: [],
      btnObj: ["View larger", "3D Preview"],
      btnCurrent: 0,
      // 0 预览图，1 3D图
      // currentPre: 0, // 预览图序号
      current3D: 0,
      // 3D图序号
      btnShow: true,
      // 所有按钮显示
      bigShow: false,
      showViewer: false
    };
  },
  computed: {
    currentPre() {
      return this.$store.state.product.smImgUlIdx;
    },
    comInfo() {
      const temp = this.pageData.main;
      const a = temp.image_color.map(i => i.image);
      temp.mergeImages = [...temp.images, ...a];
      return temp;
    },
    comS3Img() {
      return this.comInfo.mergeImages.map(url => this.$utils.repaceDomain(url));
    }
  },
  watch: {
    currentPre(newVal) {
      this.$refs.carousel.setActiveItem(newVal);
    }
  },
  mounted() {
    if (this.comInfo.video) {
      this.$refs.video.volume = 0.5;
    }
  },
  methods: {
    ...Object(external_vuex_["mapMutations"])({
      setSmImgUlIdx: 'product/setSmImgUlIdx'
    }),
    handleSwitch(val) {
      this.btnCurrent = val;
    },
    changeCarousel(val) {
      var _this$comInfo$mergeIm;
      this.setSmImgUlIdx(val);
      if (val === ((_this$comInfo$mergeIm = this.comInfo.mergeImages) === null || _this$comInfo$mergeIm === void 0 ? void 0 : _this$comInfo$mergeIm.length)) {
        this.btnShow = false;
        this.comInfo.video && this.$refs.video.play();
      } else {
        this.btnShow = true;
        this.comInfo.video && this.$refs.video.pause();
      }
    },
    selectCurrent3D(val) {
      this.current3D = val;
    },
    goDesign(template_id, goods_id) {
      this.$axios.get("/bxh/design", {
        params: {
          template_id,
          goods_id
        }
      }).then(res => {
        const {
          href
        } = this.$router.resolve({
          name: "design-id",
          params: {
            id: res.result
          }
        });
        window.open(href, "_black");
      });
    },
    getStyle(val) {
      const bigImg = this.$refs.big;
      bigImg.style.left = -2 * val.left + "px";
      bigImg.style.top = -2 * val.top + "px";
      this.bigShow = val.bigShow;
    },
    closeViewer() {
      this.showViewer = false;
    },
    handleViwer() {
      this.showViewer = true;
    }
  }
});
// CONCATENATED MODULE: ./components/product/ProductLeft.vue?vue&type=script&lang=js
 /* harmony default export */ var product_ProductLeftvue_type_script_lang_js = (ProductLeftvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/product/ProductLeft.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(258)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  product_ProductLeftvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "2ff2d67f",
  "7dda8650"
  
)

/* harmony default export */ var ProductLeft = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {Zoom: __webpack_require__(207).default})


/***/ }),

/***/ 325:
/***/ (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/product/ProductRight.vue?vue&type=template&id=478c31be&scoped=true
var render = function render() {
  var _vm$pageData$main$ima, _vm$pageData$main2, _vm$pageData$main3, _vm$productImgArr, _vm$pageData$goodsCom;
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "product-right"
  }, [_vm._ssrNode("<div class=\"product-right-top\" data-v-478c31be>", "</div>", [_vm._ssrNode("<div class=\"title\" data-v-478c31be><span class=\"title-1\" data-v-478c31be>" + _vm._ssrEscape(_vm._s(_vm.pageData.product_name)) + "</span> <span class=\"title-2\" data-v-478c31be>" + _vm._ssrEscape(_vm._s(_vm.pageData.product_code)) + "</span> " + _vm._ssrList(_vm.pageData.cycle, function (item) {
    return "<img" + _vm._ssrAttr("src", item.images) + " class=\"title-3\" data-v-478c31be>";
  }) + " " + _vm._ssrList(_vm.pageData.icon, function (item) {
    return "<img" + _vm._ssrAttr("src", item.url) + " class=\"title-4\" data-v-478c31be>";
  }) + "</div> "), (_vm$pageData$main$ima = _vm.pageData.main.image_color) !== null && _vm$pageData$main$ima !== void 0 && _vm$pageData$main$ima.length ? _vm._ssrNode("<ul class=\"color\" data-v-478c31be>", "</ul>", _vm._l(_vm.pageData.main.image_color, function (item, i) {
    var _item$color, _vm$pageData$main, _vm$pageData$main$ima2, _item$color2, _item$color3, _item$color4, _item$color5, _item$color6;
    return _vm._ssrNode("<li data-v-478c31be>", "</li>", [(_item$color = item.color) !== null && _item$color !== void 0 && _item$color.img ? _vm._ssrNode("<div class=\"color-item\" data-v-478c31be>", "</div>", [_vm._ssrNode("<div" + _vm._ssrClass(null, _vm.currentPre == ((_vm$pageData$main = _vm.pageData.main) === null || _vm$pageData$main === void 0 ? void 0 : (_vm$pageData$main$ima2 = _vm$pageData$main.images) === null || _vm$pageData$main$ima2 === void 0 ? void 0 : _vm$pageData$main$ima2.length) + i ? 'slip' : '') + " data-v-478c31be>", "</div>", [_c('el-tooltip', {
      attrs: {
        "content": (_item$color2 = item.color) === null || _item$color2 === void 0 ? void 0 : _item$color2.name,
        "placement": "top",
        "effect": "dark"
      }
    }, [_c('img', {
      attrs: {
        "src": (_item$color3 = item.color) !== null && _item$color3 !== void 0 && _item$color3.img && !_vm.$mediaRegExp.test((_item$color4 = item.color) === null || _item$color4 === void 0 ? void 0 : _item$color4.img) ? _vm.$OSS_PREFIX + ((_item$color5 = item.color) === null || _item$color5 === void 0 ? void 0 : _item$color5.img) : (_item$color6 = item.color) === null || _item$color6 === void 0 ? void 0 : _item$color6.img
      }
    })])], 1)]) : _vm._e()]);
  }), 0) : _vm._e(), _vm._ssrNode(" "), _c('tab-nav', {
    attrs: {
      "tabList": _vm.tabList,
      "currTab": _vm.typeTab,
      "marginTop": 15,
      "fontSize": 16,
      "liWidth": 130,
      "liHeight": 40,
      "marginRight": 5,
      "marginBottom": 25
    },
    on: {
      "update:currTab": function ($event) {
        _vm.typeTab = $event;
      },
      "update:curr-tab": function ($event) {
        _vm.typeTab = $event;
      },
      "handle": _vm.clickNav
    }
  })], 2), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"product-right-bottom\" data-v-478c31be>", "</div>", [_vm._ssrNode("<div class=\"details\"" + _vm._ssrStyle(null, null, {
    display: _vm.typeTab == 0 ? '' : 'none'
  }) + " data-v-478c31be>", "</div>", [_vm._ssrNode((_vm.pageData.feature_data ? "<div class=\"details-1\" data-v-478c31be><h3 data-v-478c31be>Features</h3> <ul data-v-478c31be>" + _vm._ssrList(_vm.pageData.feature_data, function (i, key) {
    return "<li data-v-478c31be>" + _vm._ssrEscape(_vm._s(i)) + "</li>";
  }) + "</ul></div>" : "<!---->") + " " + (_vm.comInfo.description ? "<div class=\"details-1\" data-v-478c31be><h3 data-v-478c31be>Description</h3> <p data-v-478c31be>" + _vm._s(_vm.comInfo.description) + "</p></div>" : "<!---->") + " " + (_vm.pageData.pbo ? "<div class=\"details-2\" data-v-478c31be><h3 data-v-478c31be>Product Branding Information</h3> <p data-v-478c31be>" + _vm._s(_vm.pageData.pbo) + "</p></div>" : "<!---->") + " "), _vm._ssrNode("<div class=\"details-3\" data-v-478c31be>", "</div>", [_vm.comInfo.product_size || _vm.comInfo.product_material || _vm.comInfo.moq || _vm.comInfo.included_packaging || _vm.comInfo.optional_packaging || _vm.comInfo.print_size_area || _vm.comInfo.product_dimensions || _vm.comInfo.additional_info ? _vm._ssrNode("<ul data-v-478c31be>", "</ul>", [_vm._ssrNode("<li data-v-478c31be><div class=\"title\" data-v-478c31be>Product Info</div></li> " + (_vm.comInfo.product_size ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Product Size</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.product_size) + "</div></li>" : "<!---->") + " " + ((_vm$pageData$main2 = _vm.pageData.main) !== null && _vm$pageData$main2 !== void 0 && _vm$pageData$main2.colors_text ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Colour</div> <div class=\"info\" data-v-478c31be>" + _vm._s((_vm$pageData$main3 = _vm.pageData.main) === null || _vm$pageData$main3 === void 0 ? void 0 : _vm$pageData$main3.colors_text) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.product_material ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Material</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.product_material) + "</div></li>" : "<!---->") + " " + (_vm.pageData.moq ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>MOQ</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.pageData.moq) + "</div></li>" : "<!---->") + " "), _vm.comInfo.included_packaging ? _vm._ssrNode("<li data-v-478c31be>", "</li>", [_vm._ssrNode("<div class=\"point\" data-v-478c31be>Included Packaging</div> "), _vm._l(_vm.comIncluded_packaging, function (item, i) {
    return _vm._ssrNode("<div class=\"info blue\" data-v-478c31be>", "</div>", [_vm.isProduct(item.trim()) ? _c('nuxt-link', {
      attrs: {
        "to": {
          name: 'product-code',
          params: {
            code: item.trim()
          }
        }
      }
    }, [_c('span', [_vm._v(_vm._s(item)), i < _vm.comIncluded_packaging.length - 1 ? _c('em', [_vm._v(",")]) : _vm._e()])]) : _c('span', [_vm._v(_vm._s(item)), i < _vm.comIncluded_packaging.length - 1 ? _c('em', [_vm._v(",")]) : _vm._e()])], 1);
  })], 2) : _vm._e(), _vm._ssrNode(" "), _vm.comInfo.optional_packaging ? _vm._ssrNode("<li data-v-478c31be>", "</li>", [_vm._ssrNode("<div class=\"point\" data-v-478c31be>Optional Packaging</div> "), _vm._l(_vm.comOptional_packaging, function (item, i) {
    return _vm._ssrNode("<div class=\"info blue\" data-v-478c31be>", "</div>", [_vm.isProduct(item.trim()) ? _c('nuxt-link', {
      attrs: {
        "to": {
          name: 'product-code',
          params: {
            code: item.trim()
          }
        }
      }
    }, [_c('span', [_vm._v(_vm._s(item)), i < _vm.comOptional_packaging.length - 1 ? _c('em', [_vm._v(",")]) : _vm._e()])]) : _c('span', [_vm._v(_vm._s(item)), i < _vm.comOptional_packaging.length - 1 ? _c('em', [_vm._v(",")]) : _vm._e()])], 1);
  })], 2) : _vm._e(), _vm._ssrNode(" "), _vm.comInfo.optional_attachments ? _vm._ssrNode("<li data-v-478c31be>", "</li>", [_vm._ssrNode("<div class=\"point\" data-v-478c31be>Optional Attachments</div> "), _vm._ssrNode("<div class=\"info\" data-v-478c31be>", "</div>", _vm._l(_vm.comOptional_attachments, function (item, i) {
    return _c('nuxt-link', {
      key: item,
      attrs: {
        "to": {
          name: 'product-code',
          params: {
            code: item
          }
        }
      }
    }, [_c('span', [_vm._v(_vm._s(item)), i < _vm.comOptional_attachments.length - 1 ? _c('em', [_vm._v(",")]) : _vm._e()])]);
  }), 1)], 2) : _vm._e(), _vm._ssrNode(" " + (_vm.comInfo.product_dimensions ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Product dimensions</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.product_dimensions) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.additional_info ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Additional Info</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.additional_info) + "</div></li>" : "<!---->"))], 2) : _vm._e(), _vm._ssrNode(" " + (_vm.comInfo.print_position || _vm.comInfo.print_size_area || _vm.comInfo.print_marketing ? "<ul data-v-478c31be><li data-v-478c31be><div class=\"title\" data-v-478c31be>Print Info</div></li> " + (_vm.comInfo.print_position ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Print Position</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.print_position) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.print_size_area ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Print Size Area</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.print_size_area) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.print_marketing ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Print Marketing</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.print_marketing) + "</div></li>" : "<!---->") + "</ul>" : "<!---->") + " " + (_vm.comInfo.data_services || _vm.comInfo.chip_grade || _vm.comInfo.certifications || _vm.comInfo.capacity || _vm.comInfo.warranty || _vm.comInfo.battery_type || _vm.comInfo.additional_description ? "<ul data-v-478c31be><li data-v-478c31be><div class=\"title\" data-v-478c31be>Functional Info</div></li> " + (_vm.comInfo.data_services ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Data Services</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.data_services) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.chip_grade ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Chip Grade</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.chip_grade) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.certifications ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Certifications</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.certifications) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.capacity ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Capacity</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.capacity) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.warranty ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Warranty</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.warranty) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.battery_type ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Battery Type</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.battery_type) + "</div></li>" : "<!---->") + " " + (_vm.comInfo.additional_description ? "<li data-v-478c31be><div class=\"point\" data-v-478c31be>Additional Info</div> <div class=\"info\" data-v-478c31be>" + _vm._s(_vm.comInfo.additional_description) + "</div></li>" : "<!---->") + "</ul>" : "<!---->"))], 2), _vm._ssrNode(" <p class=\"details-1\" data-v-478c31be>\n          Due to differences between production batches, product sizes may vary\n          slightly. The above Colours and measurements are approximate, and for\n          guidance only.\n        </p>")], 2), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"quote\"" + _vm._ssrStyle(null, null, {
    display: _vm.typeTab == 1 ? '' : 'none'
  }) + " data-v-478c31be>", "</div>", [_c('quote', {
    ref: "quote",
    attrs: {
      "pageData": _vm.pageData,
      "id": _vm.id
    }
  })], 1), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"stock\"" + _vm._ssrStyle(null, null, {
    display: _vm.typeTab == 2 ? '' : 'none'
  }) + " data-v-478c31be>", "</div>", [_vm.stockData.length > 0 ? _vm._ssrNode("<div data-v-478c31be>", "</div>", [_c('stock-table', {
    attrs: {
      "data": _vm.stockData
    }
  }), _vm._ssrNode(" <p class=\"quote-tips\" data-v-478c31be>For quantities over available stock levels, please contact us for pricing and timing</p>")], 2) : _vm._ssrNode("<div class=\"quote-tips\" data-v-478c31be>\n          This product is made offshore, and is available for any quantity equal to, or above the listed MOQ\n        </div>")]), _vm._ssrNode(" <div" + _vm._ssrStyle(null, null, {
    display: _vm.typeTab == 3 ? '' : 'none'
  }) + " data-v-478c31be><h5 data-v-478c31be>Maketing Resource</h5> <div class=\"resources maketing\" data-v-478c31be>" + (_vm.comInfo.line_artwork ? "<p data-v-478c31be><img" + _vm._ssrAttr("src", __webpack_require__(259)) + " data-v-478c31be>Lineart Download\n          </p>" : "<!---->") + " " + (_vm.pageData.edm_url ? "<p data-v-478c31be><img" + _vm._ssrAttr("src", __webpack_require__(260)) + " data-v-478c31be>Email Digital Marketing\n          </p>" : "<!---->") + " " + ((_vm$productImgArr = _vm.productImgArr) !== null && _vm$productImgArr !== void 0 && _vm$productImgArr.length ? "<p data-v-478c31be><img" + _vm._ssrAttr("src", __webpack_require__(261)) + " data-v-478c31be>Product Image\n          </p>" : "<!---->") + " " + (_vm.pageData.cataloque_url ? "<p data-v-478c31be><img" + _vm._ssrAttr("src", __webpack_require__(262)) + " data-v-478c31be>Catalogue\n          </p>" : "<!---->") + " " + (_vm.comInfo.product_instruction ? "<p data-v-478c31be><img" + _vm._ssrAttr("src", __webpack_require__(263)) + " data-v-478c31be>Product Instruction\n          </p>" : "<!---->") + "</div> " + ((_vm$pageData$goodsCom = _vm.pageData.goodsCompliance) !== null && _vm$pageData$goodsCom !== void 0 && _vm$pageData$goodsCom.length ? "<h5 data-v-478c31be>Compliance Resource</h5>" : "<!---->") + " <div class=\"resources compliance\" data-v-478c31be>" + _vm._ssrList(_vm.pageData.goodsCompliance, function (item, i) {
    var _item$filter;
    return "<img" + _vm._ssrAttr("src", (_item$filter = item.filter) === null || _item$filter === void 0 ? void 0 : _item$filter.img) + " data-v-478c31be>";
  }) + "</div></div> "), _vm._ssrNode("<div class=\"change\"" + _vm._ssrStyle(null, null, {
    display: _vm.typeTab == 4 ? '' : 'none'
  }) + " data-v-478c31be>", "</div>", [_c('change-table', {
    attrs: {
      "data": _vm.pageData.change
    }
  })], 1)], 2), _vm._ssrNode(" "), _c('no-ssr', [_c('form-dialog', {
    attrs: {
      "title": "网页产品问题反馈",
      "sendbtnCext": "提交",
      "cancelbtnCext": "取消",
      "labelWidth": "90",
      "marginBottom": "0",
      "emailForm": _vm.ticketForm,
      "enquiryConfig": _vm.ticketConfig,
      "visible": _vm.ticketFormVisible,
      "rules": _vm.rules
    },
    on: {
      "update:visible": function ($event) {
        _vm.ticketFormVisible = $event;
      },
      "handleSend": _vm.sendTicket
    }
  }), _vm._v(" "), _c('project', {
    attrs: {
      "productInfo": _vm.pageData
    },
    on: {
      "handleAdd": _vm.openProjectdDialog,
      "save-selected-data": _vm.saveUserSelected
    }
  }), _vm._v(" "), _c('project-dialog', {
    attrs: {
      "visible": _vm.projectdDialogVisible,
      "id": _vm.pageData.id,
      "projectObj": _vm.projectObj,
      "isCopy": false
    },
    on: {
      "update:visible": function ($event) {
        _vm.projectdDialogVisible = $event;
      }
    }
  }), _vm._v(" "), _vm.showViewer ? _c('ElImageViewer', {
    attrs: {
      "on-close": _vm.closeViewer,
      "url-list": _vm.productImgArr
    }
  }) : _vm._e()], 1)], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./components/product/ProductRight.vue?vue&type=template&id=478c31be&scoped=true

// EXTERNAL MODULE: ./components/product/Quote.vue + 4 modules
var Quote = __webpack_require__(241);

// EXTERNAL MODULE: ./components/table/StockTable.vue + 4 modules
var StockTable = __webpack_require__(242);

// EXTERNAL MODULE: ./components/table/ChangeTable.vue + 4 modules
var ChangeTable = __webpack_require__(243);

// EXTERNAL MODULE: ./node_modules/element-ui/packages/image/src/image-viewer.vue + 7 modules
var image_viewer = __webpack_require__(144);

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(5);

// 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!./components/product/ProductRight.vue?vue&type=script&lang=js
/*eslint-disable*/





/* harmony default export */ var ProductRightvue_type_script_lang_js = ({
  components: {
    StockTable: StockTable["default"],
    ChangeTable: ChangeTable["default"],
    Quote: Quote["default"],
    ElImageViewer: image_viewer["a" /* default */]
  },
  props: {
    pageData: {},
    id: Number
  },
  // head(){
  //   return {
  //     meta: [{ 'http-equiv': "Content-Security-Policy", content: "upgrade-insecure-requests" }]
  //   }
  // },
  data() {
    return {
      tabList: [{
        name: 'Details',
        isClick: false,
        isShow: true
      }, {
        name: 'Quick Quote',
        isClick: false,
        isShow: true
      }
      // {
      //   name: 'Stock',
      //   isClick: false,
      //   isShow: true,
      // },
      // {
      //   name: 'Resources',
      //   isClick: false,
      //   isShow: true,
      // },
      // {
      //   name: 'Changes',
      //   isClick: false,
      //   isShow: false,
      // },
      ],
      typeTab: 0,
      stockData: [],
      showViewer: false,
      projectdDialogVisible: false,
      projectObj: {
        decoration_id: ''
      },
      ticketFormVisible: false,
      ticketForm: {
        英文品名: this.pageData.product_name,
        SKU: this.pageData.product_code,
        问题类型: [],
        反馈详情: ''
      },
      ticketConfig: [{
        prop: '英文品名',
        type: 'text'
      }, {
        prop: 'SKU',
        type: 'text'
      }, {
        prop: '问题类型',
        type: 'checkbox',
        selectlist: ['网页信息', '供应商质量', '样品管理', '产品部管理']
      }, {
        prop: '反馈详情',
        type: 'textarea'
      }],
      rules: {
        '问题类型': [{
          required: true,
          message: 'Please select',
          trigger: 'change'
        }],
        '反馈详情': [{
          required: true,
          message: 'Please enter',
          trigger: 'blur'
        }]
      }
    };
  },
  async fetch() {
    this.$store.dispatch('getShopInfo').then(res => {
      console.log(res.hide_prices);
      console.log(typeof res.hide_prices);
      this.tabList[1].isShow = [0, '0'].includes(res.hide_prices);
    });
  },
  computed: {
    currentPre() {
      return this.$store.state.product.smImgUlIdx;
    },
    isLogin() {
      var _this$$store$state$us;
      return !!((_this$$store$state$us = this.$store.state.userInfo) !== null && _this$$store$state$us !== void 0 && _this$$store$state$us.email);
    },
    comInfo() {
      var _this$pageData;
      return (_this$pageData = this.pageData) === null || _this$pageData === void 0 ? void 0 : _this$pageData.main;
    },
    productImgArr() {
      return this.comInfo.mergeImages;
    },
    userInfo() {
      return this.$store.state.userInfo;
    },
    comIncluded_packaging() {
      return this.comInfo.included_packaging.split(',');
    },
    comOptional_packaging() {
      return this.comInfo.optional_packaging.split(',');
    },
    comOptional_attachments() {
      return this.comInfo.optional_attachments.split(',');
    }
  },
  watch: {
    //登陆立即显示Quick Quote和Changes选项
    // isLogin:{
    //   handler(val){
    //     if(val){
    //       this.tabList[1].isShow = true
    //       this.tabList[4].isShow = true
    //     }
    //   },
    //   immediate: true
    // }
  },
  mounted() {},
  methods: {
    ...Object(external_vuex_["mapActions"])(['getUserInfo']),
    ...Object(external_vuex_["mapMutations"])({
      openDialog: 'openDialog',
      setSmImgUlIdx: 'product/setSmImgUlIdx',
      setLoading: 'product/setLoading'
    }),
    // 判断字符串是否符合商品code规律
    isProduct(str) {
      return /^[A-z]{1,4}\d{1,4}[A-z]?$/.test(str);
    },
    // 保存一下用户选择的周期、型号、打印服务、addon、packaging, product builder页面要用到
    saveUserSelected() {
      let result = {
        addon: [],
        packaging: [],
        printService: {}
      };
      for (let key in this.allSelData) {
        if (key === 'addon') {
          result.addon = this.allSelData[key].map(item => item.id);
        }
        if (key === 'packaging') {
          result.packaging = this.allSelData[key].map(item => item.id);
        }
      }
      // 周期
      if (this.priceList[this.currTab].cycle_id) {
        result.cycle = this.priceList[this.currTab].cycle_id;
      }
      // 型号
      if (this.priceList[this.currTab].undecoratedSelectId) {
        result.model = this.priceList[this.currTab].undecoratedSelectId;
      }
      // 打印服务
      const printService = this.priceList[this.currTab][2];
      console.log(printService, 'printService');
      if (Array.isArray(printService) && printService.length) {
        printService.forEach(item => {
          if (item.decorationSelectId) {
            const temp = item.decorationList.filter(i => i.id === item.decorationSelectId);
            result.printService[`${item.id}`] = {
              id: item.decorationSelectId,
              num: temp[0].num
            };
          }
        });
      }
      localStorage.setItem(`product-user-select-${this.$route.params.code}`, JSON.stringify(result));
    },
    getStock() {
      this.$axios.get('/quote/stock_new', {
        params: {
          id: this.id
        }
      }).then(res => {
        this.stockData = res.result;
      });
    },
    openProjectdDialog() {
      if (!isLogin) {
        this.openDialog();
        return;
      }
      this.projectdDialogVisible = true;
      this.projectObj.cycle_id = this.comCurrPriceList.cycle_id;
      this.projectObj.price_unit_id = this.comCurrPriceList.undecoratedSelectId;
      //获取Decoration Method
      this.projectObj.decoration_methods = this.comDecoration.map(item => {
        let temp = {};
        temp.decoration_id = item.id;
        temp.price_unit_id = item.parentId;
        temp.colours_number = item.num;
        return temp;
      });
      this.projectObj.addition_ids = this.allSelData.addon.map(item => {
        return item.id;
      }).join();
      this.projectObj.packaging_addition_ids = this.allSelData.packaging.map(item => {
        return item.id;
      }).join();
    },
    download(url) {
      var urlStr = url.match('[^/]+(?!.*/)')[0];
      const repaceDomainUrl = this.$utils.repaceDomain(url);
      if (url.endsWith(".pdf")) {
        this.$utils.handleFileDownload(repaceDomainUrl, urlStr, false);
      } else {
        this.$utils.downloadBlob(url, urlStr);
      }
    },
    onPreview() {
      this.showViewer = true;
    },
    closeViewer() {
      this.showViewer = false;
    },
    clickNav(i) {
      if (this.typeTab == 1 && !this.tabList[1].isClick) {
        if (this.tabList[1].isShow) {
          this.$refs.quote.getQuote();
          this.$refs.quote.getWeight();
          this.tabList[1].isClick = true;
        }
        // this.checkNav(1)
      } else if (this.typeTab == 2 && !this.tabList[2].isClick) {
        this.checkNav(2);
      }
    },
    checkNav(i) {
      if (this.isLogin) {
        this.getUserInfo();
        if (this.userInfo.audit_status == 1) {
          if (i == 1 && this.tabList[1].isShow) {
            this.$refs.quote.getQuote();
            this.$refs.quote.getWeight();
            this.tabList[1].isClick = true;
          } else if (i == 2) {
            this.getStock();
            this.tabList[2].isClick = true;
          }
        } else {
          this.typeTab = 0;
          this.$message({
            message: 'Your account has not been audited',
            type: 'warning'
          });
        }
      } else {
        this.openDialog();
        this.typeTab = 0;
      }
    },
    openLink(url) {
      let a = url.indexOf('http') > -1 ? url : 'http://' + url;
      window.open(a, '_blank');
    },
    sendTicket() {
      this.$axios.post('/ticket/add', {
        product_code: this.pageData.product_code,
        ticket_type: this.ticketForm['问题类型'].join(),
        content: this.ticketForm['反馈详情']
      }).then(res => {
        this.setLoading(false);
        this.$notify({
          title: "success",
          message: "提交成功",
          type: "success",
          duration: 3000
        });
      }).catch(() => {
        this.setLoading(false);
      });
    }
  }
});
// CONCATENATED MODULE: ./components/product/ProductRight.vue?vue&type=script&lang=js
 /* harmony default export */ var product_ProductRightvue_type_script_lang_js = (ProductRightvue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/product/ProductRight.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(264)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  product_ProductRightvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "478c31be",
  "c2ec0fca"
  
)

/* harmony default export */ var ProductRight = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {TabNav: __webpack_require__(192).default,FormDialog: __webpack_require__(177).default,Project: __webpack_require__(244).default,ProjectDialog: __webpack_require__(204).default})


/***/ }),

/***/ 377:
/***/ (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_code_vue_vue_type_style_index_0_id_975775ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(303);
/* 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_code_vue_vue_type_style_index_0_id_975775ea_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_code_vue_vue_type_style_index_0_id_975775ea_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_code_vue_vue_type_style_index_0_id_975775ea_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_code_vue_vue_type_style_index_0_id_975775ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 422:
/***/ (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!./pages/product/_code.vue?vue&type=template&id=975775ea&scoped=true
var render = function render() {
  var _vm$pageData, _vm$pageData$showcase, _vm$pageData$showcase2, _vm$pageData$showcase3, _vm$pageData$showcase4;
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "com-main com-margin-auto"
  }, [(_vm$pageData = _vm.pageData) !== null && _vm$pageData !== void 0 && _vm$pageData.id ? [_c('breadcrumb', {
    attrs: {
      "pageData": _vm.pageData
    }
  }), _vm._ssrNode(" "), _vm._ssrNode("<section class=\"product\" data-v-975775ea>", "</section>", [_c('product-left', {
    attrs: {
      "pageData": _vm.pageData,
      "id": _vm.pageData.id
    }
  }), _vm._ssrNode(" "), _c('product-right', {
    attrs: {
      "pageData": _vm.pageData,
      "id": _vm.pageData.id
    }
  })], 2), _vm._ssrNode(" "), _vm._ssrNode("<ul class=\"picLink-wrap\" data-v-975775ea>", "</ul>", [(_vm$pageData$showcase = _vm.pageData.showcase[0]) !== null && _vm$pageData$showcase !== void 0 && _vm$pageData$showcase.length ? _vm._ssrNode("<li data-v-975775ea>", "</li>", [_vm._ssrNode("<p class=\"title\" data-v-975775ea>SERVICES</p> <p class=\"intro\" data-v-975775ea>We offer a variety of services to suit your needs</p> "), _vm._l(_vm.pageData.showcase[0], function (item, index) {
    return _vm._ssrNode("<a" + _vm._ssrAttr("href", item.url) + " class=\"showcase\" data-v-975775ea>", "</a>", [_c('el-image', {
      staticStyle: {
        "width": "100%",
        "height": "356px"
      },
      attrs: {
        "lazy": "",
        "src": item.images,
        "fit": "cover"
      }
    })], 1);
  })], 2) : _vm._e(), _vm._ssrNode(" "), (_vm$pageData$showcase2 = _vm.pageData.showcase[1]) !== null && _vm$pageData$showcase2 !== void 0 && _vm$pageData$showcase2.length ? _vm._ssrNode("<li data-v-975775ea>", "</li>", [_vm._ssrNode("<p class=\"title\" data-v-975775ea>DECORATION METHODS</p> <p class=\"intro\" data-v-975775ea>A range of print enhancements to fully customise your product</p> "), _vm._l(_vm.pageData.showcase[1], function (item, index) {
    return _vm._ssrNode("<a" + _vm._ssrAttr("href", item.url) + " class=\"showcase\" data-v-975775ea>", "</a>", [_c('el-image', {
      staticStyle: {
        "width": "100%",
        "height": "258px",
        "margin-top": "20px",
        "border-radius": "12px"
      },
      attrs: {
        "lazy": "",
        "src": item.images,
        "fit": "cover"
      }
    })], 1);
  })], 2) : _vm._e(), _vm._ssrNode(" "), (_vm$pageData$showcase3 = _vm.pageData.showcase[2]) !== null && _vm$pageData$showcase3 !== void 0 && _vm$pageData$showcase3.length ? _vm._ssrNode("<li data-v-975775ea>", "</li>", [_vm._ssrNode("<p class=\"title\" data-v-975775ea>PRINT MARKETING</p> <p class=\"intro\" data-v-975775ea>A range of great print supplement options, to expand your branding messages</p> "), _vm._ssrNode("<div class=\"imgWrap\" data-v-975775ea>", "</div>", _vm._l(_vm.pageData.showcase[2], function (item, index) {
    return _vm._ssrNode("<a" + _vm._ssrAttr("href", item.url) + " class=\"showcase\" data-v-975775ea>", "</a>", [_c('el-image', {
      staticStyle: {
        "width": "100%",
        "height": "100%"
      },
      attrs: {
        "lazy": "",
        "src": item.images,
        "fit": "cover"
      }
    })], 1);
  }), 0)], 2) : _vm._e(), _vm._ssrNode(" "), (_vm$pageData$showcase4 = _vm.pageData.showcase[3]) !== null && _vm$pageData$showcase4 !== void 0 && _vm$pageData$showcase4.length ? _vm._ssrNode("<li data-v-975775ea>", "</li>", [_vm._ssrNode("<p class=\"title\" data-v-975775ea>PACKAGING</p> <p class=\"intro\" data-v-975775ea>Perfect your branding solution with great customised packaging options</p> "), _vm._ssrNode("<div class=\"imgWrap\" data-v-975775ea>", "</div>", _vm._l(_vm.pageData.showcase[3], function (item, index) {
    return _vm._ssrNode("<a" + _vm._ssrAttr("href", item.url) + " class=\"showcase\" data-v-975775ea>", "</a>", [_c('el-image', {
      staticStyle: {
        "width": "100%",
        "height": "100%"
      },
      attrs: {
        "lazy": "",
        "src": item.images,
        "fit": "cover"
      }
    })], 1);
  }), 0)], 2) : _vm._e()], 2)] : _c('el-empty', {
    attrs: {
      "description": "No Data"
    }
  }), _vm._ssrNode(" "), _vm._ssrNode("<section class=\"com-width-1200 com-margin-auto\" data-v-975775ea>", "</section>", [_c('pc-title', {
    attrs: {
      "title": 'Related ltems',
      "marginTop": 70
    }
  }), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"card-wrap com-margin-auto\" data-v-975775ea>", "</div>", _vm._l(_vm.indexGoodsRankLists, function (item, k) {
    return _c('card', {
      key: k,
      attrs: {
        "cardData": item
      }
    });
  }), 1)], 2)], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./pages/product/_code.vue?vue&type=template&id=975775ea&scoped=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!./pages/product/_code.vue?vue&type=script&lang=js
/* harmony default export */ var _codevue_type_script_lang_js = ({
  layout: "default",
  // middleware: 'auth',
  data() {
    return {
      pageData: null,
      indexGoodsRankLists: []
    };
  },
  head() {
    var _this$pageData, _this$pageData2, _this$pageData3, _this$pageData3$main;
    return {
      title: ((_this$pageData = this.pageData) === null || _this$pageData === void 0 ? void 0 : _this$pageData.product_name) || 'PromoCollection',
      meta: [{
        name: "keywords",
        content: (_this$pageData2 = this.pageData) === null || _this$pageData2 === void 0 ? void 0 : _this$pageData2.keywords
      }, {
        name: 'description',
        content: (_this$pageData3 = this.pageData) === null || _this$pageData3 === void 0 ? void 0 : (_this$pageData3$main = _this$pageData3.main) === null || _this$pageData3$main === void 0 ? void 0 : _this$pageData3$main.seo_description
      }]
    };
  },
  async asyncData({
    $axios,
    params,
    error,
    redirect
  }) {
    var _pageData$result;
    let pageData = await $axios.get(`/au/goods/detail?product_code=${params.code}`);
    let indexGoodsRankLists = [];
    if ((_pageData$result = pageData.result) !== null && _pageData$result !== void 0 && _pageData$result.category_id) {
      try {
        var _pageData$result2;
        indexGoodsRankLists = await $axios.get(`/au/goods/recommend/${(_pageData$result2 = pageData.result) === null || _pageData$result2 === void 0 ? void 0 : _pageData$result2.category_id}`);
      } catch (err) {
        console.log(err);
      }
    } else {
      indexGoodsRankLists = await $axios.post("home/indexGoodsRankLists", {
        site: 1
      });
    }
    return {
      pageData: pageData.result,
      indexGoodsRankLists: indexGoodsRankLists.result
    };
  }
});
// CONCATENATED MODULE: ./pages/product/_code.vue?vue&type=script&lang=js
 /* harmony default export */ var product_codevue_type_script_lang_js = (_codevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./pages/product/_code.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(377)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  product_codevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  injectStyles,
  "975775ea",
  "91fc2894"
  
)

/* harmony default export */ var _code = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {Breadcrumb: __webpack_require__(323).default,ProductLeft: __webpack_require__(324).default,ProductRight: __webpack_require__(325).default,PcTitle: __webpack_require__(203).default,Card: __webpack_require__(153).default})


/***/ })

};;
//# sourceMappingURL=_code.js.map