module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, {
/******/ 				configurable: false,
/******/ 				enumerable: true,
/******/ 				get: getter
/******/ 			});
/******/ 		}
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "/dist/";
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 767);
/******/ })
/************************************************************************/
/******/ ({

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

/* globals __VUE_SSR_CONTEXT__ */

// IMPORTANT: Do NOT use ES2015 features in this file.
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.

module.exports = function normalizeComponent (
  rawScriptExports,
  compiledTemplate,
  functionalTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier /* server only */
) {
  var esModule
  var scriptExports = rawScriptExports = rawScriptExports || {}

  // ES6 modules interop
  var type = typeof rawScriptExports.default
  if (type === 'object' || type === 'function') {
    esModule = rawScriptExports
    scriptExports = rawScriptExports.default
  }

  // Vue.extend constructor export interop
  var options = typeof scriptExports === 'function'
    ? scriptExports.options
    : scriptExports

  // render functions
  if (compiledTemplate) {
    options.render = compiledTemplate.render
    options.staticRenderFns = compiledTemplate.staticRenderFns
    options._compiled = true
  }

  // functional template
  if (functionalTemplate) {
    options.functional = true
  }

  // scopedId
  if (scopeId) {
    options._scopeId = scopeId
  }

  var hook
  if (moduleIdentifier) { // server build
    hook = function (context) {
      // 2.3 injection
      context =
        context || // cached call
        (this.$vnode && this.$vnode.ssrContext) || // stateful
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__
      }
      // inject component styles
      if (injectStyles) {
        injectStyles.call(this, context)
      }
      // register component module identifier for async chunk inferrence
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier)
      }
    }
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook
  } else if (injectStyles) {
    hook = injectStyles
  }

  if (hook) {
    var functional = options.functional
    var existing = functional
      ? options.render
      : options.beforeCreate

    if (!functional) {
      // inject component registration as beforeCreate hook
      options.beforeCreate = existing
        ? [].concat(existing, hook)
        : [hook]
    } else {
      // for template-only hot-reload because in that case the render fn doesn't
      // go through the normalizer
      options._injectStyles = hook
      // register for functioal component in vue file
      options.render = function renderWithStyleInjection (h, context) {
        hook.call(context)
        return existing(h, context)
      }
    }
  }

  return {
    esModule: esModule,
    exports: scriptExports,
    options: options
  }
}


/***/ }),

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

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function(useSourceMap) {
	var list = [];

	// return the list of modules as css string
	list.toString = function toString() {
		return this.map(function (item) {
			var content = cssWithMappingToString(item, useSourceMap);
			if(item[2]) {
				return "@media " + item[2] + "{" + content + "}";
			} else {
				return content;
			}
		}).join("");
	};

	// import a list of modules into the list
	list.i = function(modules, mediaQuery) {
		if(typeof modules === "string")
			modules = [[null, modules, ""]];
		var alreadyImportedModules = {};
		for(var i = 0; i < this.length; i++) {
			var id = this[i][0];
			if(typeof id === "number")
				alreadyImportedModules[id] = true;
		}
		for(i = 0; i < modules.length; i++) {
			var item = modules[i];
			// skip already imported module
			// this implementation is not 100% perfect for weird media query combinations
			//  when a module is imported multiple times with different media queries.
			//  I hope this will never occur (Hey this way we have smaller bundles)
			if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
				if(mediaQuery && !item[2]) {
					item[2] = mediaQuery;
				} else if(mediaQuery) {
					item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
				}
				list.push(item);
			}
		}
	};
	return list;
};

function cssWithMappingToString(item, useSourceMap) {
	var content = item[1] || '';
	var cssMapping = item[3];
	if (!cssMapping) {
		return content;
	}

	if (useSourceMap && typeof btoa === 'function') {
		var sourceMapping = toComment(cssMapping);
		var sourceURLs = cssMapping.sources.map(function (source) {
			return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
		});

		return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
	}

	return [content].join('\n');
}

// Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
	// eslint-disable-next-line no-undef
	var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
	var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;

	return '/*# ' + data + ' */';
}


/***/ }),

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

/*
  MIT License http://www.opensource.org/licenses/mit-license.php
  Author Tobias Koppers @sokra
  Modified by Evan You @yyx990803
*/

var hasDocument = typeof document !== 'undefined'

