UNPKG

vue-cron-picker

Version:

CRON表达式选择器

3,265 lines 91.3 kB
'use strict';function ownKeys(object, enumerableOnly) {
  var keys = Object.keys(object);
  if (Object.getOwnPropertySymbols) {
    var symbols = Object.getOwnPropertySymbols(object);
    enumerableOnly && (symbols = symbols.filter(function (sym) {
      return Object.getOwnPropertyDescriptor(object, sym).enumerable;
    })), keys.push.apply(keys, symbols);
  }
  return keys;
}
function _objectSpread2(target) {
  for (var i = 1; i < arguments.length; i++) {
    var source = null != arguments[i] ? arguments[i] : {};
    i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
      _defineProperty(target, key, source[key]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
    });
  }
  return target;
}
function _defineProperty(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }
  return obj;
}
function _slicedToArray(arr, i) {
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
}
function _arrayWithHoles(arr) {
  if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
  if (_i == null) return;
  var _arr = [];
  var _n = true;
  var _d = false;
  var _s, _e;
  try {
    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
      _arr.push(_s.value);
      if (i && _arr.length === i) break;
    }
  } catch (err) {
    _d = true;
    _e = err;
  } finally {
    try {
      if (!_n && _i["return"] != null) _i["return"]();
    } finally {
      if (_d) throw _e;
    }
  }
  return _arr;
}
function _unsupportedIterableToArray(o, minLen) {
  if (!o) return;
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
  var n = Object.prototype.toString.call(o).slice(8, -1);
  if (n === "Object" && o.constructor) n = o.constructor.name;
  if (n === "Map" || n === "Set") return Array.from(o);
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
  if (len == null || len > arr.length) len = arr.length;
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
  return arr2;
}
function _nonIterableRest() {
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$8 = {
  data: function data() {
    return {
      radioValue: 1,
      cycle01: 1,
      cycle02: 2,
      average01: 0,
      average02: 1,
      checkboxList: [],
      checkNum: this.$options.propsData.check
    };
  },
  name: 'crontab-second',
  props: ['check', 'radioParent'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'second', '*', 'second');
          break;
        case 2:
          this.$emit('update', 'second', this.cycleTotal);
          break;
        case 3:
          this.$emit('update', 'second', this.averageTotal);
          break;
        case 4:
          this.$emit('update', 'second', this.checkboxString);
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '2') {
        this.$emit('update', 'second', this.cycleTotal);
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'second', this.averageTotal);
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'second', this.checkboxString);
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'checkboxString': 'checkboxChange',
    radioParent: function radioParent() {
      this.radioValue = this.radioParent;
    }
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      var cycle01 = this.checkNum(this.cycle01, 0, 58);
      var cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59);
      return cycle01 + '-' + cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      var average01 = this.checkNum(this.average01, 0, 58);
      var average02 = this.checkNum(this.average02, 1, 59 - average01 || 0);
      return average01 + '/' + average02;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str == '' ? '*' : str;
    }
  }
};function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
    if (typeof shadowMode !== 'boolean') {
        createInjectorSSR = createInjector;
        createInjector = shadowMode;
        shadowMode = false;
    }
    // Vue.extend constructor export interop.
    const options = typeof script === 'function' ? script.options : script;
    // render functions
    if (template && template.render) {
        options.render = template.render;
        options.staticRenderFns = template.staticRenderFns;
        options._compiled = true;
        // functional template
        if (isFunctionalTemplate) {
            options.functional = true;
        }
    }
    // scopedId
    if (scopeId) {
        options._scopeId = scopeId;
    }
    let 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 (style) {
                style.call(this, createInjectorSSR(context));
            }
            // register component module identifier for async chunk inference
            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 (style) {
        hook = shadowMode
            ? function (context) {
                style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
            }
            : function (context) {
                style.call(this, createInjector(context));
            };
    }
    if (hook) {
        if (options.functional) {
            // register for functional component in vue file
            const originalRender = options.render;
            options.render = function renderWithStyleInjection(h, context) {
                hook.call(context);
                return originalRender(h, context);
            };
        }
        else {
            // inject component registration as beforeCreate hook
            const existing = options.beforeCreate;
            options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
        }
    }
    return script;
}/* script */
var __vue_script__$8 = script$8;

/* template */
var __vue_render__$8 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t秒,允许的通配符[, - * /]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 0,
      "max": 58
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }), _vm._v(" -\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.cycle01 ? _vm.cycle01 + 1 : 1,
      "max": 59
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  }), _vm._v(" 秒\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 0,
      "max": 58
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 秒开始,每\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 59 - _vm.average01 || 0
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }), _vm._v(" 秒执行一次\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(60, function (item) {
    return _c('el-option', {
      key: item,
      attrs: {
        "value": item - 1
      }
    }, [_vm._v(_vm._s(item - 1))]);
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$8 = [];

/* style */
var __vue_inject_styles__$8 = undefined;
/* scoped */
var __vue_scope_id__$8 = undefined;
/* module identifier */
var __vue_module_identifier__$8 = "data-v-bdacb9f4";
/* functional template */
var __vue_is_functional_template__$8 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$8 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$8,
  staticRenderFns: __vue_staticRenderFns__$8
}, __vue_inject_styles__$8, __vue_script__$8, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);
var CrontabSecond = __vue_component__$8;//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$7 = {
  data: function data() {
    return {
      radioValue: 1,
      cycle01: 1,
      cycle02: 2,
      average01: 0,
      average02: 1,
      checkboxList: [],
      checkNum: this.$options.propsData.check
    };
  },
  name: 'crontab-min',
  props: ['check', 'cron'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'min', '*', 'min');
          break;
        case 2:
          this.$emit('update', 'min', this.cycleTotal, 'min');
          break;
        case 3:
          this.$emit('update', 'min', this.averageTotal, 'min');
          break;
        case 4:
          this.$emit('update', 'min', this.checkboxString, 'min');
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '2') {
        this.$emit('update', 'min', this.cycleTotal, 'min');
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'min', this.averageTotal, 'min');
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'min', this.checkboxString, 'min');
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'checkboxString': 'checkboxChange'
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      var cycle01 = this.checkNum(this.cycle01, 0, 58);
      var cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59);
      return cycle01 + '-' + cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      var average01 = this.checkNum(this.average01, 0, 58);
      var average02 = this.checkNum(this.average02, 1, 59 - average01 || 0);
      return average01 + '/' + average02;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str == '' ? '*' : str;
    }
  }
};/* script */
var __vue_script__$7 = script$7;

