/******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	// The require scope
/******/ 	var __webpack_require__ = {};
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ normal_form_template; }
});

;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./packages/normal-form-template/src/main.vue?vue&type=template&id=4594bcd1&
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c("div", {
    directives: [{
      name: "loading",
      rawName: "v-loading.fullscreen.lock",
      value: _vm.loading,
      expression: "loading",
      modifiers: {
        fullscreen: true,
        lock: true
      }
    }],
    staticClass: "jdf-normal-form-template",
    attrs: {
      "element-loading-text": "加载中",
      "element-loading-background": "rgba(77, 77, 79, 0.5)"
    }
  }, [_c("div", {
    staticClass: "form-btns"
  }, [_c("jdf-btn-group", _vm._b({
    attrs: {
      "btn-group-list": _vm.list
    },
    on: {
      action: _vm.doAction
    }
  }, "jdf-btn-group", _vm.operateButtonAttrs, false))], 1), _c("div", {
    staticClass: "wrap-container"
  }, [_c("div", {
    staticClass: "form-top"
  }, [_c("div", {
    staticClass: "form-title"
  }, [_c("span", {
    staticClass: "title-text"
  }, [_vm._v("\n          " + _vm._s(_vm.documentTitle) + "\n        ")])])]), _c("div", {
    staticClass: "biz-form"
  }, [_vm._t("default")], 2)])]);
};
var staticRenderFns = [];
render._withStripped = true;

;// CONCATENATED MODULE: ./packages/normal-form-template/src/main.vue?vue&type=template&id=4594bcd1&

;// CONCATENATED MODULE: external "@babel/runtime/helpers/toConsumableArray"
var toConsumableArray_namespaceObject = require("@babel/runtime/helpers/toConsumableArray");
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray_namespaceObject);
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./packages/btn-group/src/main.vue?vue&type=template&id=23626e68&
var mainvue_type_template_id_23626e68_render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c("div", {
    staticClass: "jdf-btn-group",
    class: {
      "jdf-btn-fixed": _vm.fixed
    }
  }, [_c("div", {
    staticClass: "group-content"
  }, _vm._l(_vm.btnList, function (button, index) {
    return _c("div", {
      key: index,
      staticClass: "btn-box"
    }, [_c("el-button", _vm._b({
      directives: [{
        name: "show",
        rawName: "v-show",
        value: button.show,
        expression: "button.show"
      }],
      style: _vm.buttonStyle,
      attrs: {
        type: _vm.type,
        plain: _vm.plain,
        round: _vm.round,
        loading: button.loading
      },
      on: {
        click: function click($event) {
          return _vm.doEmit(button);
        }
      }
    }, "el-button", button, false), [_vm._v("\n        " + _vm._s(button.label) + "\n      ")])], 1);
  }), 0)]);
};
var mainvue_type_template_id_23626e68_staticRenderFns = [];
mainvue_type_template_id_23626e68_render._withStripped = true;

;// CONCATENATED MODULE: ./packages/btn-group/src/main.vue?vue&type=template&id=23626e68&

;// CONCATENATED MODULE: external "@babel/runtime/helpers/asyncToGenerator"
var asyncToGenerator_namespaceObject = require("@babel/runtime/helpers/asyncToGenerator");
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator_namespaceObject);
;// CONCATENATED MODULE: external "@babel/runtime/regenerator"
var regenerator_namespaceObject = require("@babel/runtime/regenerator");
var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator_namespaceObject);
;// CONCATENATED MODULE: external "lodash/isArray"
var isArray_namespaceObject = require("lodash/isArray");
var isArray_default = /*#__PURE__*/__webpack_require__.n(isArray_namespaceObject);
;// CONCATENATED MODULE: external "lodash/isFunction"
var isFunction_namespaceObject = require("lodash/isFunction");
var isFunction_default = /*#__PURE__*/__webpack_require__.n(isFunction_namespaceObject);
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./packages/btn-group/src/main.vue?vue&type=script&lang=js&