if (typeof DEBUG !== 'undefined' && DEBUG) {
  if (!hasDocument) {
    throw new Error(
    'vue-style-loader cannot be used in a non-browser environment. ' +
    "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."
  ) }
}

var listToStyles = __webpack_require__(6)

/*
type StyleObject = {
  id: number;
  parts: Array<StyleObjectPart>
}

type StyleObjectPart = {
  css: string;
  media: string;
  sourceMap: ?string
}
*/

var stylesInDom = {/*
  [id: number]: {
    id: number,
    refs: number,
    parts: Array<(obj?: StyleObjectPart) => void>
  }
*/}

var head = hasDocument && (document.head || document.getElementsByTagName('head')[0])
var singletonElement = null
var singletonCounter = 0
var isProduction = false
var noop = function () {}
var options = null
var ssrIdKey = 'data-vue-ssr-id'

// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
// tags it will allow on a page
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase())

module.exports = function (parentId, list, _isProduction, _options) {
  isProduction = _isProduction

  options = _options || {}

  var styles = listToStyles(parentId, list)
  addStylesToDom(styles)

  return function update (newList) {
    var mayRemove = []
    for (var i = 0; i < styles.length; i++) {
      var item = styles[i]
      var domStyle = stylesInDom[item.id]
      domStyle.refs--
      mayRemove.push(domStyle)
    }
    if (newList) {
      styles = listToStyles(parentId, newList)
      addStylesToDom(styles)
    } else {
      styles = []
    }
    for (var i = 0; i < mayRemove.length; i++) {
      var domStyle = mayRemove[i]
      if (domStyle.refs === 0) {
        for (var j = 0; j < domStyle.parts.length; j++) {
          domStyle.parts[j]()
        }
        delete stylesInDom[domStyle.id]
      }
    }
  }
}

function addStylesToDom (styles /* Array<StyleObject> */) {
  for (var i = 0; i < styles.length; i++) {
    var item = styles[i]
    var domStyle = stylesInDom[item.id]
    if (domStyle) {
      domStyle.refs++
      for (var j = 0; j < domStyle.parts.length; j++) {
        domStyle.parts[j](item.parts[j])
      }
      for (; j < item.parts.length; j++) {
        domStyle.parts.push(addStyle(item.parts[j]))
      }
      if (domStyle.parts.length > item.parts.length) {
        domStyle.parts.length = item.parts.length
      }
    } else {
      var parts = []
      for (var j = 0; j < item.parts.length; j++) {
        parts.push(addStyle(item.parts[j]))
      }
      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }
    }
  }
}

function createStyleElement () {
  var styleElement = document.createElement('style')
  styleElement.type = 'text/css'
  head.appendChild(styleElement)
  return styleElement
}

function addStyle (obj /* StyleObjectPart */) {
  var update, remove
  var styleElement = document.querySelector('style[' + ssrIdKey + '~="' + obj.id + '"]')

  if (styleElement) {
    if (isProduction) {
      // has SSR styles and in production mode.
      // simply do nothing.
      return noop
    } else {
      // has SSR styles but in dev mode.
      // for some reason Chrome can't handle source map in server-rendered
      // style tags - source maps in <style> only works if the style tag is
      // created and inserted dynamically. So we remove the server rendered
      // styles and inject new ones.
      styleElement.parentNode.removeChild(styleElement)
    }
  }

  if (isOldIE) {
    // use singleton mode for IE9.
    var styleIndex = singletonCounter++
    styleElement = singletonElement || (singletonElement = createStyleElement())
    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)
    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)
  } else {
    // use multi-style-tag mode in all other cases
    styleElement = createStyleElement()
    update = applyToTag.bind(null, styleElement)
    remove = function () {
      styleElement.parentNode.removeChild(styleElement)
    }
  }

  update(obj)

  return function updateStyle (newObj /* StyleObjectPart */) {
    if (newObj) {
      if (newObj.css === obj.css &&
          newObj.media === obj.media &&
          newObj.sourceMap === obj.sourceMap) {
        return
      }
      update(obj = newObj)
    } else {
      remove()
    }
  }
}

var replaceText = (function () {
  var textStore = []

  return function (index, replacement) {
    textStore[index] = replacement
    return textStore.filter(Boolean).join('\n')
  }
})()