/* template */
var __vue_render__$7 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t分钟,允许的通配符[, - * /]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 0,
      "max": 58
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }), _vm._v(" -\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.cycle01 ? _vm.cycle01 + 1 : 1,
      "max": 59
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  }), _vm._v(" 分钟\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 0,
      "max": 58
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 分钟开始,每\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 59 - _vm.average01 || 0
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }), _vm._v(" 分钟执行一次\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(60, function (item) {
    return _c('el-option', {
      key: item,
      attrs: {
        "value": item - 1
      }
    }, [_vm._v(_vm._s(item - 1))]);
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$7 = [];

/* style */
var __vue_inject_styles__$7 = undefined;
/* scoped */
var __vue_scope_id__$7 = undefined;
/* module identifier */
var __vue_module_identifier__$7 = "data-v-7e81cf2b";
/* functional template */
var __vue_is_functional_template__$7 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$7 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$7,
  staticRenderFns: __vue_staticRenderFns__$7
}, __vue_inject_styles__$7, __vue_script__$7, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);
var CrontabMin = __vue_component__$7;//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$6 = {
  data: function data() {
    return {
      radioValue: 1,
      cycle01: 0,
      cycle02: 1,
      average01: 0,
      average02: 1,
      checkboxList: [],
      checkNum: this.$options.propsData.check
    };
  },
  name: 'crontab-hour',
  props: ['check', 'cron'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'hour', '*');
          break;
        case 2:
          this.$emit('update', 'hour', this.cycleTotal);
          break;
        case 3:
          this.$emit('update', 'hour', this.averageTotal);
          break;
        case 4:
          this.$emit('update', 'hour', this.checkboxString);
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '2') {
        this.$emit('update', 'hour', this.cycleTotal);
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'hour', this.averageTotal);
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'hour', this.checkboxString);
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'checkboxString': 'checkboxChange'
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      var cycle01 = this.checkNum(this.cycle01, 0, 22);
      var cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 23);
      return cycle01 + '-' + cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      var average01 = this.checkNum(this.average01, 0, 22);
      var average02 = this.checkNum(this.average02, 1, 23 - average01 || 0);
      return average01 + '/' + average02;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str == '' ? '*' : str;
    }
  }
};/* script */
var __vue_script__$6 = script$6;

/* template */
var __vue_render__$6 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t小时,允许的通配符[, - * /]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 0,
      "max": 22
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }), _vm._v(" -\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.cycle01 ? _vm.cycle01 + 1 : 1,
      "max": 23
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  }), _vm._v(" 小时\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 0,
      "max": 22
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 小时开始,每\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 23 - _vm.average01 || 0
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }), _vm._v(" 小时执行一次\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(24, function (item) {
    return _c('el-option', {
      key: item,
      attrs: {
        "value": item - 1
      }
    }, [_vm._v(_vm._s(item - 1))]);
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$6 = [];

/* style */
var __vue_inject_styles__$6 = undefined;
/* scoped */
var __vue_scope_id__$6 = undefined;
/* module identifier */
var __vue_module_identifier__$6 = "data-v-59e875af";
/* functional template */
var __vue_is_functional_template__$6 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$6 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$6,
  staticRenderFns: __vue_staticRenderFns__$6
}, __vue_inject_styles__$6, __vue_script__$6, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);
var CrontabHour = __vue_component__$6;//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$5 = {
  data: function data() {
    return {
      radioValue: 1,
      workday: 1,
      cycle01: 1,
      cycle02: 2,
      average01: 1,
      average02: 1,
      checkboxList: [],
      checkNum: this.$options.propsData.check
    };
  },
  name: 'crontab-day',
  props: ['check', 'cron'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      'day rachange';
      if (this.radioValue !== 2 && this.cron.week !== '?') {
        this.$emit('update', 'week', '?', 'day');
      }
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'day', '*');
          break;
        case 2:
          this.$emit('update', 'day', '?');
          break;
        case 3:
          this.$emit('update', 'day', this.cycleTotal);
          break;
        case 4:
          this.$emit('update', 'day', this.averageTotal);
          break;
        case 5:
          this.$emit('update', 'day', this.workday + 'W');
          break;
        case 6:
          this.$emit('update', 'day', 'L');
          break;
        case 7:
          this.$emit('update', 'day', this.checkboxString);
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'day', this.cycleTotal);
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'day', this.averageTotal);
      }
    },
    // 最近工作日值变化时
    workdayChange: function workdayChange() {
      if (this.radioValue == '5') {
        this.$emit('update', 'day', this.workdayCheck + 'W');
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '7') {
        this.$emit('update', 'day', this.checkboxString);
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'workdayCheck': 'workdayChange',
    'checkboxString': 'checkboxChange'
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      var cycle01 = this.checkNum(this.cycle01, 1, 30);
      var cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 31, 31);
      return cycle01 + '-' + cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      var average01 = this.checkNum(this.average01, 1, 30);
      var average02 = this.checkNum(this.average02, 1, 31 - average01 || 0);
      return average01 + '/' + average02;
    },
    // 计算工作日格式
    workdayCheck: function workdayCheck() {
      var workday = this.checkNum(this.workday, 1, 31);
      return workday;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str == '' ? '*' : str;
    }
  }
};/* script */
var __vue_script__$5 = script$5;

/* template */
var __vue_render__$5 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t日,允许的通配符[, - * ? / L W]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t不指定\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 30
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }), _vm._v(" -\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.cycle01 ? _vm.cycle01 + 1 : 2,
      "max": 31
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  }), _vm._v(" 日\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 30
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 号开始,每\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 31 - _vm.average01 || 1
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }), _vm._v(" 日执行一次\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 5
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t每月\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 31
    },
    model: {
      value: _vm.workday,
      callback: function callback($$v) {
        _vm.workday = $$v;
      },
      expression: "workday"
    }
  }), _vm._v(" 号最近的那个工作日\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 6
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t本月最后一天\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 7
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(31, function (item) {
    return _c('el-option', {
      key: item,
      attrs: {
        "value": item
      }
    }, [_vm._v(_vm._s(item))]);
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$5 = [];

/* style */
var __vue_inject_styles__$5 = undefined;
/* scoped */
var __vue_scope_id__$5 = undefined;
/* module identifier */
var __vue_module_identifier__$5 = "data-v-41f3a8cb";
/* functional template */
var __vue_is_functional_template__$5 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$5 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$5,
  staticRenderFns: __vue_staticRenderFns__$5
}, __vue_inject_styles__$5, __vue_script__$5, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);
var CrontabDay = __vue_component__$5;//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$4 = {
  data: function data() {
    return {
      radioValue: 1,
      cycle01: 1,
      cycle02: 2,
      average01: 1,
      average02: 1,
      checkboxList: [],
      checkNum: this.check
    };
  },
  name: 'crontab-month',
  props: ['check', 'cron'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'month', '*');
          break;
        case 2:
          this.$emit('update', 'month', this.cycleTotal);
          break;
        case 3:
          this.$emit('update', 'month', this.averageTotal);
          break;
        case 4:
          this.$emit('update', 'month', this.checkboxString);
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '2') {
        this.$emit('update', 'month', this.cycleTotal);
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'month', this.averageTotal);
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'month', this.checkboxString);
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'checkboxString': 'checkboxChange'
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      var cycle01 = this.checkNum(this.cycle01, 1, 11);
      var cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 12);
      return cycle01 + '-' + cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      var average01 = this.checkNum(this.average01, 1, 11);
      var average02 = this.checkNum(this.average02, 1, 12 - average01 || 0);
      return average01 + '/' + average02;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str == '' ? '*' : str;
    }
  }
};/* script */
var __vue_script__$4 = script$4;

