exports.ids = [44];
exports.modules = {

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

// Exports
module.exports = {

};


/***/ }),

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


/***/ }),

/***/ 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);

/***/ })

};;
//# sourceMappingURL=table-new-price-table.js.map