function applyToSingletonTag (styleElement, index, remove, obj) {
  var css = remove ? '' : obj.css

  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = replaceText(index, css)
  } else {
    var cssNode = document.createTextNode(css)
    var childNodes = styleElement.childNodes
    if (childNodes[index]) styleElement.removeChild(childNodes[index])
    if (childNodes.length) {
      styleElement.insertBefore(cssNode, childNodes[index])
    } else {
      styleElement.appendChild(cssNode)
    }
  }
}

function applyToTag (styleElement, obj) {
  var css = obj.css
  var media = obj.media
  var sourceMap = obj.sourceMap

  if (media) {
    styleElement.setAttribute('media', media)
  }
  if (options.ssrId) {
    styleElement.setAttribute(ssrIdKey, obj.id)
  }

  if (sourceMap) {
    // https://developer.chrome.com/devtools/docs/javascript-debugging
    // this makes source maps inside style tags work properly in Chrome
    css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */'
    // http://stackoverflow.com/a/26603875
    css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'
  }

  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = css
  } else {
    while (styleElement.firstChild) {
      styleElement.removeChild(styleElement.firstChild)
    }
    styleElement.appendChild(document.createTextNode(css))
  }
}


/***/ }),

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

"use strict";


exports.__esModule = true;

var _datePicker = __webpack_require__(771);

var _datePicker2 = _interopRequireDefault(_datePicker);

var _html2canvas = __webpack_require__(772);

var _html2canvas2 = _interopRequireDefault(_html2canvas);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

//  引入 ECharts 主模块
var echarts = __webpack_require__(773);
//  引入折线图
__webpack_require__(774);
//  引入提示框、标题、标注线、区域线组件
__webpack_require__(775);
__webpack_require__(776);
__webpack_require__(777);
__webpack_require__(778);
__webpack_require__(779);
__webpack_require__(780);