/* template */
var __vue_render__$4 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t月,允许的通配符[, - * /]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 11
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }), _vm._v(" -\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.cycle01 ? _vm.cycle01 + 1 : 2,
      "max": 12
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  }), _vm._v(" 月\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 11
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 月开始,每\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 12 - _vm.average01 || 0
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }), _vm._v(" 月月执行一次\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(12, function (item) {
    return _c('el-option', {
      key: item,
      attrs: {
        "value": item
      }
    }, [_vm._v(_vm._s(item))]);
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$4 = [];

/* style */
var __vue_inject_styles__$4 = undefined;
/* scoped */
var __vue_scope_id__$4 = undefined;
/* module identifier */
var __vue_module_identifier__$4 = "data-v-191493c0";
/* functional template */
var __vue_is_functional_template__$4 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$4 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$4,
  staticRenderFns: __vue_staticRenderFns__$4
}, __vue_inject_styles__$4, __vue_script__$4, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);
var CrontabMonth = __vue_component__$4;//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$3 = {
  data: function data() {
    return {
      radioValue: 2,
      weekday: 2,
      cycle01: 2,
      cycle02: 3,
      average01: 1,
      average02: 2,
      checkboxList: [],
      weekList: [{
        key: 2,
        value: '星期一'
      }, {
        key: 3,
        value: '星期二'
      }, {
        key: 4,
        value: '星期三'
      }, {
        key: 5,
        value: '星期四'
      }, {
        key: 6,
        value: '星期五'
      }, {
        key: 7,
        value: '星期六'
      }, {
        key: 1,
        value: '星期日'
      }],
      checkNum: this.$options.propsData.check
    };
  },
  name: 'crontab-week',
  props: ['check', 'cron'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      if (this.radioValue !== 2 && this.cron.day !== '?') {
        this.$emit('update', 'day', '?', 'week');
      }
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'week', '*');
          break;
        case 2:
          this.$emit('update', 'week', '?');
          break;
        case 3:
          this.$emit('update', 'week', this.cycleTotal);
          break;
        case 4:
          this.$emit('update', 'week', this.averageTotal);
          break;
        case 5:
          this.$emit('update', 'week', this.weekdayCheck + 'L');
          break;
        case 6:
          this.$emit('update', 'week', this.checkboxString);
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'week', this.cycleTotal);
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'week', this.averageTotal);
      }
    },
    // 最近工作日值变化时
    weekdayChange: function weekdayChange() {
      if (this.radioValue == '5') {
        this.$emit('update', 'week', this.weekday + 'L');
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '6') {
        this.$emit('update', 'week', this.checkboxString);
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'weekdayCheck': 'weekdayChange',
    'checkboxString': 'checkboxChange'
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      this.cycle01 = this.checkNum(this.cycle01, 1, 7);
      this.cycle02 = this.checkNum(this.cycle02, 1, 7);
      return this.cycle01 + '-' + this.cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      this.average01 = this.checkNum(this.average01, 1, 4);
      this.average02 = this.checkNum(this.average02, 1, 7);
      return this.average02 + '#' + this.average01;
    },
    // 最近的工作日(格式)
    weekdayCheck: function weekdayCheck() {
      this.weekday = this.checkNum(this.weekday, 1, 7);
      return this.weekday;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str == '' ? '*' : str;
    }
  }
};/* script */
var __vue_script__$3 = script$3;

/* template */
var __vue_render__$3 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周,允许的通配符[, - * ? / L #]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t不指定\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从星期\n\t\t\t"), _c('el-select', {
    attrs: {
      "clearable": ""
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }, _vm._l(_vm.weekList, function (item, index) {
    return _c('el-option', {
      key: index,
      attrs: {
        "label": item.value,
        "value": item.key,
        "disabled": item.key === 1
      }
    }, [_vm._v(_vm._s(item.value))]);
  }), 1), _vm._v("\n\t\t\t-\n\t\t\t"), _c('el-select', {
    attrs: {
      "clearable": ""
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  }, _vm._l(_vm.weekList, function (item, index) {
    return _c('el-option', {
      key: index,
      attrs: {
        "label": item.value,
        "value": item.key,
        "disabled": item.key < _vm.cycle01 && item.key !== 1
      }
    }, [_vm._v(_vm._s(item.value))]);
  }), 1)], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t第\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 4
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 周的星期\n\t\t\t"), _c('el-select', {
    attrs: {
      "clearable": ""
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }, _vm._l(_vm.weekList, function (item, index) {
    return _c('el-option', {
      key: index,
      attrs: {
        "label": item.value,
        "value": item.key
      }
    }, [_vm._v(_vm._s(item.value))]);
  }), 1)], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 5
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t本月最后一个星期\n\t\t\t"), _c('el-select', {
    attrs: {
      "clearable": ""
    },
    model: {
      value: _vm.weekday,
      callback: function callback($$v) {
        _vm.weekday = $$v;
      },
      expression: "weekday"
    }
  }, _vm._l(_vm.weekList, function (item, index) {
    return _c('el-option', {
      key: index,
      attrs: {
        "label": item.value,
        "value": item.key
      }
    }, [_vm._v(_vm._s(item.value))]);
  }), 1)], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 6
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    staticStyle: {
      "width": "100%"
    },
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(_vm.weekList, function (item, index) {
    return _c('el-option', {
      key: index,
      attrs: {
        "label": item.value,
        "value": String(item.key)
      }
    }, [_vm._v(_vm._s(item.value))]);
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$3 = [];

/* style */
var __vue_inject_styles__$3 = undefined;
/* scoped */
var __vue_scope_id__$3 = undefined;
/* module identifier */
var __vue_module_identifier__$3 = "data-v-7b5b0207";
/* functional template */
var __vue_is_functional_template__$3 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$3 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$3,
  staticRenderFns: __vue_staticRenderFns__$3
}, __vue_inject_styles__$3, __vue_script__$3, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);
var CrontabWeek = __vue_component__$3;//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

var script$2 = {
  data: function data() {
    return {
      fullYear: 0,
      radioValue: 1,
      cycle01: 0,
      cycle02: 0,
      average01: 0,
      average02: 1,
      checkboxList: [],
      checkNum: this.$options.propsData.check
    };
  },
  name: 'crontab-year',
  props: ['check', 'month', 'cron'],
  methods: {
    // 单选按钮值变化时
    radioChange: function radioChange() {
      switch (this.radioValue) {
        case 1:
          this.$emit('update', 'year', '');
          break;
        case 2:
          this.$emit('update', 'year', '*');
          break;
        case 3:
          this.$emit('update', 'year', this.cycleTotal);
          break;
        case 4:
          this.$emit('update', 'year', this.averageTotal);
          break;
        case 5:
          this.$emit('update', 'year', this.checkboxString);
          break;
      }
    },
    // 周期两个值变化时
    cycleChange: function cycleChange() {
      if (this.radioValue == '3') {
        this.$emit('update', 'year', this.cycleTotal);
      }
    },
    // 平均两个值变化时
    averageChange: function averageChange() {
      if (this.radioValue == '4') {
        this.$emit('update', 'year', this.averageTotal);
      }
    },
    // checkbox值变化时
    checkboxChange: function checkboxChange() {
      if (this.radioValue == '5') {
        this.$emit('update', 'year', this.checkboxString);
      }
    }
  },
  watch: {
    'radioValue': 'radioChange',
    'cycleTotal': 'cycleChange',
    'averageTotal': 'averageChange',
    'checkboxString': 'checkboxChange'
  },
  computed: {
    // 计算两个周期值
    cycleTotal: function cycleTotal() {
      var cycle01 = this.checkNum(this.cycle01, this.fullYear, 2098);
      var cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : this.fullYear + 1, 2099);
      return cycle01 + '-' + cycle02;
    },
    // 计算平均用到的值
    averageTotal: function averageTotal() {
      var average01 = this.checkNum(this.average01, this.fullYear, 2098);
      var average02 = this.checkNum(this.average02, 1, 2099 - average01 || this.fullYear);
      return average01 + '/' + average02;
    },
    // 计算勾选的checkbox值合集
    checkboxString: function checkboxString() {
      var str = this.checkboxList.join();
      return str;
    }
  },
  mounted: function mounted() {
    // 仅获取当前年份
    this.fullYear = Number(new Date().getFullYear());
    this.cycle01 = this.fullYear;
    this.average01 = this.fullYear;
  }
};/* script */
var __vue_script__$2 = script$2;