/* harmony default export */ var mainvue_type_script_lang_js_ = ({
  name: 'JdfBtnGroup',
  props: {
    // 组件中每一个按钮的宽度, 默认为100px
    width: {
      type: String,
      default: '100px'
    },
    // 组件中每一个按钮的高度, 默认为28px
    height: {
      type: String,
      default: '32px'
    },
    // 按钮类型
    type: {
      type: String,
      default: 'primary'
    },
    // 是否朴素按钮
    plain: {
      type: Boolean,
      default: true
    },
    // 是否圆角按钮
    round: {
      type: Boolean,
      default: false
    },
    // 是否固定在顶部
    fixed: {
      type: Boolean,
      default: false
    },
    // 组件中按钮之间的间距
    space: {
      type: String,
      default: '10px'
    },
    // 按钮配置对象列表 根据配置选项(options)的值绑定到按钮上
    btnGroupList: {
      type: [Array, Function],
      default: function _default() {
        return [];
      }
    }
  },
  data: function data() {
    return {
      // 按钮列表
      btnList: []
    };
  },
  computed: {
    buttonStyle: function buttonStyle() {
      return {
        width: this.width,
        height: this.height,
        'margin-right': this.space,
        // 为了避免el-button自带的padding影响文字居中效果,此处将padding设为0
        padding: 0
      };
    }
  },
  watch: {
    btnGroupList: {
      handler: function handler() {
        var _this = this;
        return asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee() {
          var btnGroupInfo;
          return regenerator_default().wrap(function _callee$(_context) {
            while (1) switch (_context.prev = _context.next) {
              case 0:
                if (!isArray_default()(_this.btnGroupList)) {
                  _context.next = 4;
                  break;
                }
                _context.t0 = toConsumableArray_default()(_this.btnGroupList);
                _context.next = 7;
                break;
              case 4:
                _context.next = 6;
                return _this.btnGroupList();
              case 6:
                _context.t0 = _context.sent;
              case 7:
                btnGroupInfo = _context.t0;
                _this.btnList = btnGroupInfo;
              case 9:
              case "end":
                return _context.stop();
            }
          }, _callee);
        }))();
      },
      deep: true,
      immediate: true
    }
  },
  methods: {
    /**
     * 根据获取到的emitName向父组件发送emit
     * @param { String } emitName emit字符串,标记要发起哪个emit
    */
    doEmit: function doEmit(button) {
      isFunction_default()(button.eventMethod) ? button.eventMethod() : this.$emit('action', button);
    }
  }
});
;// CONCATENATED MODULE: ./packages/btn-group/src/main.vue?vue&type=script&lang=js&
 /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); 
;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* globals __VUE_SSR_CONTEXT__ */

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

function normalizeComponent(
  scriptExports,
  render,
  staticRenderFns,
  functionalTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier /* server only */,
  shadowMode /* vue-cli only */
) {
  // Vue.extend constructor export interop
  var options =
    typeof scriptExports === 'function' ? scriptExports.options : scriptExports

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

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

  // scopedId
  if (scopeId) {
    options._scopeId = 'data-v-' + 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 = shadowMode
      ? function () {
          injectStyles.call(
            this,
            (options.functional ? this.parent : this).$root.$options.shadowRoot
          )
        }
      : injectStyles
  }

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

  return {
    exports: scriptExports,
    options: options
  }
}

;// CONCATENATED MODULE: ./packages/btn-group/src/main.vue





/* normalize component */
;
var component = normalizeComponent(
  src_mainvue_type_script_lang_js_,
  mainvue_type_template_id_23626e68_render,
  mainvue_type_template_id_23626e68_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var main = (component.exports);
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./packages/normal-form-template/src/main.vue?vue&type=script&lang=js&


/* harmony default export */ var normal_form_template_src_mainvue_type_script_lang_js_ = ({
  name: 'JdfNormalFormTemplate',
  components: {
    JdfBtnGroup: main
  },
  props: {
    // 文档标题
    documentTitle: {
      type: String,
      default: ''
    },
    // 操作按钮属性
    operateButtonAttrs: {
      type: Object,
      default: function _default() {
        return {
          fixed: true
        };
      }
    },
    btnList: {
      type: Array,
      default: function _default() {
        return [];
      }
    }
  },
  data: function data() {
    return {
      btns: [{
        event: 'close',
        label: '关闭',
        icon: 'el-icon-close',
        sort: 1
      }],
      loading: false
    };
  },
  computed: {
    list: function list() {
      return [].concat(toConsumableArray_default()(this.btns), toConsumableArray_default()(this.btnList));
    }
  },
  methods: {
    /**
     * 点击操作按钮执行事件
     * @param { Object } button 点击的按钮的信息
     */
    doAction: function doAction(button) {
      var event = button.event;
      var eventFunc = this[event];
      if (eventFunc) {
        eventFunc();
      } else {
        this.$emit('btnAction', button);
      }
    }
  }
});
;// CONCATENATED MODULE: ./packages/normal-form-template/src/main.vue?vue&type=script&lang=js&
 /* harmony default export */ var packages_normal_form_template_src_mainvue_type_script_lang_js_ = (normal_form_template_src_mainvue_type_script_lang_js_); 
;// CONCATENATED MODULE: ./packages/normal-form-template/src/main.vue





/* normalize component */
;
var main_component = normalizeComponent(
  packages_normal_form_template_src_mainvue_type_script_lang_js_,
  render,
  staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var src_main = (main_component.exports);
;// CONCATENATED MODULE: ./packages/normal-form-template/index.js

src_main.install = function (Vue) {
  Vue.component(src_main.name, src_main);
};
/* harmony default export */ var normal_form_template = (src_main);
module.exports = __webpack_exports__;
/******/ })()
;