exports.default = {
  name: 'ElQualityControlChart',
  components: {
    ElDatePicker: _datePicker2.default
  },
  props: {
    data: {
      type: Object,
      default: function _default() {
        return {
          JID: '',
          echartsURL: 'http:// 192.168.2.225/sbgl-prj/gzyq/runGzyq',
          prn: '257513837040',
          getEchartsDataParamBtnCode: 'BTN_247335599528',
          getLineBaseParamBtnCode: 'BTN_252753500664'
        };
      }
    }
  },
  data: function data() {
    return {
      timevalue: new Date().getYear() + 1900 + '',
      having_data: false,
      //  基准线
      lineBase: {},
      //  测量数据
      arrData: [],
      echartsWidth: 0,
      echartsHeight: 0
    };
  },

  mounted: function mounted() {
    this.echartsWidth = this.$parent.$el.offsetWidth;
    this.echartsHeight = this.$parent.$el.offsetHeight;
    var _this = this;
    setTimeout(function () {
      _this.getEcharts();
    });
  },


  methods: {
    // 质控图下载
    downChart: function downChart(e) {
      var ele = document.getElementsByClassName('el-quality-control-chart')[0];
      (0, _html2canvas2.default)(ele).then(function (canvas) {
        var imgUri = canvas.toDataURL("image/png");
        var $a = document.createElement('a');
        $a.setAttribute("href", imgUri);
        $a.setAttribute("download", "");
        $a.click();
      });
    },

    //  时间转换
    dateFormat: function dateFormat(time) {
      var getBeginTime = new Date(time);
      var day = getBeginTime.getDate() < 10 ? '0' + getBeginTime.getDate() : getBeginTime.getDate();

      return getBeginTime.getFullYear() + '-' + (getBeginTime.getMonth() + 1) + '-' + day;
    },


    // 时间段获取
    getChangeTime: function getChangeTime() {
      this.getEcharts();
    },


    // 获取基准线
    getLineBase: function getLineBase(e) {
      var _this2 = this;

      this.lineBase = {};
      this.$http.post(this.data.echartsURL, Object.assign({ btnCode: this.data.getLineBaseParamBtnCode }, this.data), { emulateJSON: true }).then(function (result) {
        if (result.body.list && result.body.list.length) {
          _this2.lineBase = result.body.list[0];
        } else {
          _this2.having_data = false;
        }
        _this2.getEchartsData(e);
      }, function (result) {
        _this2.$message.error('基线加载错误');
        _this2.having_data = false;
      });
    },


    // 获取测量数据
    getEchartsData: function getEchartsData(e) {
      var _this3 = this;

      this.arrData = [];
      this.$http.post(this.data.echartsURL, Object.assign({
        btnCode: this.data.getEchartsDataParamBtnCode,
        year: this.timevalue ? this.timevalue : '' // 筛选起时间
        // begintime: this.timevalue
        //   ? this.dateFormat(this.timevalue[0])
        //   : '', // 筛选起时间
        // endtime: this.timevalue ? this.dateFormat(this.timevalue[1]) : '' // 筛选止时间
      }, this.data), { emulateJSON: true }).then(function (result) {
        if (result.body.list && result.body.list.length) {
          // 获取测量数据
          for (var i = 0; i < result.body.list.length; i++) {
            _this3.arrData[i] = [];
            _this3.arrData[i].push(result.body.list[i].dis_or);
            // 判断是否超出行动线
            var tipTest_value = result.body.list[i].qcs_test_value;
            if (Number(result.body.list[i].qcs_test_value) > Number(_this3.lineBase.retrospective_line_right)) {
              result.body.list[i].qcs_test_value = String((Number(_this3.lineBase.statistic_end_value) - Number(_this3.lineBase.retrospective_line_right)) / 2 + Number(_this3.lineBase.retrospective_line_right));
            };
            if (Number(result.body.list[i].qcs_test_value) < Number(_this3.lineBase.retrospective_line_left)) {
              result.body.list[i].qcs_test_value = String((Number(_this3.lineBase.retrospective_line_left) - Number(_this3.lineBase.statistic_begin_value)) / 2 + Number(_this3.lineBase.statistic_begin_value));
            };
            result.body.list[i].tipTest_value = tipTest_value;
            _this3.arrData[i].push(result.body.list[i].qcs_test_value);
            _this3.arrData[i].push(result.body.list[i].tester);
            _this3.arrData[i].push(result.body.list[i].qcs_date.substring(0, 10));
            _this3.arrData[i].push(result.body.list[i].tipTest_value);
          }
          _this3.having_data = true;
          e.setOption(_this3.industryTableView(_this3.lineBase, _this3.arrData), true);
        } else {
          _this3.having_data = false;
        }
      }, function (result) {
        _this3.$message.error('测量数据获取错误');
        _this3.having_data = false;
      });
    },


    // 图表的配置项
    industryTableView: function industryTableView(lineData, seriesData) {
      var option = {
        tooltip: {
          trigger: 'item',
          backgroundColor: 'transparent',
          formatter: function formatter(params) {
            var yVal = +params.data[1];
            var str = '第' + params.data[0] + '次测量' + '<br/>' + '实际测试结果: ' + params.data[4] + '<br/>' + '核查人: ' + params.data[2] + '<br/>' + '核查日期: ' + params.data[3];
            if (yVal > lineData.maintenanc_line_right && yVal <= lineData.retrospective_line_right) {
              return '<div style=' + 'background:' + '#f48A0D' + ';padding:10px;>' + str + '</div>';
            } else if (yVal >= lineData.maintenanc_line_left && yVal <= lineData.maintenanc_line_right) {
              return '<div style=' + 'background:' + '#30b06A' + ';padding:10px;>' + str + '</div>';
            } else if (yVal >= lineData.retrospective_line_left && yVal < lineData.maintenanc_line_left) {
              return '<div style=' + 'background:' + '#f48A0D' + ';padding:10px;>' + str + '</div>';
            } else {
              return '<div style=' + 'background:' + '#f04844' + ';padding:10px;>' + str + '</div>';
            }
          }
        },
        grid: {
          left: '7%',
          right: '11%',
          bottom: '3%',
          containLabel: true
        },
        xAxis: {
          type: 'category',
          axisLine: {
            lineStyle: {
              color: '#bbb'
            }
          },
          max: seriesData.length - 1,
          min: 0,
          splitLine: {
            show: false // 去除垂直网格线
          },
          axisLabel: {
            interval: 0, // x轴刻度过多时不隐藏
            color: '#000'
          },
          axisTick: {
            alignWithLabel: true, // 刻度线和标签是否对齐
            show: false
          }
        },
        yAxis: [{
          name: '(' + lineData.unit + ')',
          type: 'value',
          axisLine: {
            lineStyle: {
              opacity: '0.7'
            }
          },
          max: Number(lineData.statistic_end_value),
          min: Number(lineData.statistic_begin_value),
          axisLabel: {
            show: false
          },
          splitLine: {
            show: false // 去除水平网格线
          },
          axisTick: {
            show: false // 隐藏纵坐标刻度
          }
        }],
        // 滚动条
        dataZoom: [{
          type: 'slider',
          realtime: true,
          // backgroundColor:'#eee', // 组件的背景颜色
          fillerColor: '#bababa', // 选中范围的填充颜色
          handleSize: 0, // 滑动条的左右2个滑动条的大小
          height: 30, // 组件高度
          show: seriesData.length > 16,
          xAxisIndex: [0],
          textStyle: false,
          left: '5%',
          bottom: -14,
          start: 0,
          end: seriesData.length > 16 ? 16 / seriesData.length * 100 - 1 : 100
        }, {
          type: 'inside',
          xAxisIndex: [0],
          start: 0,
          end: 100
        }, {
          type: 'slider',
          show: false,
          yAxisIndex: [0],
          left: 0,
          start: 0,
          end: 100
        }, {
          type: 'inside',
          yAxisIndex: [0],
          start: 0,
          end: 100
        }],
        series: [{
          type: 'line',
          symbolSize: '14',
          symbol: 'circle',
          data: seriesData,
          markPoint: {
            symbol: 'triangle'
          },
          label: {
            show: true,
            backgroundColor: '#fff',
            borderColor: '#000',
            color: '#000',
            borderWidth: 0.5,
            padding: 5,
            formatter: function formatter(params) {
              return params.data[3];
            }
          },
          itemStyle: {
            normal: {
              color: function color(params) {
                var yVal = +params.data[1];
                if (yVal > lineData.maintenanc_line_right && yVal <= lineData.retrospective_line_right) {
                  return '#f48A0D';
                } else if (yVal >= lineData.maintenanc_line_left && yVal <= lineData.maintenanc_line_right) {
                  return '#30b06A';
                } else if (yVal >= lineData.retrospective_line_left && yVal < lineData.maintenanc_line_left) {
                  return '#f48A0D';
                } else {
                  return '#f04844';
                }
              },
              lineStyle: {
                color: '#000',
                width: 4
              }
            }
          },
          markArea: {
            // 标记区域
            silent: true,
            label: {
              show: true,
              position: ['50%', '30%'] // 标记居中显示
            },
            data: [[{
              name: '禁用区',
              yAxis: lineData.retrospective_line_right,
              label: {
                color: '#f00',
                fontSize: 15
              },
              itemStyle: {
                color: '#FFFAFA'
              }
            }, {
              yAxis: lineData.statistic_end_value
            }], [{
              name: '维修区',
              yAxis: lineData.maintenanc_line_right,
              label: {
                color: '#FE7F2F',
                fontSize: 15
              },
              itemStyle: {
                color: '#FFFFF0'
              }
            }, {
              yAxis: lineData.retrospective_line_right
            }], [{
              yAxis: lineData.maintenanc_line_left,
              itemStyle: {
                // 背景色
                color: '#FFF'
              }
            }, {
              yAxis: lineData.maintenanc_line_right
            }], [{
              name: '维修区',
              yAxis: lineData.retrospective_line_left,
              label: {
                // 文字颜色
                color: '#FE7F2F',
                fontSize: 15
              },
              itemStyle: {
                // 背景色
                color: '#FFFFF0'
              }
            }, {
              yAxis: lineData.maintenanc_line_left
            }], [{
              name: '禁用区',
              yAxis: lineData.statistic_begin_value,
              label: {
                color: '#f00',
                fontSize: 15
              },
              itemStyle: {
                color: '#FFFAFA'
              }
            }, {
              yAxis: lineData.retrospective_line_left
            }]]
          },

          markLine: {
            // 基准线
            silent: true,
            symbol: ['none', 'none'],
            data: [{
              yAxis: lineData.maintenanc_line_left,
              lineStyle: {
                normal: {
                  color: '#00f'
                }
              },
              label: {
                normal: {
                  formatter: '维护值1'
                }
              }
            }, {
              yAxis: lineData.maintenanc_line_left,
              lineStyle: {
                normal: {
                  color: '#00f'
                }
              },
              label: {
                position: 'start',
                formatter: lineData.maintenanc_line_left
              }
            }, {
              yAxis: lineData.maintenanc_line_right,
              lineStyle: {
                normal: {
                  color: '#00f'
                }
              },
              label: {
                normal: {
                  formatter: '维护值2'
                }
              }
            }, {
              yAxis: lineData.maintenanc_line_right,
              lineStyle: {
                normal: {
                  color: '#00f'
                }
              },
              label: {
                position: 'start',
                formatter: lineData.maintenanc_line_right
              }
            }, {
              yAxis: lineData.retrospective_line_left,
              lineStyle: {
                normal: {
                  color: '#f00'
                }
              },
              label: {
                normal: {
                  formatter: '回溯值1'
                }
              }
            }, {
              yAxis: lineData.retrospective_line_left,
              lineStyle: {
                normal: {
                  color: '#f00'
                }
              },
              label: {
                position: 'start',
                formatter: lineData.retrospective_line_left
              }
            }, {
              yAxis: lineData.retrospective_line_right,
              lineStyle: {
                normal: {
                  color: '#f00'
                }
              },
              label: {
                normal: {
                  formatter: '回溯值2'
                }
              }
            }, {
              yAxis: lineData.retrospective_line_right,
              lineStyle: {
                normal: {
                  color: '#f00'
                }
              },
              label: {
                position: 'start',
                formatter: lineData.retrospective_line_right
              }
            }, {
              yAxis: lineData.nominal_line,
              lineStyle: {
                normal: {
                  color: '#2E8B57'
                }
              },
              label: {
                normal: {
                  formatter: '中心线'
                }
              }
            }, {
              yAxis: lineData.nominal_line,
              lineStyle: {
                normal: {
                  color: '#2E8B57'
                }
              },
              label: {
                position: 'start',
                formatter: lineData.nominal_line
              }
            }]
          }
        }]
      };
      return option;
    },


    // 渲染图表
    getEcharts: function getEcharts() {
      //  页面初始化时渲染图表
      var myChart = echarts.init(document.getElementById('myEchartsContainer'));
      this.getLineBase(myChart);
    }
  }
};