/* template */
var __vue_render__$2 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('el-form', {
    attrs: {
      "size": "small"
    }
  }, [_c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 1
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t不填,允许的通配符[, - * /]\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 2
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t每年\n\t\t")])], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 3
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t周期从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.fullYear,
      "max": 2098
    },
    model: {
      value: _vm.cycle01,
      callback: function callback($$v) {
        _vm.cycle01 = $$v;
      },
      expression: "cycle01"
    }
  }), _vm._v(" -\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.cycle01 ? _vm.cycle01 + 1 : _vm.fullYear + 1,
      "max": 2099
    },
    model: {
      value: _vm.cycle02,
      callback: function callback($$v) {
        _vm.cycle02 = $$v;
      },
      expression: "cycle02"
    }
  })], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 4
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t从\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": _vm.fullYear,
      "max": 2098
    },
    model: {
      value: _vm.average01,
      callback: function callback($$v) {
        _vm.average01 = $$v;
      },
      expression: "average01"
    }
  }), _vm._v(" 年开始,每\n\t\t\t"), _c('el-input-number', {
    attrs: {
      "min": 1,
      "max": 2099 - _vm.average01 || _vm.fullYear
    },
    model: {
      value: _vm.average02,
      callback: function callback($$v) {
        _vm.average02 = $$v;
      },
      expression: "average02"
    }
  }), _vm._v(" 年执行一次\n\t\t")], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-radio', {
    attrs: {
      "label": 5
    },
    model: {
      value: _vm.radioValue,
      callback: function callback($$v) {
        _vm.radioValue = $$v;
      },
      expression: "radioValue"
    }
  }, [_vm._v("\n\t\t\t指定\n\t\t\t"), _c('el-select', {
    attrs: {
      "clearable": "",
      "placeholder": "可多选",
      "multiple": ""
    },
    model: {
      value: _vm.checkboxList,
      callback: function callback($$v) {
        _vm.checkboxList = $$v;
      },
      expression: "checkboxList"
    }
  }, _vm._l(9, function (item) {
    return _c('el-option', {
      key: item,
      attrs: {
        "value": item - 1 + _vm.fullYear,
        "label": item - 1 + _vm.fullYear
      }
    });
  }), 1)], 1)], 1)], 1);
};
var __vue_staticRenderFns__$2 = [];

/* style */
var __vue_inject_styles__$2 = undefined;
/* scoped */
var __vue_scope_id__$2 = undefined;
/* module identifier */
var __vue_module_identifier__$2 = "data-v-dee0085c";
/* functional template */
var __vue_is_functional_template__$2 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$2 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$2,
  staticRenderFns: __vue_staticRenderFns__$2
}, __vue_inject_styles__$2, __vue_script__$2, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);
var CrontabYear = __vue_component__$2;//
//
//
//
//
//
//
//
//
//
//
//