/***/ }),

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

/**
 * Translates the list format produced by css-loader into something
 * easier to manipulate.
 */
module.exports = function listToStyles (parentId, list) {
  var styles = []
  var newStyles = {}
  for (var i = 0; i < list.length; i++) {
    var item = list[i]
    var id = item[0]
    var css = item[1]
    var media = item[2]
    var sourceMap = item[3]
    var part = {
      id: parentId + ':' + i,
      css: css,
      media: media,
      sourceMap: sourceMap
    }
    if (!newStyles[id]) {
      styles.push(newStyles[id] = { id: id, parts: [part] })
    } else {
      newStyles[id].parts.push(part)
    }
  }
  return styles
}


/***/ }),

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

"use strict";


exports.__esModule = true;

var _main = __webpack_require__(768);

var _main2 = _interopRequireDefault(_main);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* istanbul ignore next */
_main2.default.install = function (Vue) {
  Vue.component(_main2.default.name, _main2.default);
};

exports.default = _main2.default;

/***/ }),

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

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_main_vue__ = __webpack_require__(225);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_main_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_main_vue__);
/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_main_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_main_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_3fcfc6df_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_main_vue__ = __webpack_require__(781);
function injectStyle (ssrContext) {
  __webpack_require__(769)
}
var normalizeComponent = __webpack_require__(0)
/* script */


/* template */

/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = null
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
  __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_main_vue___default.a,
  __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_3fcfc6df_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_main_vue__["a" /* default */],
  __vue_template_functional__,
  __vue_styles__,
  __vue_scopeId__,
  __vue_module_identifier__
)

/* harmony default export */ __webpack_exports__["default"] = (Component.exports);


/***/ }),

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

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(770);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(2)("a49021fe", content, true, {});

/***/ }),

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

exports = module.exports = __webpack_require__(1)(false);
// imports


// module
exports.push([module.i, ".block .spanBox{width:calc(100% - 132px);height:37px;line-height:37px}.block .spanBox span{width:25%;display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block .dateBox{text-align:center}.block .dateBox input{height:35px}.block .dateBox .el-input{line-height:35px}.block .dateBox .el-select{width:130px;display:inline-block}.ellipse{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clearfix{zoom:1}.clearfix:after{content:\"\";width:0;height:0;visibility:hidden;display:block;clear:both;overflow:hidden}.fl{float:left}.fr{float:right}.intro{width:90%;margin:0 auto;padding-top:6px}", ""]);

// exports


/***/ }),

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

module.exports = require("element-ui-qz/lib/date-picker");

/***/ }),

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

module.exports = require("html2canvas");

/***/ }),

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

module.exports = require("echarts/lib/echarts");