var script$1 = {
  data: function data() {
    return {
      dayRule: '',
      dayRuleSup: '',
      dateArr: [],
      resultList: [],
      isShow: false
    };
  },
  name: 'crontab-result',
  methods: {
    // 表达式值变化时,开始去计算结果
    expressionChange: function expressionChange() {
      // 计算开始-隐藏结果
      this.isShow = false;
      // 获取规则数组[0秒、1分、2时、3日、4月、5星期、6年]
      var ruleArr = this.$options.propsData.ex.split(' ');
      // 用于记录进入循环的次数
      var nums = 0;
      // 用于暂时存符号时间规则结果的数组
      var resultArr = [];
      // 获取当前时间精确至[年、月、日、时、分、秒]
      var nTime = new Date();
      var nYear = nTime.getFullYear();
      var nMonth = nTime.getMonth() + 1;
      var nDay = nTime.getDate();
      var nHour = nTime.getHours();
      var nMin = nTime.getMinutes();
      var nSecond = nTime.getSeconds();
      // 根据规则获取到近100年可能年数组、月数组等等
      this.getSecondArr(ruleArr[0]);
      this.getMinArr(ruleArr[1]);
      this.getHourArr(ruleArr[2]);
      this.getDayArr(ruleArr[3]);
      this.getMonthArr(ruleArr[4]);
      this.getWeekArr(ruleArr[5]);
      this.getYearArr(ruleArr[6], nYear);
      // 将获取到的数组赋值-方便使用
      var sDate = this.dateArr[0];
      var mDate = this.dateArr[1];
      var hDate = this.dateArr[2];
      var DDate = this.dateArr[3];
      var MDate = this.dateArr[4];
      var YDate = this.dateArr[5];
      // 获取当前时间在数组中的索引
      var sIdx = this.getIndex(sDate, nSecond);
      var mIdx = this.getIndex(mDate, nMin);
      var hIdx = this.getIndex(hDate, nHour);
      var DIdx = this.getIndex(DDate, nDay);
      var MIdx = this.getIndex(MDate, nMonth);
      var YIdx = this.getIndex(YDate, nYear);
      // 重置月日时分秒的函数(后面用的比较多)
      var resetSecond = function resetSecond() {
        sIdx = 0;
        nSecond = sDate[sIdx];
      };
      var resetMin = function resetMin() {
        mIdx = 0;
        nMin = mDate[mIdx];
        resetSecond();
      };
      var resetHour = function resetHour() {
        hIdx = 0;
        nHour = hDate[hIdx];
        resetMin();
      };
      var resetDay = function resetDay() {
        DIdx = 0;
        nDay = DDate[DIdx];
        resetHour();
      };
      var resetMonth = function resetMonth() {
        MIdx = 0;
        nMonth = MDate[MIdx];
        resetDay();
      };
      // 如果当前年份不为数组中当前值
      if (nYear !== YDate[YIdx]) {
        resetMonth();
      }
      // 如果当前月份不为数组中当前值
      if (nMonth !== MDate[MIdx]) {
        resetDay();
      }
      // 如果当前“日”不为数组中当前值
      if (nDay !== DDate[DIdx]) {
        resetHour();
      }
      // 如果当前“时”不为数组中当前值
      if (nHour !== hDate[hIdx]) {
        resetMin();
      }
      // 如果当前“分”不为数组中当前值
      if (nMin !== mDate[mIdx]) {
        resetSecond();
      }

      // 循环年份数组
      goYear: for (var Yi = YIdx; Yi < YDate.length; Yi++) {
        var YY = YDate[Yi];
        // 如果到达最大值时
        if (nMonth > MDate[MDate.length - 1]) {
          resetMonth();
          continue;
        }
        // 循环月份数组
        goMonth: for (var Mi = MIdx; Mi < MDate.length; Mi++) {
          // 赋值、方便后面运算
          var MM = MDate[Mi];
          MM = MM < 10 ? '0' + MM : MM;
          // 如果到达最大值时
          if (nDay > DDate[DDate.length - 1]) {
            resetDay();
            if (Mi == MDate.length - 1) {
              resetMonth();
              continue goYear;
            }
            continue;
          }
          // 循环日期数组
          goDay: for (var Di = DIdx; Di < DDate.length; Di++) {
            // 赋值、方便后面运算
            var DD = DDate[Di];
            var thisDD = DD < 10 ? '0' + DD : DD;

            // 如果到达最大值时
            if (nHour > hDate[hDate.length - 1]) {
              resetHour();
              if (Di == DDate.length - 1) {
                resetDay();
                if (Mi == MDate.length - 1) {
                  resetMonth();
                  continue goYear;
                }
                continue goMonth;
              }
              continue;
            }

            // 判断日期的合法性,不合法的话也是跳出当前循环
            if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true && this.dayRule !== 'workDay' && this.dayRule !== 'lastWeek' && this.dayRule !== 'lastDay') {
              resetDay();
              continue goMonth;
            }
            // 如果日期规则中有值时
            if (this.dayRule == 'lastDay') {
              // 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天

              if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                  DD--;
                  thisDD = DD < 10 ? '0' + DD : DD;
                }
              }
            } else if (this.dayRule == 'workDay') {
              // 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
              if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                  DD--;
                  thisDD = DD < 10 ? '0' + DD : DD;
                }
              }
              // 获取达到条件的日期是星期X
              var thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
              // 当星期日时
              if (thisWeek == 1) {
                // 先找下一个日,并判断是否为月底
                DD++;
                thisDD = DD < 10 ? '0' + DD : DD;
                // 判断下一日已经不是合法日期
                if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                  DD -= 3;
                }
              } else if (thisWeek == 7) {
                // 当星期6时只需判断不是1号就可进行操作
                if (this.dayRuleSup !== 1) {
                  DD--;
                } else {
                  DD += 2;
                }
              }
            } else if (this.dayRule == 'weekDay') {
              // 如果指定了是星期几
              // 获取当前日期是属于星期几
              var _thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
              // 校验当前星期是否在星期池(dayRuleSup)中
              if (this.dayRuleSup.indexOf(_thisWeek) < 0) {
                // 如果到达最大值时
                if (Di == DDate.length - 1) {
                  resetDay();
                  if (Mi == MDate.length - 1) {
                    resetMonth();
                    continue goYear;
                  }
                  continue goMonth;
                }
                continue;
              }
            } else if (this.dayRule == 'assWeek') {
              // 如果指定了是第几周的星期几
              // 获取每月1号是属于星期几
              var _thisWeek2 = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
              if (this.dayRuleSup[1] >= _thisWeek2) {
                DD = (this.dayRuleSup[0] - 1) * 7 + this.dayRuleSup[1] - _thisWeek2 + 1;
              } else {
                DD = this.dayRuleSup[0] * 7 + this.dayRuleSup[1] - _thisWeek2 + 1;
              }
            } else if (this.dayRule == 'lastWeek') {
              // 如果指定了每月最后一个星期几
              // 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
              if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
                  DD--;
                  thisDD = DD < 10 ? '0' + DD : DD;
                }
              }
              // 获取月末最后一天是星期几
              var _thisWeek3 = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
              // 找到要求中最近的那个星期几
              if (this.dayRuleSup < _thisWeek3) {
                DD -= _thisWeek3 - this.dayRuleSup;
              } else if (this.dayRuleSup > _thisWeek3) {
                DD -= 7 - (this.dayRuleSup - _thisWeek3);
              }
            }
            // 判断时间值是否小于10置换成“05”这种格式
            DD = DD < 10 ? '0' + DD : DD;

            // 循环“时”数组
            goHour: for (var hi = hIdx; hi < hDate.length; hi++) {
              var hh = hDate[hi] < 10 ? '0' + hDate[hi] : hDate[hi];

              // 如果到达最大值时
              if (nMin > mDate[mDate.length - 1]) {
                resetMin();
                if (hi == hDate.length - 1) {
                  resetHour();
                  if (Di == DDate.length - 1) {
                    resetDay();
                    if (Mi == MDate.length - 1) {
                      resetMonth();
                      continue goYear;
                    }
                    continue goMonth;
                  }
                  continue goDay;
                }
                continue;
              }
              // 循环"分"数组
              goMin: for (var mi = mIdx; mi < mDate.length; mi++) {
                var mm = mDate[mi] < 10 ? '0' + mDate[mi] : mDate[mi];

                // 如果到达最大值时
                if (nSecond > sDate[sDate.length - 1]) {
                  resetSecond();
                  if (mi == mDate.length - 1) {
                    resetMin();
                    if (hi == hDate.length - 1) {
                      resetHour();
                      if (Di == DDate.length - 1) {
                        resetDay();
                        if (Mi == MDate.length - 1) {
                          resetMonth();
                          continue goYear;
                        }
                        continue goMonth;
                      }
                      continue goDay;
                    }
                    continue goHour;
                  }
                  continue;
                }
                // 循环"秒"数组
                for (var si = sIdx; si <= sDate.length - 1; si++) {
                  var ss = sDate[si] < 10 ? '0' + sDate[si] : sDate[si];
                  // 添加当前时间(时间合法性在日期循环时已经判断)
                  if (MM !== '00' && DD !== '00') {
                    resultArr.push(YY + '-' + MM + '-' + DD + ' ' + hh + ':' + mm + ':' + ss);
                    nums++;
                  }
                  // 如果条数满了就退出循环
                  if (nums == 5) break goYear;
                  // 如果到达最大值时
                  if (si == sDate.length - 1) {
                    resetSecond();
                    if (mi == mDate.length - 1) {
                      resetMin();
                      if (hi == hDate.length - 1) {
                        resetHour();
                        if (Di == DDate.length - 1) {
                          resetDay();
                          if (Mi == MDate.length - 1) {
                            resetMonth();
                            continue goYear;
                          }
                          continue goMonth;
                        }
                        continue goDay;
                      }
                      continue goHour;
                    }
                    continue goMin;
                  }
                } //goSecond
              } //goMin
            } //goHour
          } //goDay
        } //goMonth
      }
      // 判断100年内的结果条数
      if (resultArr.length == 0) {
        this.resultList = ['没有达到条件的结果!'];
      } else {
        this.resultList = resultArr;
        if (resultArr.length !== 5) {
          this.resultList.push('最近100年内只有上面' + resultArr.length + '条结果!');
        }
      }
      // 计算完成-显示结果
      this.isShow = true;
    },
    // 用于计算某位数字在数组中的索引
    getIndex: function getIndex(arr, value) {
      if (value <= arr[0] || value > arr[arr.length - 1]) {
        return 0;
      } else {
        for (var i = 0; i < arr.length - 1; i++) {
          if (value > arr[i] && value <= arr[i + 1]) {
            return i + 1;
          }
        }
      }
    },
    // 获取"年"数组
    getYearArr: function getYearArr(rule, year) {
      this.dateArr[5] = this.getOrderArr(year, year + 100);
      if (rule !== undefined) {
        if (rule.indexOf('-') >= 0) {
          this.dateArr[5] = this.getCycleArr(rule, year + 100, false);
        } else if (rule.indexOf('/') >= 0) {
          this.dateArr[5] = this.getAverageArr(rule, year + 100);
        } else if (rule !== '*') {
          this.dateArr[5] = this.getAssignArr(rule);
        }
      }
    },
    // 获取"月"数组
    getMonthArr: function getMonthArr(rule) {
      this.dateArr[4] = this.getOrderArr(1, 12);
      if (rule.indexOf('-') >= 0) {
        this.dateArr[4] = this.getCycleArr(rule, 12, false);
      } else if (rule.indexOf('/') >= 0) {
        this.dateArr[4] = this.getAverageArr(rule, 12);
      } else if (rule !== '*') {
        this.dateArr[4] = this.getAssignArr(rule);
      }
    },
    // 获取"日"数组-主要为日期规则
    getWeekArr: function getWeekArr(rule) {
      // 只有当日期规则的两个值均为“”时则表达日期是有选项的
      if (this.dayRule == '' && this.dayRuleSup == '') {
        if (rule.indexOf('-') >= 0) {
          this.dayRule = 'weekDay';
          this.dayRuleSup = this.getCycleArr(rule, 7, false);
        } else if (rule.indexOf('#') >= 0) {
          this.dayRule = 'assWeek';
          var matchRule = rule.match(/[0-9]{1}/g);
          this.dayRuleSup = [Number(matchRule[1]), Number(matchRule[0])];
          this.dateArr[3] = [1];
          if (this.dayRuleSup[1] == 7) {
            this.dayRuleSup[1] = 0;
          }
        } else if (rule.indexOf('L') >= 0) {
          this.dayRule = 'lastWeek';
          this.dayRuleSup = Number(rule.match(/[0-9]{1,2}/g)[0]);
          this.dateArr[3] = [31];
          if (this.dayRuleSup == 7) {
            this.dayRuleSup = 0;
          }
        } else if (rule !== '*' && rule !== '?') {
          this.dayRule = 'weekDay';
          this.dayRuleSup = this.getAssignArr(rule);
        }
      }
    },
    // 获取"日"数组-少量为日期规则
    getDayArr: function getDayArr(rule) {
      this.dateArr[3] = this.getOrderArr(1, 31);
      this.dayRule = '';
      this.dayRuleSup = '';
      if (rule.indexOf('-') >= 0) {
        this.dateArr[3] = this.getCycleArr(rule, 31, false);
        this.dayRuleSup = 'null';
      } else if (rule.indexOf('/') >= 0) {
        this.dateArr[3] = this.getAverageArr(rule, 31);
        this.dayRuleSup = 'null';
      } else if (rule.indexOf('W') >= 0) {
        this.dayRule = 'workDay';
        this.dayRuleSup = Number(rule.match(/[0-9]{1,2}/g)[0]);
        this.dateArr[3] = [this.dayRuleSup];
      } else if (rule.indexOf('L') >= 0) {
        this.dayRule = 'lastDay';
        this.dayRuleSup = 'null';
        this.dateArr[3] = [31];
      } else if (rule !== '*' && rule !== '?') {
        this.dateArr[3] = this.getAssignArr(rule);
        this.dayRuleSup = 'null';
      } else if (rule == '*') {
        this.dayRuleSup = 'null';
      }
    },
    // 获取"时"数组
    getHourArr: function getHourArr(rule) {
      this.dateArr[2] = this.getOrderArr(0, 23);
      if (rule.indexOf('-') >= 0) {
        this.dateArr[2] = this.getCycleArr(rule, 24, true);
      } else if (rule.indexOf('/') >= 0) {
        this.dateArr[2] = this.getAverageArr(rule, 23);
      } else if (rule !== '*') {
        this.dateArr[2] = this.getAssignArr(rule);
      }
    },
    // 获取"分"数组
    getMinArr: function getMinArr(rule) {
      this.dateArr[1] = this.getOrderArr(0, 59);
      if (rule.indexOf('-') >= 0) {
        this.dateArr[1] = this.getCycleArr(rule, 60, true);
      } else if (rule.indexOf('/') >= 0) {
        this.dateArr[1] = this.getAverageArr(rule, 59);
      } else if (rule !== '*') {
        this.dateArr[1] = this.getAssignArr(rule);
      }
    },
    // 获取"秒"数组
    getSecondArr: function getSecondArr(rule) {
      this.dateArr[0] = this.getOrderArr(0, 59);
      if (rule.indexOf('-') >= 0) {
        this.dateArr[0] = this.getCycleArr(rule, 60, true);
      } else if (rule.indexOf('/') >= 0) {
        this.dateArr[0] = this.getAverageArr(rule, 59);
      } else if (rule !== '*') {
        this.dateArr[0] = this.getAssignArr(rule);
      }
    },
    // 根据传进来的min-max返回一个顺序的数组
    getOrderArr: function getOrderArr(min, max) {
      var arr = [];
      for (var i = min; i <= max; i++) {
        arr.push(i);
      }
      return arr;
    },
    // 根据规则中指定的零散值返回一个数组
    getAssignArr: function getAssignArr(rule) {
      var arr = [];
      var assiginArr = rule.split(',');
      for (var i = 0; i < assiginArr.length; i++) {
        arr[i] = Number(assiginArr[i]);
      }
      arr.sort(this.compare);
      return arr;
    },
    // 根据一定算术规则计算返回一个数组
    getAverageArr: function getAverageArr(rule, limit) {
      var arr = [];
      var agArr = rule.split('/');
      var min = Number(agArr[0]);
      var step = Number(agArr[1]);
      while (min <= limit) {
        arr.push(min);
        min += step;
      }
      return arr;
    },
    // 根据规则返回一个具有周期性的数组
    getCycleArr: function getCycleArr(rule, limit, status) {
      // status--表示是否从0开始(则从1开始)
      var arr = [];
      var cycleArr = rule.split('-');
      var min = Number(cycleArr[0]);
      var max = Number(cycleArr[1]);
      if (min > max) {
        max += limit;
      }
      for (var i = min; i <= max; i++) {
        var add = 0;
        if (status == false && i % limit == 0) {
          add = limit;
        }
        arr.push(Math.round(i % limit + add));
      }
      arr.sort(this.compare);
      return arr;
    },
    // 比较数字大小(用于Array.sort)
    compare: function compare(value1, value2) {
      if (value2 - value1 > 0) {
        return -1;
      } else {
        return 1;
      }
    },
    // 格式化日期格式如:2017-9-19 18:04:33
    formatDate: function formatDate(value, type) {
      // 计算日期相关值
      var time = typeof value == 'number' ? new Date(value) : value;
      var Y = time.getFullYear();
      var M = time.getMonth() + 1;
      var D = time.getDate();
      var h = time.getHours();
      var m = time.getMinutes();
      var s = time.getSeconds();
      var week = time.getDay();
      // 如果传递了type的话
      if (type == undefined) {
        return Y + '-' + (M < 10 ? '0' + M : M) + '-' + (D < 10 ? '0' + D : D) + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s);
      } else if (type == 'week') {
        // 在quartz中 1为星期日
        return week + 1;
      }
    },
    // 检查日期是否存在
    checkDate: function checkDate(value) {
      var time = new Date(value);
      var format = this.formatDate(time);
      return value === format;
    }
  },
  watch: {
    'ex': 'expressionChange'
  },
  props: ['ex'],
  mounted: function mounted() {
    // 初始化 获取一次结果
    this.expressionChange();
  }
};/* script */
var __vue_script__$1 = script$1;