/***/ }),

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

module.exports = require("echarts/lib/chart/line");

/***/ }),

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

module.exports = require("echarts/lib/component/tooltip");

/***/ }),

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

module.exports = require("echarts/lib/component/title");

/***/ }),

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

module.exports = require("echarts/lib/component/markLine");

/***/ }),

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

module.exports = require("echarts/lib/component/markArea");

/***/ }),

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

module.exports = require("echarts/lib/component/dataZoom");

/***/ }),

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

module.exports = require("echarts/lib/component/markPoint");

/***/ }),

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

"use strict";
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"el-quality-control-chart",attrs:{"v-loading":!_vm.arrData.length && !_vm.lineBase}},[_c('div',{staticClass:"block clearfix"},[_c('div',{staticClass:"spanBox fl"},[_c('span',{attrs:{"title":this.lineBase.qcs_no}},[_vm._v("质控样编号: "+_vm._s(this.lineBase.qcs_no))]),_c('span',{attrs:{"title":this.lineBase.qcs_name}},[_vm._v("质控样名称: "+_vm._s(this.lineBase.qcs_name))]),_c('span',{attrs:{"title":this.lineBase.qcs_model}},[_vm._v("质控样型号: "+_vm._s(this.lineBase.qcs_model))]),_c('span',{attrs:{"title":this.lineBase.test_item}},[_vm._v("检验项目: "+_vm._s(this.lineBase.test_item))])]),_c('div',{staticClass:"dateBox fr"},[_c('el-select',{staticStyle:{"width":"93px"},attrs:{"placeholder":"请选择年份"},on:{"change":_vm.getChangeTime},model:{value:(_vm.timevalue),callback:function ($$v) {_vm.timevalue=$$v},expression:"timevalue"}},[_c('el-option',{attrs:{"label":"2018年","value":"2018"}}),_c('el-option',{attrs:{"label":"2019年","value":"2019"}}),_c('el-option',{attrs:{"label":"2020年","value":"2020"}}),_c('el-option',{attrs:{"label":"2021年","value":"2021"}}),_c('el-option',{attrs:{"label":"2022年","value":"2022"}}),_c('el-option',{attrs:{"label":"2023年","value":"2023"}}),_c('el-option',{attrs:{"label":"2024年","value":"2024"}}),_c('el-option',{attrs:{"label":"2025年","value":"2025"}}),_c('el-option',{attrs:{"label":"2026年","value":"2026"}}),_c('el-option',{attrs:{"label":"2027年","value":"2027"}})],1),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.having_data),expression:"having_data"}],staticClass:"downLoadBtn",staticStyle:{"padding":"6px","margin-left":"5px","position":"relative","top":"2px"},attrs:{"type":"primary","title":"鼠标在图上滚动缩放后可下载全部内容"},on:{"click":function($event){return _vm.downChart($event)}}},[_c('i',{staticClass:"el-icon-download",staticStyle:{"font-size":"20px"}})])],1)]),_c('p',{staticClass:"intro"},[_vm._v("当测试结果到达维护值及其区间以外时，复测3次。如果3次都合格，不需采取行动；若2次或3次不合格，停止测试并向设备员汇报；若1次不合格，继续复测2次，如果再次出现了1次或2次不合格，停止测试并向设备员汇报。")]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.having_data),expression:"having_data"}]},[_c('div',{staticStyle:{"width":"1100px","height":"500px"},attrs:{"id":"myEchartsContainer"}})]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.having_data),expression:"!having_data"}],staticStyle:{"text-align":"center"}},[_c('img',{attrs:{"src":__webpack_require__(782)}})])])}
var staticRenderFns = []
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ __webpack_exports__["a"] = (esExports);

/***/ }),

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

module.exports = "data:image/jpeg;base64, "

/***/ })

/******/ });