/* template */
var __vue_render__$1 = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('div', {
    staticClass: "popup-result"
  }, [_vm._ssrNode("<p class=\"title\">最近5次运行时间</p> <ul class=\"popup-result-scroll\">" + (_vm.isShow ? _vm._ssrList(_vm.resultList, function (item) {
    return "<li>" + _vm._ssrEscape(_vm._s(item)) + "</li>";
  }) : "<li>计算结果中...</li>") + "</ul>")]);
};
var __vue_staticRenderFns__$1 = [];

/* style */
var __vue_inject_styles__$1 = undefined;
/* scoped */
var __vue_scope_id__$1 = undefined;
/* module identifier */
var __vue_module_identifier__$1 = "data-v-516f8940";
/* functional template */
var __vue_is_functional_template__$1 = false;
/* style inject */

/* style inject SSR */

/* style inject shadow dom */

var __vue_component__$1 = /*#__PURE__*/normalizeComponent({
  render: __vue_render__$1,
  staticRenderFns: __vue_staticRenderFns__$1
}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);
var CrontabResult = __vue_component__$1;var script = {
  data: function data() {
    return {
      tabTitles: ["秒", "分钟", "小时", "日", "月", "周", "年"],
      tabActive: 0,
      myindex: 0,
      crontabValueObj: {
        second: "*",
        min: "*",
        hour: "*",
        day: "*",
        month: "*",
        week: "?",
        year: ""
      }
    };
  },
  name: "vcrontab",
  props: ["expression", "hideComponent"],
  methods: {
    shouldHide: function shouldHide(key) {
      if (this.hideComponent && this.hideComponent.includes(key)) return false;
      return true;
    },
    resolveExp: function resolveExp() {
      // 反解析 表达式
      if (this.expression) {
        var arr = this.expression.split(" ");
        if (arr.length >= 6) {
          //6 位以上是合法表达式
          var obj = {
            second: arr[0],
            min: arr[1],
            hour: arr[2],
            day: arr[3],
            month: arr[4],
            week: arr[5],
            year: arr[6] ? arr[6] : ""
          };
          this.crontabValueObj = _objectSpread2({}, obj);
          for (var i in obj) {
            if (obj[i]) this.changeRadio(i, obj[i]);
          }
        }
      } else {
        // 没有传入的表达式 则还原
        this.clearCron();
      }
    },
    // tab切换值
    tabCheck: function tabCheck(index) {
      this.tabActive = index;
    },
    // 由子组件触发,更改表达式组成的字段值
    updateCrontabValue: function updateCrontabValue(name, value, from) {
      this.crontabValueObj[name] = value;
      if (from && from !== name) {
        console.log("\u6765\u81EA\u7EC4\u4EF6 ".concat(from, " \u6539\u53D8\u4E86 ").concat(name, " ").concat(value));
        this.changeRadio(name, value);
      }
    },
    // 赋值到组件
    changeRadio: function changeRadio(name, value) {
      var arr = ["second", "min", "hour", "month"],
        refName = "cron" + name,
        insValue;
      if (!this.$refs[refName]) return;
      if (arr.includes(name)) {
        if (value === "*") {
          insValue = 1;
        } else if (value.indexOf("-") > -1) {
          var indexArr = value.split("-");
          isNaN(indexArr[0]) ? this.$refs[refName].cycle01 = 0 : this.$refs[refName].cycle01 = indexArr[0];
          this.$refs[refName].cycle02 = indexArr[1];
          insValue = 2;
        } else if (value.indexOf("/") > -1) {
          var _indexArr = value.split("/");
          isNaN(_indexArr[0]) ? this.$refs[refName].average01 = 0 : this.$refs[refName].average01 = _indexArr[0];
          this.$refs[refName].average02 = _indexArr[1];
          insValue = 3;
        } else {
          insValue = 4;
          this.$refs[refName].checkboxList = value.split(",");
        }
      } else if (name == "day") {
        if (value === "*") {
          insValue = 1;
        } else if (value == "?") {
          insValue = 2;
        } else if (value.indexOf("-") > -1) {
          var _indexArr2 = value.split("-");
          isNaN(_indexArr2[0]) ? this.$refs[refName].cycle01 = 0 : this.$refs[refName].cycle01 = _indexArr2[0];
          this.$refs[refName].cycle02 = _indexArr2[1];
          insValue = 3;
        } else if (value.indexOf("/") > -1) {
          var _indexArr3 = value.split("/");
          isNaN(_indexArr3[0]) ? this.$refs[refName].average01 = 0 : this.$refs[refName].average01 = _indexArr3[0];
          this.$refs[refName].average02 = _indexArr3[1];
          insValue = 4;
        } else if (value.indexOf("W") > -1) {
          var _indexArr4 = value.split("W");
          isNaN(_indexArr4[0]) ? this.$refs[refName].workday = 0 : this.$refs[refName].workday = _indexArr4[0];
          insValue = 5;
        } else if (value === "L") {
          insValue = 6;
        } else {
          this.$refs[refName].checkboxList = value.split(",");
          insValue = 7;
        }
      } else if (name == "week") {
        if (value === "*") {
          insValue = 1;
        } else if (value == "?") {
          insValue = 2;
        } else if (value.indexOf("-") > -1) {
          var _indexArr5 = value.split("-");
          isNaN(_indexArr5[0]) ? this.$refs[refName].cycle01 = 0 : this.$refs[refName].cycle01 = _indexArr5[0];
          this.$refs[refName].cycle02 = _indexArr5[1];
          insValue = 3;
        } else if (value.indexOf("#") > -1) {
          var _indexArr6 = value.split("#");
          isNaN(_indexArr6[0]) ? this.$refs[refName].average01 = 1 : this.$refs[refName].average01 = _indexArr6[0];
          this.$refs[refName].average02 = _indexArr6[1];
          insValue = 4;
        } else if (value.indexOf("L") > -1) {
          var _indexArr7 = value.split("L");
          isNaN(_indexArr7[0]) ? this.$refs[refName].weekday = 1 : this.$refs[refName].weekday = _indexArr7[0];
          insValue = 5;
        } else {
          this.$refs[refName].checkboxList = value.split(",");
          insValue = 6;
        }
      } else if (name == "year") {
        if (value == "") {
          insValue = 1;
        } else if (value == "*") {
          insValue = 2;
        } else if (value.indexOf("-") > -1) {
          insValue = 3;
        } else if (value.indexOf("/") > -1) {
          insValue = 4;
        } else {
          this.$refs[refName].checkboxList = value.split(",");
          insValue = 5;
        }
      }
      this.$refs[refName].radioValue = insValue;
    },
    // 表单选项的子组件校验数字格式(通过-props传递)
    checkNumber: function checkNumber(value, minLimit, maxLimit) {
      // 检查必须为整数
      value = Math.floor(value);
      if (value < minLimit) {
        value = minLimit;
      } else if (value > maxLimit) {
        value = maxLimit;
      }
      return value;
    },
    // 隐藏弹窗
    hidePopup: function hidePopup() {
      this.$emit("hide");
    },
    // 填充表达式
    submitFill: function submitFill() {
      this.$emit("fill", this.crontabValueString);
      this.hidePopup();
    },
    clearCron: function clearCron() {
      // 还原选择项
      "准备还原";
      this.crontabValueObj = {
        second: "*",
        min: "*",
        hour: "*",
        day: "*",
        month: "*",
        week: "?",
        year: ""
      };
      for (var j in this.crontabValueObj) {
        this.changeRadio(j, this.crontabValueObj[j]);
      }
    }
  },
  computed: {
    crontabValueString: function crontabValueString() {
      var obj = this.crontabValueObj;
      var str = obj.second + " " + obj.min + " " + obj.hour + " " + obj.day + " " + obj.month + " " + obj.week + (obj.year == "" ? "" : " " + obj.year);
      return str;
    }
  },
  components: {
    CrontabSecond: CrontabSecond,
    CrontabMin: CrontabMin,
    CrontabHour: CrontabHour,
    CrontabDay: CrontabDay,
    CrontabMonth: CrontabMonth,
    CrontabWeek: CrontabWeek,
    CrontabYear: CrontabYear,
    CrontabResult: CrontabResult
  },
  watch: {
    expression: "resolveExp",
    hideComponent: function hideComponent(value) {
      // 隐藏部分组件
    }
  },
  mounted: function mounted() {
    this.resolveExp();
  }
};function createInjectorSSR(context) {
    if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__;
    }
    if (!context)
        return () => { };
    if (!('styles' in context)) {
        context._styles = context._styles || {};
        Object.defineProperty(context, 'styles', {
            enumerable: true,
            get: () => context._renderStyles(context._styles)
        });
        context._renderStyles = context._renderStyles || renderStyles;
    }
    return (id, style) => addStyle(id, style, context);
}
function addStyle(id, css, context) {
    const group = css.media || 'default' ;
    const style = context._styles[group] || (context._styles[group] = { ids: [], css: '' });
    if (!style.ids.includes(id)) {
        style.media = css.media;
        style.ids.push(id);
        let code = css.source;
        style.css += code + '\n';
    }
}
function renderStyles(styles) {
    let css = '';
    for (const key in styles) {
        const style = styles[key];
        css +=
            '<style data-vue-ssr-id="' +
                Array.from(style.ids).join(' ') +
                '"' +
                (style.media ? ' media="' + style.media + '"' : '') +
                '>' +
                style.css +
                '</style>';
    }
    return css;
}/* script */
var __vue_script__ = script;

/* template */
var __vue_render__ = function __vue_render__() {
  var _vm = this;
  var _h = _vm.$createElement;
  var _c = _vm._self._c || _h;
  return _c('div', [_c('el-tabs', {
    attrs: {
      "type": "border-card"
    }
  }, [_vm.shouldHide('second') ? _c('el-tab-pane', {
    attrs: {
      "label": "秒"
    }
  }, [_c('CrontabSecond', {
    ref: "cronsecond",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e(), _vm._v(" "), _vm.shouldHide('min') ? _c('el-tab-pane', {
    attrs: {
      "label": "分钟"
    }
  }, [_c('CrontabMin', {
    ref: "cronmin",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e(), _vm._v(" "), _vm.shouldHide('hour') ? _c('el-tab-pane', {
    attrs: {
      "label": "小时"
    }
  }, [_c('CrontabHour', {
    ref: "cronhour",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e(), _vm._v(" "), _vm.shouldHide('day') ? _c('el-tab-pane', {
    attrs: {
      "label": "日"
    }
  }, [_c('CrontabDay', {
    ref: "cronday",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e(), _vm._v(" "), _vm.shouldHide('month') ? _c('el-tab-pane', {
    attrs: {
      "label": "月"
    }
  }, [_c('CrontabMonth', {
    ref: "cronmonth",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e(), _vm._v(" "), _vm.shouldHide('week') ? _c('el-tab-pane', {
    attrs: {
      "label": "周"
    }
  }, [_c('CrontabWeek', {
    ref: "cronweek",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e(), _vm._v(" "), _vm.shouldHide('year') ? _c('el-tab-pane', {
    attrs: {
      "label": "年"
    }
  }, [_c('CrontabYear', {
    ref: "cronyear",
    attrs: {
      "check": _vm.checkNumber,
      "cron": _vm.crontabValueObj
    },
    on: {
      "update": _vm.updateCrontabValue
    }
  })], 1) : _vm._e()], 1), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"popup-main\" data-v-69e234ce>", "</div>", [_vm._ssrNode("<div class=\"popup-result\" data-v-69e234ce><p class=\"title\" data-v-69e234ce>时间表达式</p> <table data-v-69e234ce><thead data-v-69e234ce>" + _vm._ssrList(_vm.tabTitles, function (item) {
    return "<th width=\"40\" data-v-69e234ce>" + _vm._ssrEscape(_vm._s(item)) + "</th>";
  }) + " <th data-v-69e234ce>Cron 表达式</th></thead> <tbody data-v-69e234ce><td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.second)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.min)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.hour)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.day)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.month)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.week)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueObj.year)) + "</span></td> <td data-v-69e234ce><span data-v-69e234ce>" + _vm._ssrEscape(_vm._s(_vm.crontabValueString)) + "</span></td></tbody></table></div> "), _c('CrontabResult', {
    attrs: {
      "ex": _vm.crontabValueString
    }
  }), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"pop_btn\" data-v-69e234ce>", "</div>", [_c('el-button', {
    attrs: {
      "size": "small",
      "type": "primary"
    },
    on: {
      "click": _vm.submitFill
    }
  }, [_vm._v("确定")]), _vm._ssrNode(" "), _c('el-button', {
    attrs: {
      "size": "small",
      "type": "warning"
    },
    on: {
      "click": _vm.clearCron
    }
  }, [_vm._v("重置")]), _vm._ssrNode(" "), _c('el-button', {
    attrs: {
      "size": "small"
    },
    on: {
      "click": _vm.hidePopup
    }
  }, [_vm._v("取消")])], 2)], 2)], 2);
};
var __vue_staticRenderFns__ = [];

/* style */
var __vue_inject_styles__ = function __vue_inject_styles__(inject) {
  if (!inject) return;
  inject("data-v-69e234ce_0", {
    source: ".pop_btn[data-v-69e234ce]{text-align:center;margin-top:20px}.popup-main[data-v-69e234ce]{position:relative;margin:10px auto;background:#fff;border-radius:5px;font-size:12px;overflow:hidden}.popup-title[data-v-69e234ce]{overflow:hidden;line-height:34px;padding-top:6px;background:#f2f2f2}.popup-result[data-v-69e234ce]{box-sizing:border-box;line-height:24px;margin:25px auto;padding:15px 10px 10px;border:1px solid #ccc;position:relative}.popup-result .title[data-v-69e234ce]{position:absolute;top:-28px;left:50%;width:140px;font-size:14px;margin-left:-70px;text-align:center;line-height:30px;background:#fff}.popup-result table[data-v-69e234ce]{text-align:center;width:100%;margin:0 auto}.popup-result table span[data-v-69e234ce]{display:block;width:100%;font-family:arial;line-height:30px;height:30px;white-space:nowrap;overflow:hidden;border:1px solid #e8e8e8}.popup-result-scroll[data-v-69e234ce]{font-size:12px;line-height:24px;height:10em;overflow-y:auto}",
    map: undefined,
    media: undefined
  });
};
/* scoped */
var __vue_scope_id__ = "data-v-69e234ce";
/* module identifier */
var __vue_module_identifier__ = "data-v-69e234ce";
/* functional template */
var __vue_is_functional_template__ = false;
/* style inject shadow dom */

var __vue_component__ = /*#__PURE__*/normalizeComponent({
  render: __vue_render__,
  staticRenderFns: __vue_staticRenderFns__
}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, createInjectorSSR, undefined);
var component$1 = __vue_component__;// Import vue component

// Default export is installable instance of component.
// IIFE injects install function into component, allowing component
// to be registered via Vue.use() as well as Vue.component(),
var component = /*#__PURE__*/(function () {
  // Get component instance
  var installable = component$1;

  // Attach install function executed by Vue.use()
  installable.install = function (Vue) {
    Vue.component('VueCronPicker', installable);
  };
  return installable;
})();

// It's possible to expose named exports when writing components that can
// also be used as directives, etc. - eg. import { RollupDemoDirective } from 'rollup-demo';
// export const RollupDemoDirective = directive;
var namedExports=/*#__PURE__*/Object.freeze({__proto__:null,'default':component});// Attach named exports directly to component. IIFE/CJS will
// only expose one global var, with named exports exposed as properties of
// that global var (eg. plugin.namedExport)
Object.entries(namedExports).forEach(function (_ref) {
  var _ref2 = _slicedToArray(_ref, 2),
    exportName = _ref2[0],
    exported = _ref2[1];
  if (exportName !== 'default') component[exportName] = exported;
});module.exports=component;