UNPKG

85.7 kBJavaScriptView Raw
1/*!
2 * @form-create/element-ui v2.5.4
3 * (c) 2018-2021 xaboy
4 * Github https://github.com/xaboy/form-create
5 * Released under the MIT License.
6 */
7!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e=e||self).formCreate={},e.Vue)}(this,function(exports,Vue){"use strict";function _extends(){return(_extends=Object.assign||function(e){for(var t,n=1;n<arguments.length;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)}Vue=Vue&&Object.prototype.hasOwnProperty.call(Vue,"default")?Vue.default:Vue;var normalMerge=["attrs","props","domProps"],toArrayMerge=["class","style","directives"],functionalMerge=["on","nativeOn"],mergeJsxProps=function(e){return e.reduce(function(e,t){for(var n in t)if(e[n])if(-1!==normalMerge.indexOf(n))e[n]=_extends({},e[n],t[n]);else if(-1!==toArrayMerge.indexOf(n)){var r=e[n]instanceof Array?e[n]:[e[n]],i=t[n]instanceof Array?t[n]:[t[n]];e[n]=r.concat(i)}else if(-1!==functionalMerge.indexOf(n))for(var o in t[n])if(e[n][o]){var a=e[n][o]instanceof Array?e[n][o]:[e[n][o]],s=t[n][o]instanceof Array?t[n][o]:[t[n][o]];e[n][o]=a.concat(s)}else e[n][o]=t[n][o];else if("hook"==n)for(var u in t[n])e[n][u]=e[n][u]?mergeFn(e[n][u],t[n][u]):t[n][u];else e[n]=t[n];else e[n]=t[n];return e},{})},mergeFn=function(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}},helper=mergeJsxProps;function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?_assertThisInitialized(e):t}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var n,r=_getPrototypeOf(e);if(t){var i=_getPrototypeOf(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function getSlot(e,t){return Object.keys(e).reduce(function(n,r){return t&&-1!==t.indexOf(r)||n.push(e[r]),n},[])}var NAME="fcCheckbox",Checkbox={name:NAME,props:{formCreateRule:{type:Object,default:function(){return{}}},formCreateOptions:{type:Array,default:function(){return[]}},value:{type:Array,default:function(){return[]}},type:String},watch:{value:function(){this.update()}},data:function(){return{trueValue:[]}},methods:{onInput:function(e){this.$emit("input",this.formCreateOptions.filter(function(t){return-1!==e.indexOf(t.label)}).map(function(e){return e.value}).filter(function(e){return void 0!==e}))},update:function(){var e=this;this.trueValue=this.value?this.formCreateOptions.filter(function(t){return-1!==e.value.indexOf(t.value)}).map(function(e){return e.label}):[]}},created:function(){this.update()},render:function(){var e=this,t=arguments[0];return t("ElCheckboxGroup",helper([{},this.formCreateRule,{attrs:{value:this.trueValue},on:{input:this.onInput}}]),[this.formCreateOptions.map(function(n,r){var i=_objectSpread2({},n),o="button"===e.type?"ElCheckboxButton":"ElCheckbox";return delete i.value,t(o,{props:_objectSpread2({},i),key:o+r+n.value})}),getSlot(this.$slots)])}};function toArray(e){return Array.isArray(e)?e:[null,void 0,""].indexOf(e)>-1?[]:[e]}function styleInject(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z="._fc-frame .fc-files img {\n width: 100%;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n}\n\n._fc-frame .fc-upload-btn {\n border: 1px dashed #c0ccda;\n cursor: pointer;\n}\n\n._fc-frame .fc-upload-cover {\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, .6);\n -webkit-transition: opacity .3s;\n -o-transition: opacity .3s;\n transition: opacity .3s;\n}\n\n._fc-frame .fc-upload-cover i {\n color: #fff;\n font-size: 20px;\n cursor: pointer;\n margin: 0 2px;\n}\n\n._fc-frame .fc-files:hover .fc-upload-cover {\n opacity: 1;\n}\n\n._fc-frame .el-upload {\n display: block;\n}\n\n._fc-frame .fc-upload-btn, .fc-files {\n display: inline-block;\n width: 58px;\n height: 58px;\n text-align: center;\n line-height: 58px;\n border: 1px solid #c0ccda;\n border-radius: 4px;\n overflow: hidden;\n background: #fff;\n position: relative;\n -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, .1);\n box-shadow: 2px 2px 5px rgba(0, 0, 0, .1);\n margin-right: 4px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n";styleInject(css_248z);var NAME$1="fcFrame",Frame={name:NAME$1,props:{formCreateField:String,type:{type:String,default:"input"},field:String,helper:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},src:{type:String,required:!0},icon:{type:String,default:"el-icon-upload2"},width:{type:String,default:"500px"},height:{type:String,default:"370px"},maxLength:{type:Number,default:0},okBtnText:{type:String,default:"确定"},closeBtnText:{type:String,default:"关闭"},modalTitle:String,handleIcon:{type:[String,Boolean],default:void 0},title:String,allowRemove:{type:Boolean,default:!0},onOpen:{type:Function,default:function(){}},onOk:{type:Function,default:function(){}},onCancel:{type:Function,default:function(){}},onLoad:{type:Function,default:function(){}},onBeforeRemove:{type:Function,default:function(){}},onRemove:{type:Function,default:function(){}},onHandle:{type:Function,default:function(e){this.previewImage=this.getSrc(e),this.previewVisible=!0}},modal:{type:Object,default:function(){return{}}},srcKey:{type:[String,Number]},value:[Array,String,Number,Object],previewMask:void 0,footer:{type:Boolean,default:!0},reload:{type:Boolean,default:!0},closeBtn:{type:Boolean,default:!0},okBtn:{type:Boolean,default:!0}},data:function(){return{fileList:toArray(this.value),previewVisible:!1,frameVisible:!1,previewImage:""}},watch:{value:function(e){this.fileList=toArray(e)},fileList:function(e){var t=1===this.maxLength?e[0]||"":e;this.$emit("input",t),this.$emit("change",t)},src:function(e){this.modalVm&&(this.modalVm.src=e)}},methods:{key:function(e){return e},closeModel:function(e){this.$emit(e?"$close":"$ok"),this.reload&&(this.$off("$ok"),this.$off("$close")),this.frameVisible=!1},handleCancel:function(){this.previewVisible=!1},showModel:function(){this.disabled||!1===this.onOpen()||(this.frameVisible=!0)},makeInput:function(){var e=this,t=this.$createElement,n={type:"text",value:this.fileList.map(function(t){return e.getSrc(t)}).toString(),readonly:!0};return t("ElInput",helper([{},{props:n},{key:this.key("input")}]),[this.fileList.length?t("i",{slot:"suffix",class:"el-input__icon el-icon-circle-close",on:{click:function(){return e.fileList=[]}}}):null,t("ElButton",helper([{attrs:{icon:this.icon}},{on:{click:function(){return e.showModel()}}},{slot:"append"}]))])},makeGroup:function(e){var t=this.$createElement;return(!this.maxLength||this.fileList.length<this.maxLength)&&e.push(this.makeBtn()),t("div",{key:this.key("group")},_toConsumableArray(e))},makeItem:function(e,t){return(0,this.$createElement)("div",{class:"fc-files",key:this.key("file"+e)},_toConsumableArray(t))},valid:function(e){var t=this.formCreateField||this.field;if(t&&e!==t)throw new Error("[frame]无效的字段值")},makeIcons:function(e,t){var n=this.$createElement;if(!1!==this.handleIcon||!0===this.allowRemove){var r=[];return("file"!==this.type&&!1!==this.handleIcon||"file"===this.type&&this.handleIcon)&&r.push(this.makeHandleIcon(e,t)),this.allowRemove&&r.push(this.makeRemoveIcon(e,t)),n("div",{class:"fc-upload-cover",key:this.key("uc")},[r])}},makeHandleIcon:function(e,t){var n=this;return(0,this.$createElement)("i",{class:!0===this.handleIcon||void 0===this.handleIcon?"el-icon-view":this.handleIcon,on:{click:function(){return n.handleClick(e)}},key:this.key("hi"+t)})},makeRemoveIcon:function(e,t){var n=this;return(0,this.$createElement)("i",{class:"el-icon-delete",on:{click:function(){return n.handleRemove(e)}},key:this.key("ri"+t)})},makeFiles:function(){var e=this,t=this.$createElement;return this.makeGroup(this.fileList.map(function(n,r){return e.makeItem(r,[t("i",{class:"el-icon-tickets",on:{click:function(){return e.handleClick(n)}}}),e.makeIcons(n,r)])}))},makeImages:function(){var e=this,t=this.$createElement;return this.makeGroup(this.fileList.map(function(n,r){return e.makeItem(r,[t("img",{attrs:{src:e.getSrc(n)}}),e.makeIcons(n,r)])}))},makeBtn:function(){var e=this,t=this.$createElement;return t("div",{class:"fc-upload-btn",on:{click:function(){return e.showModel()}},key:this.key("btn")},[t("i",{class:this.icon})])},handleClick:function(e){if(!this.disabled)return this.onHandle(e)},handleRemove:function(e){this.disabled||!1!==this.onBeforeRemove(e)&&(this.fileList.splice(this.fileList.indexOf(e),1),this.onRemove(e))},getSrc:function(e){return this.srcKey?e[this.srcKey]:e},frameLoad:function(e){var t=this;this.onLoad(e);try{!0===this.helper&&(e.form_create_helper={close:function(e){t.valid(e),t.closeModel()},set:function(e,n){t.valid(e),t.disabled||t.$emit("input",n)},get:function(e){return t.valid(e),t.value},onOk:function(e){return t.$on("$ok",e)},onClose:function(e){return t.$on("$close",e)}})}catch(e){console.log(e)}},makeFooter:function(){var e=this,t=this.$createElement,n=this.$props,r=n.okBtnText,i=n.closeBtnText,o=n.closeBtn,a=n.okBtn;if(n.footer)return t("div",{slot:"footer"},[o?t("ElButton",{on:{click:function(){return!1!==e.onCancel()&&(e.frameVisible=!1)}}},[i]):null,a?t("ElButton",{attrs:{type:"primary"},on:{click:function(){return!1!==e.onOk()&&e.closeModel()}}},[r]):null])}},render:function(){var e,t=this,n=arguments[0],r=this.type;e="input"===r?this.makeInput():"image"===r?this.makeImages():this.makeFiles();var i=this.$props,o=i.width,a=void 0===o?"30%":o,s=i.height,u=i.src,c=i.title,l=i.modalTitle;return this.$nextTick(function(){t.$refs.frame&&t.frameLoad(t.$refs.frame.contentWindow||{})}),n("div",{class:"_fc-frame"},[e,n("el-dialog",{attrs:{appendToBody:!0,modal:this.previewMask,title:l,visible:this.previewVisible},on:{close:this.handleCancel}},[n("img",{attrs:{alt:"example",src:this.previewImage},style:"width: 100%"})]),n("el-dialog",helper([{attrs:{appendToBody:!0}},{props:_objectSpread2({width:a,title:c},this.modal)},{attrs:{visible:this.frameVisible},on:{close:function(){return t.closeModel(!0)}}}]),[this.frameVisible||!this.reload?n("iframe",{ref:"frame",attrs:{src:u,frameBorder:"0"},style:{height:s,border:"0 none",width:"100%"}}):null,this.makeFooter()])])},mounted:function(){this.$on("fc.closeModal",this.closeModal)}},NAME$2="fcRadio",Radio={name:NAME$2,props:{formCreateRule:{type:Object,default:function(){return{}}},formCreateOptions:{type:Array,default:function(){return[]}},value:{},type:String},watch:{value:function(){this.update()}},data:function(){return{trueValue:[]}},methods:{onInput:function(e){this.$emit("input",this.formCreateOptions.filter(function(t){return t.label===e}).reduce(function(e,t){return t.value},""))},update:function(){var e=this;this.trueValue=this.formCreateOptions.filter(function(t){return t.value===e.value}).reduce(function(e,t){return t.label},"")}},created:function(){this.update()},render:function(){var e=this,t=arguments[0];return t("ElRadioGroup",helper([{},this.formCreateRule,{attrs:{value:this.trueValue},on:{input:this.onInput}}]),[this.formCreateOptions.map(function(n,r){var i=_objectSpread2({},n),o="button"===e.type?"ElRadioButton":"ElRadio";return delete i.value,t(o,{props:_objectSpread2({},i),key:o+r+n.value})}),getSlot(this.$slots)])}},is={type:function(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"},Undef:function(e){return null==e},Element:function(e){return"object"===_typeof(e)&&null!==e&&1===e.nodeType&&!is.Object(e)},trueArray:function(e){return Array.isArray(e)&&e.length>0}};function hasProperty(e,t){return{}.hasOwnProperty.call(e,t)}["Date","Object","Function","String","Boolean"," Array","Number"].forEach(function(e){is[e]=function(t){return is.type(t,e)}});var NAME$3="fcSelect",Select={name:NAME$3,functional:!0,props:{formCreateOptions:{type:Array,default:function(){return[]}}},render:function(e,t){return e("ElSelect",helper([{},t.data]),[t.props.formCreateOptions.map(function(t,n){var r=t.slot;return e("ElOption",{props:_objectSpread2({},t),key:""+n+t.value},[r?e("template",{slot:t.slotName||"default"},[is.Function(r)?t.slot(e):r]):null])}),t.children])}},NAME$4="fcTree",Tree={name:NAME$4,formCreateParser:{mergeProp:function(e){var t=e.prop.props;t.nodeKey||(t.nodeKey="id"),t.props||(t.props={label:"title"})}},props:{formCreateRule:{type:Object,default:function(){return{props:{}}}},type:{type:String,default:"checked"},value:{type:[Array,String,Number],default:function(){return[]}}},watch:{value:function(){this.setValue()}},methods:{onChange:function(){this.updateValue()},updateValue:function(){var e;this.$refs.tree&&(e="selected"===this.type.toLocaleLowerCase()?this.$refs.tree.getCurrentKey():this.$refs.tree.getCheckedKeys(),this.$emit("input",e))},setValue:function(){"selected"===this.type.toLocaleLowerCase()?this.$refs.tree.setCurrentKey(this.value):this.$refs.tree.setCheckedKeys(toArray(this.value))}},render:function(){var e=this;return(0,arguments[0])("ElTree",helper([{},this.formCreateRule,{ref:"tree",on:{"check-change":function(){return e.updateValue()},"node-click":function(){return e.updateValue()}}}]),[getSlot(this.$slots)])},mounted:function(){this.setValue(),this.updateValue()}},css_248z$1="._fc-upload .fc-files img {\n width: 100%;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n}\n\n._fc-upload .fc-upload-btn {\n border: 1px dashed #c0ccda;\n cursor: pointer;\n}\n\n._fc-upload .fc-upload-cover {\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, .6);\n -webkit-transition: opacity .3s;\n -o-transition: opacity .3s;\n transition: opacity .3s;\n}\n\n._fc-upload .fc-upload-cover i {\n color: #fff;\n font-size: 20px;\n cursor: pointer;\n margin: 0 2px;\n}\n\n._fc-upload .fc-files:hover .fc-upload-cover {\n opacity: 1;\n}\n\n._fc-upload .el-upload {\n display: block;\n}\n\n._fc-upload .fc-upload-btn, ._fc-upload .fc-files {\n display: inline-block;\n width: 58px;\n height: 58px;\n text-align: center;\n line-height: 58px;\n border: 1px solid #c0ccda;\n border-radius: 4px;\n overflow: hidden;\n background: #fff;\n position: relative;\n -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, .1);\n box-shadow: 2px 2px 5px rgba(0, 0, 0, .1);\n margin-right: 4px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n";function parseFile(e,t){return{url:e,name:getFileName(e),uid:t}}function getFileName(e){return(""+e).split("/").pop()}styleInject(css_248z$1);var NAME$5="fcUpload",Upload={name:NAME$5,props:{formCreateRule:{type:Object,default:function(){return{props:{}}}},onHandle:{type:Function,default:function(e){this.previewImage=e.url,this.previewVisible=!0}},uploadType:{type:String,default:"file"},limit:{type:Number,default:0},allowRemove:{type:Boolean,default:!0},previewMask:void 0,modalTitle:String,handleIcon:{type:[String,Boolean],default:function(){}},value:[Array,String]},data:function(){return{uploadList:[],previewVisible:!1,previewImage:""}},created:function(){void 0===this.formCreateRule.props.showFileList&&(this.formCreateRule.props.showFileList=!1),this.formCreateRule.props.fileList=toArray(this.value).map(parseFile)},watch:{value:function(e){this.$refs.upload.uploadFiles.every(function(e){return!e.status||"success"===e.status})&&(this.$refs.upload.uploadFiles=toArray(e).map(parseFile),this.uploadList=this.$refs.upload.uploadFiles)},limit:function(e,t){1!==t&&1!==e||this.update()}},methods:{key:function(e){return e},isDisabled:function(){return!0===this.formCreateRule.props.disabled},onRemove:function(e){this.isDisabled()||this.$refs.upload.handleRemove(e)},handleClick:function(e){this.isDisabled()||this.onHandle(e)},makeItem:function(e,t){var n=this.$createElement;return"image"===this.uploadType?n("img",{attrs:{src:e.url},key:this.key("img"+t)}):n("i",{class:"el-icon-tickets",key:this.key("i"+t)})},makeRemoveIcon:function(e,t){var n=this;return(0,this.$createElement)("i",{class:"el-icon-delete",on:{click:function(){return n.onRemove(e)}},key:this.key("ri"+t)})},makeHandleIcon:function(e,t){var n=this;return(0,this.$createElement)("i",{class:!0===this.handleIcon||void 0===this.handleIcon?"el-icon-view":this.handleIcon,on:{click:function(){return n.handleClick(e)}},key:this.key("hi"+t)})},makeProgress:function(e,t){return(0,this.$createElement)("ElProgress",helper([{},{props:{percentage:e.percentage,type:"circle",width:52}},{style:"margin-top:2px;",key:this.key("pg"+t)}]))},makeIcons:function(e,t){var n=this.$createElement,r=[];if(this.allowRemove||!1!==this.handleIcon)return("file"!==this.uploadType&&!1!==this.handleIcon||"file"===this.uploadType&&this.handleIcon)&&r.push(this.makeHandleIcon(e,t)),this.allowRemove&&r.push(this.makeRemoveIcon(e,t)),n("div",{class:"fc-upload-cover"},[r])},makeFiles:function(){var e=this,t=this.$createElement;return this.uploadList.map(function(n,r){return e.$scopedSlots.fileList?e.$scopedSlots.fileList({file:n,index:r,vm:e}):t("div",{key:e.key(r),class:"fc-files"},[void 0!==n.percentage&&"success"!==n.status?e.makeProgress(n,r):[e.makeItem(n,r),e.makeIcons(n,r)]])})},makeUpload:function(){var e=this.$createElement,t=!this.limit||this.limit>this.uploadList.length;return e("ElUpload",helper([{},this.formCreateRule,{ref:"upload",style:{display:"inline-block"},key:this.key("upload")}]),[t?e("template",{slot:"default"},[this.$slots.default||e("div",{class:"fc-upload-btn"},[e("i",{class:"el-icon-upload2"})])]):null,getSlot(this.$slots,["default"])])},update:function(){var e=this.$refs.upload.uploadFiles.map(function(e){return e.url}).filter(function(e){return void 0!==e});this.$emit("input",1===this.limit?e[0]||"":e)},handleCancel:function(){this.previewVisible=!1}},render:function(){var e=arguments[0];return this.$refs.upload&&(void 0===this.formCreateRule.props.showFileList&&(this.formCreateRule.props.showFileList=this.$refs.upload.showFileList),this.formCreateRule.props.fileList=this.$refs.upload.fileList),e("div",{class:"_fc-upload"},[[this.formCreateRule.props.showFileList?[]:this.makeFiles(),this.makeUpload()],e("el-dialog",{attrs:{appendToBody:!0,modal:this.previewMask,title:this.modalTitle,visible:this.previewVisible},on:{close:this.handleCancel}},[e("img",{attrs:{alt:"example",src:this.previewImage},style:"width: 100%"})])])},mounted:function(){var e=this;this.uploadList=this.$refs.upload.uploadFiles,this.$watch(function(){return e.$refs.upload.uploadFiles},function(){e.update()},{deep:!0})}},NAME$6="fcGroup",Group={name:NAME$6,props:{field:String,rule:[Array,Object],rules:Array,expand:Number,options:Object,formCreate:Object,button:{type:Boolean,default:!0},max:{type:Number,default:0},min:{type:Number,default:0},value:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},fontSize:{type:Number,default:28}},data:function(){return{len:0,cacheRule:{},cacheValue:{}}},computed:{formRule:function(){return this.rule?Array.isArray(this.rule)?this.rule:[this.rule]:this.rules?this.rules:[]}},watch:{disabled:function(e){var t=this.cacheRule;Object.keys(t).forEach(function(n){t[n].$f.disabled(e)})},expand:function(e){var t=e-this.value.length;t>0&&this.expandRule(t)},value:function(e){var t=this;e=e||[];var n=Object.keys(this.cacheRule),r=n.length,i=r-e.length;if(i<0){for(var o=i;o<0;o++)this.addRule(e.length+o);for(var a=0;a<r;a++)this.setValue(n[a],e[a])}else{if(i>0){for(var s=0;s<i;s++)this.removeRule(n[r-s-1]);this.subForm()}e.forEach(function(r,i){t.setValue(n[i],e[i])})}}},methods:{_value:function(e){return e&&hasProperty(e,this.field)?e[this.field]:e},cache:function(e,t){this.cacheValue[e]=JSON.stringify(t)},input:function(e){this.$emit("input",e),this.$emit("change",e)},formData:function(e,t){var n=this,r=this.cacheRule,i=Object.keys(r);if(i.filter(function(e){return r[e].$f}).length===i.length){var o=i.map(function(r){var i=e===r?t:_objectSpread2({},n.cacheRule[r].$f.form),o=n.field?i[n.field]||null:i;return n.cache(r,o),o});this.input(o)}},setValue:function(e,t){var n=this.field,r=this.cacheRule[e].$f;n&&(t=_defineProperty({},n,this._value(t))),this.cacheValue[e]!==JSON.stringify(n?t[n]:t)&&(this.cache(e,t),r.coverValue(t||{}))},addRule:function(e,t){var n=this,r=this.$formCreate.copyRules(this.formRule),i=this.options?_objectSpread2({},this.options):{submitBtn:!1,resetBtn:!1};i.formData=this.field?_defineProperty({},this.field,this._value(this.value[e])):this.value[e]||{},this.$set(this.cacheRule,++this.len,{rule:r,options:i}),t&&this.$nextTick(function(){return n.$emit("add",r,Object.keys(n.cacheRule).length-1)})},add$f:function(e,t,n){var r=this;this.cacheRule[t].$f=n,this.subForm(),this.$nextTick(function(){n.disabled(r.disabled),r.$emit("itemMounted",n,Object.keys(r.cacheRule).indexOf(t))})},subForm:function(){var e=this;this.$emit("fc.sub-form",Object.keys(this.cacheRule).map(function(t){return e.cacheRule[t].$f}))},removeRule:function(e,t){var n=this,r=Object.keys(this.cacheRule).indexOf(e);this.$delete(this.cacheRule,e),this.$delete(this.cacheValue,e),t&&this.$nextTick(function(){return n.$emit("remove",r)})},add:function(e){!this.disabled&&this.addRule(e,!0)},del:function(e,t){this.disabled||(this.removeRule(t,!0),this.subForm(),this.value.splice(e,1),this.input(this.value))},addIcon:function(e){return(0,this.$createElement)("i",{key:"a".concat(e),class:"el-icon-circle-plus-outline",style:"font-size:".concat(this.fontSize,"px;cursor:").concat(this.disabled?"not-allowed;color:#c9cdd4":"pointer",";"),on:{click:this.add}})},delIcon:function(e,t){var n=this;return(0,this.$createElement)("i",{key:"d".concat(t),class:"el-icon-remove-outline",style:"font-size:".concat(this.fontSize,"px;cursor:").concat(this.disabled?"not-allowed;color:#c9cdd4":"pointer;color:#606266",";"),on:{click:function(){return n.del(e,t)}}})},makeIcon:function(e,t,n){var r=this;return this.$scopedSlots.button?this.$scopedSlots.button({total:e,index:t,vm:this,key:n,del:function(){return r.del(t,n)},add:this.add}):0===t?[0!==this.max&&e>=this.max?null:this.addIcon(n),0===this.min||e>this.min?this.delIcon(t,n):null]:t>=this.min?this.delIcon(t,n):void 0},emitEvent:function(e,t,n,r){this.$emit.apply(this,[e].concat(_toConsumableArray(t),[this.cacheRule[r].$f,n]))},expandRule:function(e){for(var t=0;t<e;t++)this.value.push(this.field?null:{})}},created:function(){var e=(this.expand||0)-this.value.length;e>0&&this.expandRule(e);for(var t=0;t<this.value.length;t++)this.addRule(t)},render:function(){var e=this,t=arguments[0],n=Object.keys(this.cacheRule),r=this.button;return 0===n.length?this.$scopedSlots.default?this.$scopedSlots.default({vm:this,add:this.add}):t("i",{key:"a_def",class:"el-icon-circle-plus-outline",style:"font-size:".concat(this.fontSize,"px;vertical-align:middle;color:").concat(this.disabled?"#c9cdd4;cursor: not-allowed":"#606266;cursor:pointer",";"),on:{click:this.add}}):t("div",{key:"con"},[n.map(function(i,o){var a=e.cacheRule[i],s=a.rule,u=a.options;return t("ElRow",{attrs:{align:"middle",type:"flex"},key:i,style:"border-bottom:1px dashed #DCDFE6;margin-bottom:10px;"},[t("ElCol",{attrs:{span:r?20:24}},[t("ElFormItem",[t("FormCreate",helper([{key:i},{on:{"update:value":function(t){return e.formData(i,t)},"emit-event":function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return e.emitEvent(t,r,o,i)},input:function(t){return e.add$f(o,i,t)}}},{attrs:{rule:s,option:u,extendOption:!0}}]))])]),r?t("ElCol",{attrs:{span:2,pull:1,push:1}},[e.makeIcon(n.length,o,i)]):null])})])}},NAME$7="fcSubForm",Sub={name:NAME$7,props:{rule:Array,options:Object,formCreate:Object,value:{type:Object,default:function(){return{}}},disabled:{type:Boolean,default:!1}},data:function(){return{cacheRule:{},cacheValue:{}}},watch:{disabled:function(e){this.cacheRule.$f.disabled(e)},value:function(e){this.setValue(e)}},methods:{formData:function(e){this.cacheValue=JSON.stringify(e),this.$emit("input",e),this.$emit("change",e)},setValue:function(e){var t=JSON.stringify(e);this.cacheValue!==t&&(this.cacheValue=t,this.cacheRule.$f.coverValue(e||{}))},addRule:function(){var e=this.options?this.options:{submitBtn:!1,resetBtn:!1};e.formData=_objectSpread2({},this.value||{}),this.cacheRule={rule:this.rule,options:e}},add$f:function(e){var t=this;this.cacheRule.$f=e,this.subForm(),this.$nextTick(function(){e.disabled(t.disabled),t.$emit("itemMounted",e)})},subForm:function(){this.$emit("fc.sub-form",this.cacheRule.$f)},emitEvent:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.$emit.apply(this,[e].concat(n))}},created:function(){this.addRule()},render:function(){var e=arguments[0],t=this.cacheRule,n=t.rule,r=t.options;return e("FormCreate",helper([{},{on:{"update:value":this.formData,"emit-event":this.emitEvent,input:this.add$f}},{attrs:{rule:n,option:r,extendOption:!0}}]))}},components=[Checkbox,Frame,Radio,Select,Tree,Upload,Group,Sub];function $set(e,t,n){Vue.set(e,t,n)}function $del(e,t){Vue.delete(e,t)}var _extends$1=Object.assign||function(e){for(var t,n=1;n<arguments.length;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&$set(e,r,t[r]);return e};function extend(){return _extends$1.apply(this,arguments)}var NAME$8="FormCreate";function $FormCreate(e){return{name:NAME$8,componentName:NAME$8,model:{prop:"api"},provide:function(){return{$pfc:this}},inject:{$pfc:{default:null}},props:{rule:{type:Array,required:!0},option:{type:Object,default:function(){return{}}},extendOption:Boolean,value:Object,api:Object},data:function(){return{formData:void 0,destroyed:!1,validate:{},$f:void 0,isShow:!0,unique:1,renderRule:_toConsumableArray(this.rule||[]),updateValue:""}},render:function(){return this.formCreate.render()},methods:{_refresh:function(){++this.unique},_renderRule:function(){this.renderRule=_toConsumableArray(this.rule||[])},_updateValue:function(e){this.destroyed||(this.updateValue=JSON.stringify(e),this.$emit("update:value",e))}},watch:{value:{handler:function(e){JSON.stringify(e)!==this.updateValue&&this.$f.setValue(e)},deep:!0},option:{handler:function(e){this.formCreate.initOptions(e),this.$f.refresh()},deep:!0},rule:function(e){var t=this;e.length===this.renderRule.length&&e.every(function(e){return t.renderRule.indexOf(e)>-1})||(this.formCreate.$handle.reloadRule(e),this._renderRule())}},beforeCreate:function(){var t=this,n=this.$options.propsData,r=n.rule,i=n.option,o=n.value;this.formCreate=new e(this,r,i),extend(this.formCreate.options.formData,o||{}),Object.keys(this.formCreate.prop).forEach(function(e){extend(t.$options[e],t.formCreate.prop[e])})}}}var normalMerge$1=["attrs","props","domProps","scopedSlots"],toArrayMerge$1=["class","style","directives"],functionalMerge$1=["on","nativeOn"],mergeProps=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=[].concat(normalMerge$1,_toConsumableArray(r.normal||[])),o=[].concat(toArrayMerge$1,_toConsumableArray(r.array||[])),a=[].concat(functionalMerge$1,_toConsumableArray(r.functional||[])),s=r.props||[];return t.reduce(function(t,n){for(var r in n)if(t[r])if(s.indexOf(r)>-1)t[r]=e([n[r]],t[r]);else if(i.indexOf(r)>-1)t[r]=_objectSpread2(_objectSpread2({},t[r]),n[r]);else if(o.indexOf(r)>-1){var u=t[r]instanceof Array?t[r]:[t[r]],c=n[r]instanceof Array?n[r]:[n[r]];t[r]=[].concat(_toConsumableArray(u),_toConsumableArray(c))}else if(a.indexOf(r)>-1)for(var l in n[r])if(t[r][l]){var f=t[r][l]instanceof Array?t[r][l]:[t[r][l]],d=n[r][l]instanceof Array?n[r][l]:[n[r][l]];t[r][l]=[].concat(_toConsumableArray(f),_toConsumableArray(d))}else t[r][l]=n[r][l];else if("hook"===r)for(var p in n[r])t[r][p]?t[r][p]=mergeFn$1(t[r][p],n[r][p]):t[r][p]=n[r][p];else t[r]=n[r];else i.indexOf(r)>-1||a.indexOf(r)>-1||s.indexOf(r)>-1?t[r]=_objectSpread2({},n[r]):o.indexOf(r)>-1?t[r]=n[r]instanceof Array?_toConsumableArray(n[r]):"object"===_typeof(n[r])?_objectSpread2({},n[r]):n[r]:t[r]=n[r];return t},n)},mergeFn$1=function(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}},keyAttrs=["type","slot","emitPrefix","value","name","native","hidden","display","inject","options","emit","nativeEmit","link","prefix","suffix","update","sync"],arrayAttrs=["validate","children","control"],normalAttrs=["effect"];function attrs(){return[].concat(keyAttrs,_toConsumableArray(normalMerge$1),_toConsumableArray(toArrayMerge$1),_toConsumableArray(functionalMerge$1),arrayAttrs,normalAttrs)}function deepExtend(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=!1;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=t[i];if((r=Array.isArray(o))||is.Object(o)){var a=void 0===e[i];if(r)r=!1,a&&$set(e,i,[]);else if(o._clone&&void 0!==n){if(!n){$set(e,i,o._clone());continue}o=o.getRule(),a&&$set(e,i,{})}else a&&$set(e,i,{});e[i]=deepExtend(e[i],o,n)}else $set(e,i,o)}return void 0!==n&&Array.isArray(e)?e.filter(function(e){return!e||!e.__ctrl}):e}function deepCopy(e){return deepExtend({},{value:e}).value}function format(e,t,n){return"[form-create ".concat(e,"]: ").concat(t)+(n?"\n\nrule: "+JSON.stringify(n.getRule?n.getRule():n):"")}function tip(e,t){console.warn(format("tip",e,t))}function err(e,t){console.error(format("err",e,t))}function logError(e){err(e.toString()),console.error(e)}var PREFIX="[[FORM-CREATE-PREFIX-",SUFFIX="-FORM-CREATE-SUFFIX]]",$T="$FN:",FUNCTION="function";function toJson(e,t){return JSON.stringify(deepExtend([],e,!0),function(e,t){if(!t||!0!==t._isVue){if(_typeof(t)!==FUNCTION)return t;if(t.__inject&&(t=t.__origin),!t.__emit)return PREFIX+t+SUFFIX}},t)}function makeFn(fn){return eval("("+FUNCTION+"(){return "+fn+" })()")}function parseFn(e,t){if(e&&is.String(e)){var n=e.trim(),r=!1;if(n.indexOf(SUFFIX)>0&&0===n.indexOf(PREFIX)?(n=n.replace(SUFFIX,"").replace(PREFIX,""),r=!0):0===n.indexOf($T)?(n=n.replace($T,""),r=!0):t||0!==n.indexOf(FUNCTION)||n===FUNCTION||(r=!0),!r)return e;try{return makeFn(-1===n.indexOf(FUNCTION)&&0!==n.indexOf("(")?FUNCTION+" "+n:n)}catch(e){return void err("解析失败:".concat(n))}}return e}function parseJson(e,t){return JSON.parse(e,function(e,n){return is.Undef(n)||!n.indexOf?n:parseFn(n,t)})}function enumerable(e,t){return{value:e,enumerable:!1,configurable:!1,writable:!!t}}function copyRule(e,t){return copyRules([e],t||!1)[0]}function copyRules(e,t){return deepExtend([],_toConsumableArray(e),t||!1)}function mergeRule(e,t){return mergeProps(Array.isArray(t)?t:[t],e,{array:arrayAttrs,normal:normalAttrs}),e}function getRule(e){return is.Function(e.getRule)?e.getRule():e}function mergeGlobal(e,t){return e?(Object.keys(t||{}).forEach(function(n){t[n]&&(e[n]=mergeRule(e[n]||{},t[n]))}),e):t}function funcProxy(e,t){Object.defineProperties(e,Object.keys(t).reduce(function(e,n){return e[n]={get:function(){return t[n]()}},e},{}))}function byCtx(e){return e.__fc__||(e.__origin__?e.__origin__.__fc__:null)}function invoke(e,t){try{t=e()}catch(e){logError(e)}return t}function toString(e){return null==e?"":"object"===_typeof(e)?JSON.stringify(e,null,2):String(e)}function toLine(e){var t=e.replace(/([A-Z])/g,"-$1").toLocaleLowerCase();return 0===t.indexOf("-")&&(t=t.substr(1)),t}var id=0;function uniqueId(){return Math.random().toString(36).substr(3,3)+Number("".concat(Date.now()).concat(++id)).toString(36)}function baseRule(){return{props:{},on:{},options:[],children:[],hidden:!1,display:!0,value:void 0}}function creatorFactory(e,t){return function(n,r,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=new Creator(e,n,r,i,o);return t&&(is.Function(t)?t(a):a.props(t)),a}}function Creator(e,t,n,r,i){this._data=extend(baseRule(),{type:e,title:t,field:n,value:r,props:i||{}}),this.event=this.on}function appendProto(e){e.forEach(function(e){Creator.prototype[e]=function(t){return mergeRule(this._data,_defineProperty({},e,arguments.length<2?t:_defineProperty({},t,arguments[1]))),this}})}extend(Creator.prototype,{getRule:function(){return this._data},setProp:function(e,t){return $set(this._data,e,t),this},_clone:function(){var e=new this.constructor;return e._data=copyRule(this._data),e}}),appendProto(attrs());var commonMaker=creatorFactory("");function create(e,t,n){var r=commonMaker("",t);return r._data.type=e,r._data.title=n,r}function createTmp(e,t,n,r){var i=commonMaker("",n);return i._data.type="template",i._data.template=e,i._data.title=r,i._data.vm=t,i}function makerFactory(){return{create:create,createTmp:createTmp,template:createTmp,factory:creatorFactory}}function copy(e){return deepCopy(e)}function byRules(e,t){return Object.keys(e).reduce(function(n,r){return n[r]=t?e[r].origin:e[r].rule,n},{})}function Api(e){function t(t){return is.Undef(t)?t=e.fields():Array.isArray(t)||(t=[t]),t}function n(n,r,i){t(n).forEach(function(t){var n=e.getCtx(t);n&&($set(n.rule,r,i),e.$render.clearCache(n))})}function r(){var t=e.subForm;return Object.keys(t).reduce(function(e,n){var r=t[n];return r?(Array.isArray(r)?e.push.apply(e,_toConsumableArray(r)):e.push(r),e):e},[])}var i={helper:{tidyFields:t,props:n},get config(){return e.options},get options(){return e.options},get form(){return e.form},get rule(){return e.rules},get parent(){return e.vm.$pfc&&e.vm.$pfc.$f},get children(){return r()},formData:function(n){return t(n).reduce(function(t,n){var r=e.fieldCtx[n];return r?(t[r.field]=copy(r.rule.value),t):t},{})},getValue:function(t){var n=e.fieldCtx[t];if(n)return copy(n.rule.value)},coverValue:function(t){e.deferSyncValue(function(){Object.keys(e.fieldCtx).forEach(function(n){var r=e.fieldCtx[n];if(!r)return e.appendData[n]=t[n];r.rule.value=hasProperty(t,n)?t[n]:void 0})})},setValue:function(t){var n=t;arguments.length>=2&&(n=_defineProperty({},t,arguments[1])),e.deferSyncValue(function(){Object.keys(n).forEach(function(t){var r=e.fieldCtx[t];if(!r)return e.appendData[t]=n[t];r.rule.value=n[t]})})},removeField:function(t){var n=e.getCtx(t);if(n)return n.rm(),n.origin},removeRule:function(e){var t=e&&byCtx(e);if(t)return t.rm(),t.origin},destroy:function(){e.vm.$el.parentNode&&e.vm.$el.parentNode.removeChild(e.vm.$el),e.vm.$destroy()},fields:function(){return e.fields()},append:function(t,n,r){var i,o=Object.keys(e.fieldCtx),a=e.sort.length-1;if(t.field&&o.indexOf(t.field)>-1)return err("".concat(t.field," 字段已存在"),t);var s=e.getCtx(n);s?r?(i=s.rule.children,a=s.rule.children.length-1):(a=s.root.indexOf(s.origin),i=s.root):i=e.rules,i.splice(a+1,0,t)},prepend:function(t,n,r){var i,o=Object.keys(e.fieldCtx),a=0;if(t.field&&o.indexOf(t.field)>-1)return err("".concat(t.field," 字段已存在"),t);var s=e.getCtx(n);s?r?i=s.rule.children:(a=s.root.indexOf(s.origin),i=s.root):i=e.rules,i.splice(a,0,t)},hidden:function(t,r){n(r,"hidden",!!t),e.refresh()},hiddenStatus:function(t){var n=e.getCtx(t);if(n)return!!n.rule.hidden},display:function(t,r){n(r,"display",!!t),e.refresh()},displayStatus:function(t){var n=e.getCtx(t);if(n)return!!n.rule.display},disabled:function(n,r){t(r).forEach(function(t){var r=e.fieldCtx[t];r&&$set(r.rule.props,"disabled",!!n)}),e.refresh()},model:function(t){return byRules(e.fieldCtx,t)},component:function(t){return byRules(e.nameCtx,t)},bind:function(){return i.form},reload:function(t){e.reloadRule(t)},updateOptions:function(t){e.fc.updateOptions(t),i.refresh()},onSubmit:function(e){i.updateOptions({onSubmit:e})},sync:function(t){var n=is.Object(t)?byCtx(t):e.getCtx(t);if(n&&!n.deleted){var r=e.subForm[t];r&&(Array.isArray(r)?r.forEach(function(e){e.refresh()}):r&&r.refresh()),e.$render.clearCache(n),e.refresh()}},refresh:function(){r().forEach(function(e){e.refresh()}),e.$render.clearCacheAll(),e.refresh()},refreshOptions:function(){e.$manager.updateOptions(e.options),i.refresh()},hideForm:function(t){$set(e.vm,"isShow",!t)},changeStatus:function(){return e.changeStatus},clearChangeStatus:function(){e.changeStatus=!1},updateRule:function(e,t){var n=i.getRule(e);n&&extend(n,t)},updateRules:function(e){Object.keys(e).forEach(function(t){i.updateRule(t,e[t])})},mergeRule:function(t,n){var r=e.getCtx(t);r&&mergeRule(r.rule,n)},mergeRules:function(e){Object.keys(e).forEach(function(t){i.mergeRule(t,e[t])})},getRule:function(t,n){var r=e.getCtx(t);if(r)return n?r.origin:r.rule},updateValidate:function(e,t,r){r?i.mergeRule(e,{validate:t}):n(e,"validate",t)},updateValidates:function(e,t){Object.keys(e).forEach(function(n){i.updateValidate(n,e[n],t)})},refreshValidate:function(){e.vm.validate={},i.refresh()},resetFields:function(n){var r=e.fieldCtx;t(n).forEach(function(t){var n=r[t];n&&(e.$render.clearCache(n),n.rule.value=copy(n.defaultValue),e.refreshControl(n))})},method:function(e,t){var n=i.el(e);if(!n||!n[t])throw new Error(format("err","".concat(t,"方法不存在")));return function(){return n[t].apply(n,arguments)}},exec:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return invoke(function(){return i.method(e,t).apply(void 0,r)})},toJson:function(e){return toJson(i.rule,e)},trigger:function(e,t){for(var n=i.el(e),r=arguments.length,o=new Array(r>2?r-2:0),a=2;a<r;a++)o[a-2]=arguments[a];n&&n.$emit.apply(n,[t].concat(o))},el:function(t){var n=e.getCtx(t);if(n)return n.el||e.vm.$refs[n.ref]},closeModal:function(e){var t=i.el(e);t&&t.$emit&&t.$emit("close-modal")},getSubForm:function(t){return e.subForm[t]},nextTick:function(t){e.bus.$once("next-tick",t),e.refresh()},nextRefresh:function(t){e.nextRefresh(),t&&invoke(t)}};return["on","once","off","set"].forEach(function(t){i[t]=function(){var n;(n=e.vm)["$".concat(t)].apply(n,arguments)}}),i.changeValue=i.changeField=i.setValue,i}function useCache(e){extend(e.prototype,{initCache:function(){this.clearCacheAll()},clearCache:function(e){if(this.cache[e.id]){(!0===this.cache[e.id].use||this.cache[e.id].parent)&&this.$handle.refresh();var t=this.cache[e.id].parent;this.cache[e.id]=null,t&&this.clearCache(t)}else e.parent&&this.clearCache(e.parent)},clearCacheAll:function(){this.cache={}},setCache:function(e,t,n){this.cache[e.id]={vnode:t,use:!1,parent:n}},getCache:function(e){var t=this.cache[e.id];return t.use=!0,t.vnode}})}function toCase(e){return lower(e.replace(/(-[a-z])/g,function(e){return e.replace("-","").toLocaleUpperCase()}))}function lower(e){return e.replace(e[0],e[0].toLowerCase())}function setTempProps(e,t,n){if(e.$props){var r=t.prop,i=Object.keys(e.$props),o=injectProp(t,n),a=Object.keys(o);i.forEach(function(t){hasProperty(r.props,t)?e.$props[t]=r.props[t]:a.indexOf(t)>-1&&(e.$props[t]=o[t])});var s=e.$options.model&&e.$options.model.prop||"value";i.indexOf(s)>-1&&(e.$props[s]=r.value)}}function injectProp(e,t){return{formCreate:t,formCreateField:e.field,formCreateOptions:e.prop.options,formCreateRule:(n=_objectSpread2({},e.prop),n.on=n.on?_objectSpread2({},n.on):{},n)};var n}function useRender(e){extend(e.prototype,{initRender:function(){this.renderList={},this.clearOrgChildren()},initOrgChildren:function(){var e=this.$handle.ctxs;this.orgChildren=Object.keys(e).reduce(function(t,n){var r=e[n].rule.children;return t[n]=is.trueArray(r)?_toConsumableArray(r):[],t},{})},clearOrgChildren:function(){this.orgChildren={}},render:function(){var e=this;if(this.vm.isShow){this.$h=this.vm.$createElement,this.$manager.beforeRender();var t=this.sort.map(function(t){return e.renderCtx(e.$handle.ctxs[t])}).filter(function(e){return void 0!==e});return this.$manager.render(t)}},makeVm:function(e){var t=this,n=e.vm;return n?is.Function(n)?invoke(function(){return n(t.$handle.getInjectData(e))}):n._isVue?n:new _vue(n):new _vue},mergeGlobal:function(e){var t=this.$handle.options.global;t&&(e.cacheConfig||(e.cacheConfig=t[e.originType]||t[e.type]||t[e.trueType]||{}),e.prop=mergeRule({},[t["*"],e.cacheConfig,e.prop]))},renderTemp:function(e){var t=this;if(!_vue.compile)return tip("当前使用的Vue构建版本不支持compile,无法使用template功能"),[];var n=e.prop,r=e.id,i=e.key;if(!this.renderList[r]){e.el||(e.el=this.makeVm(n),this.vm.$nextTick(function(){return e.parser.mounted(e)}));var o=e.el;e.input&&o.$on(o.$options.model&&o.$options.model.event||"input",function(n){t.onInput(e,n)}),this.renderList[r]={vm:o,template:_vue.compile(n.template)}}var a=this.renderList[r],s=a.vm,u=a.template;setTempProps(s,e,this.$handle.api);var c=u.render.call(s);return is.Undef(c.data)&&(c.data={}),c.key=i,c.data.ref=e.ref,c.data.key=i,c},renderSides:function(e,t,n){var r=t[n?"rule":"prop"];return[this.renderRule(r.prefix),e,this.renderRule(r.suffix)]},renderCtx:function(e,t){if("hidden"!==e.type){if(!this.cache[e.id]){var n,r=!0,i=e.trueType,o=!(is.Undef(e.rule.display)||e.rule.display);if("template"!==i||e.rule.template)if("fcFragment"===i)n=this.renderChildren(e);else{e.initProp(),this.mergeGlobal(e),this.$manager.tidyRule(e),this.ctxProp(e);var a=e.prop;if(a.hidden)return void this.setCache(e,void 0,t);"template"===i&&a.template?(n=this.renderTemp(e),r=!1):n=e.parser.render(this.renderChildren(e),e),n=this.renderSides(n,e),!e.input&&is.Undef(a.native)||!0===a.native||(n=this.$manager.makeWrap(e,n)),o&&(n=this.display(n)),n=this.item(e,n)}else n=this.renderSides(this.renderChildren(e),e,!0),o&&this.display(n),n=this.item(e,n);return r&&this.setCache(e,n,t),n}return this.getCache(e)}},display:function(e){var t=this;if(Array.isArray(e)){var n=[];return e.forEach(function(e){if(Array.isArray(e))return t.display(e);t.none(e)&&n.push(e)}),n}return this.none(e)},none:function(e){if(e&&e.data)return Array.isArray(e.data.style)?e.data.style.push({display:"none"}):e.data.style=[e.data.style,{display:"none"}],e},item:function(e,t){return this.$h("fcFragment",{slot:e.rule.slot,key:e.key},[t])},ctxProp:function(e,t){var n=this,r=e.ref,i=e.key;this.$manager.mergeProp(e,t),e.parser.mergeProp(e,t);var o=[{props:injectProp(e,this.$handle.api),ref:r,key:"".concat(i,"fc"),slot:void 0}];return t||o.push({on:{"hook:mounted":function(){n.onMounted(e)},"fc.sub-form":function(t){n.$handle.addSubForm(e,t)}},model:e.input?{value:this.$handle.getFormData(e),callback:function(t){n.onInput(e,t)},expression:"formData.".concat(e.field)}:void 0}),mergeProps(o,e.prop),e.prop},onMounted:function(e){e.el=this.vm.$refs[e.ref],e.parser.mounted(e),this.$handle.effect(e,"mounted")},onInput:function(e,t){this.$handle.onInput(e,t)},renderChildren:function(e){var t=this,n=e.rule.children,r=this.orgChildren[e.id];return!is.trueArray(n)&&r?(this.$handle.deferSyncValue(function(){r.forEach(function(e){!is.String(e)&&e.__fc__&&t.$handle.rmCtx(e.__fc__)})}),this.orgChildren[e.id]=[],[]):(r&&this.$handle.deferSyncValue(function(){r.forEach(function(e){-1===n.indexOf(e)&&!is.String(e)&&e.__fc__&&t.$handle.rmCtx(e.__fc__)})}),n.map(function(r){return is.String(r)?r:r.__fc__?t.renderCtx(r.__fc__,e):void(!t.$handle.isRepeatRule(r.__origin__||r)&&r.type&&t.vm.$nextTick(function(){t.$handle.loadChildren(n,e),t.$handle.refresh()}))}))},defaultRender:function(e,t){var n=e.prop;return this.vNode[e.type]?this.vNode[e.type](n,t):this.vNode[e.originType]?this.vNode[e.originType](n,t):this.vNode.make(lower(e.originType),n,t)},renderRule:function(e,t,n){var r=this;if(e){if(is.String(e))return e;var i;if(n)i=e.type;else if(i=e.is,e.type){i=toCase(e.type);var o=this.vNode.aliasMap[i];o&&(i=toCase(o))}if(i){var a=[[t]];return is.trueArray(e.children)&&a.push(e.children.map(function(e){return r.renderRule(e)})),this.$h(i,_objectSpread2({},e),a)}}}})}function Render(e){extend(this,{$handle:e,fc:e.fc,vm:e.vm,$manager:e.$manager,vNode:new e.fc.CreateNode(e.vm)}),funcProxy(this,{options:function(){return e.options},sort:function(){return e.sort}}),this.initCache(),this.initRender()}function useInject(e){extend(e.prototype,{parseInjectEvent:function(e,t){var n=this;if(!1!==e.inject){var r=e.inject||this.options.injectEvent;if(!is.Undef(r))return Object.keys(t).forEach(function(i){is.Function(t[i])&&(t[i]=n.inject(e,t[i],r))}),t}},parseEmit:function(e,t){var n=this,r={},i=e.rule,o=i.emitPrefix,a=i.field,s=i.name,u=i.inject,c=i[t?"emit":"nativeEmit"]||[];if(is.trueArray(c)){var l=o||a||s;l&&(t||(l="native-".concat(l)),c.forEach(function(e){if(e){var t;is.Object(e)&&(t=e.inject,e=e.name);var o=toLine("".concat(l,"-").concat(e)),a=function(){for(var e,t,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];(e=n.vm).$emit.apply(e,[o].concat(i)),(t=n.vm).$emit.apply(t,["emit-event",o].concat(i))};if(a.__emit=!0,t||!1!==u){var s=t||u||n.options.injectEvent;r[e]=is.Undef(s)?a:n.inject(i,a,s)}else r[e]=a}}))}return e.computed[t?"on":"nativeOn"]=r,r},getInjectData:function(e,t){var n=this.vm.$options.propsData,r=n.option,i=n.rule;return{$f:this.api,rule:i,self:e.__origin__,option:r,inject:t}},inject:function(e,t,n){if(t.__inject){if(this.watching&&!this.loading)return t;t=t.__origin}var r=this,i=function(){for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return o.unshift(r.getInjectData(e,n)),t.apply(this,o)};return i.__inject=!0,i.__origin=t,i}})}useCache(Render),useRender(Render);var EVENT=["hook:updated","hook:mounted"];function usePage(e){extend(e.prototype,{usePage:function(){var e=this,t=this.options.page;if(t){var n=25,r=getLimit(this.rules);is.Object(t)&&(t.first&&(n=parseInt(t.first,10)||n),t.limit&&(r=parseInt(t.limit,10)||r)),extend(this,{first:n,limit:r,pageEnd:this.rules.length<=n}),this.bus.$on("page-end",function(){return e.vm.$emit("page-end",e.api)}),this.pageLoad()}},pageLoad:function(){var e=this;this.vm.$on(EVENT,function t(){e.pageEnd?(e.vm.$off(EVENT,t),e.bus.$emit("page-end")):(e.first+=e.limit,e.pageEnd=e.rules.length<=e.first,e.loadRule(),e.refresh())})}})}function getLimit(e){return e.length<31?31:Math.ceil(e.length/3)}function useRender$1(e){extend(e.prototype,{clearNextTick:function(){this.nextTick&&clearTimeout(this.nextTick),this.nextTick=null},bindNextTick:function(e){var t=this;this.clearNextTick(),this.nextTick=setTimeout(function(){e(),t.nextTick=null},10)},render:function(){return++this.loadedId,this.vm.unique>0?this.$render.render():(this.vm.unique=1,[])}})}function bind(e){Object.defineProperties(e.origin,{__fc__:enumerable(e,!0)})}function RuleContext(e,t){var n=uniqueId();extend(this,{id:n,ref:n,wrapRef:n+"fi",rule:t,origin:t.__origin__||t,name:t.name,watch:[],linkOn:[],root:[],ctrlRule:[],parent:null,cacheConfig:null,prop:_objectSpread2({},t),computed:{},payload:{},input:!!t.field,el:void 0,defaultValue:t.field?deepCopy(t.value):void 0,field:t.field||void 0}),this.updateType(),this.updateKey(),bind(this),this.update(e,!0)}function useLoader(e){extend(e.prototype,{nextRefresh:function(e){var t=this,n=this.loadedId;this.vm.$nextTick(function(){n===t.loadedId&&(e?e():t.refresh())})},parseRule:function(e){var t=this,n=getRule(e);return Object.defineProperties(n,{__origin__:enumerable(e,!0)}),fullRule(n),n.field&&hasProperty(this.options.formData||{},n.field)&&(n.value=this.options.formData[n.field]),n.options=Array.isArray(n.options)?n.options:[],["on","props","nativeOn"].forEach(function(e){var r=n[e];r&&(Object.keys(r).forEach(function(e){r[e]=parseFn(r[e])}),t.parseInjectEvent(n,r))}),n},syncProp:function(e){var t=this,n=e.rule;is.trueArray(n.sync)&&mergeProps([{on:n.sync.reduce(function(e,r){return e["update:".concat(r)]=function(e){n.props[r]=e,t.vm.$emit("sync",r,e,n,t.fapi)},e},{})}],e.computed)},isRepeatRule:function(e){return this.repeatRule.indexOf(e)>-1},loadRule:function(){var e=this;this.cycleLoad=!1,this.loading=!0,this.pageEnd&&this.bus.$emit("load-start"),this.deferSyncValue(function(){if(e._loadRule(e.rules),e.loading=!1,e.cycleLoad&&e.pageEnd)return e.loadRule();e.pageEnd&&e.bus.$emit("load-end"),e.vm._renderRule(),e.$render.initOrgChildren(),e.syncForm()})},loadChildren:function(e,t){if(this.cycleLoad=!1,this.loading=!0,this.bus.$emit("load-start"),this._loadRule(e,t),this.loading=!1,this.cycleLoad)return this.loadRule();this.bus.$emit("load-end"),this.syncForm(),this.$render.clearCache(t)},_loadRule:function(e,t){var n=this,r=function(e,t){is.trueArray(e)&&n._loadRule(e,t)},i=function(e){return n.ruleEffect(e,"init")};e.map(function(o,a){if((!t||!is.String(o))&&(n.pageEnd||t||!(a>=n.first))){if(!is.Object(o)||!getRule(o).type)return err("未定义生成规则的 type 字段",o);if(o.__fc__&&o.__fc__.root===e&&n.ctxs[o.__fc__.id])return r(o.__fc__.rule.children,o.__fc__),o.__fc__;var s,u=getRule(o);if(o.__fc__||i(u),u.field&&n.fieldCtx[u.field]&&n.fieldCtx[u.field]!==o.__fc__)return n.repeatRule.push(o),err("".concat(u.field," 字段已存在"),o);if(o.__fc__){var c=!(s=o.__fc__).check(n);if(s.deleted){if(c){if(isCtrl(s))return;s.update(n)}}else if(c){if(isCtrl(s))return;e[a]=o=o._clone?o._clone():copyRule(o),i(getRule(o)),s=null}}if(s?s.originType!==s.rule.type&&(s.updateType(),n.bindParser(s)):(s=new RuleContext(n,n.parseRule(o)),n.bindParser(s)),n.appendValue(s.rule),[!1,!0].forEach(function(e){return n.parseEmit(s,e)}),n.syncProp(s),s.parent=t||null,s.root=e,n.setCtx(s),r(s.rule.children,s),!t){var l=function t(r){var i=e[r-1];if(!i||!i.__fc__)return r>0?t(r-1):-1;var o=n.sort.indexOf(i.__fc__.id);return o>-1?o:t(r-1)}(a);l>-1?n.sort.splice(l+1,0,s.id):n.sort.push(s.id)}var f=s.rule;return s.updated||(s.updated=!0,is.Function(f.update)&&n.bus.$once("load-end",function(){n.refreshUpdate(s,f.value)}),n.effect(s,"loaded")),s.input&&Object.defineProperty(f,"value",n.valueHandle(s)),n.refreshControl(s)&&(n.cycleLoad=!0),s}})},refreshControl:function(e){return e.input&&e.rule.control&&this.useCtrl(e)},useCtrl:function(e){var t=this,n=getCtrl(e),r=[],i=this.api;if(!n.length)return!1;for(var o=function(t){var o=n[t],a=o.handle||function(e){return e===o.value},s=_objectSpread2(_objectSpread2({},o),{},{valid:invoke(function(){return a(e.rule.value,i)}),ctrl:findCtrl(e,o.rule)});if(s.valid&&s.ctrl||!s.valid&&!s.ctrl)return"continue";r.push(s)},a=0;a<n.length;a++)o(a);if(!r.length)return!1;var s=!1;return r.reverse().forEach(function(n){var r=n.valid,o=n.rule,a=n.prepend,u=n.append,c=n.child,l=n.ctrl;if(r){s=!0;var f={type:"fcFragment",native:!0,__ctrl:!0,children:o};e.ctrlRule.push(f),t.bus.$once("load-start",function(){a?i.prepend(f,a,c):u||c?i.append(f,u||e.id,c):e.root.splice(e.root.indexOf(e.origin)+1,0,f)})}else{e.ctrlRule.splice(e.ctrlRule.indexOf(l),1);var d=byCtx(l);d&&d.rm()}}),this.vm.$emit("control",e.origin,this.api),this.effect(e,"control"),s},reloadRule:function(e){return this._reloadRule(e)},_reloadRule:function(e){var t=this;e||(e=this.rules);var n=_objectSpread2({},this.ctxs);this.clearNextTick(),this.$render.clearOrgChildren(),this.initData(e),this.fc.rules=e,this.bus.$once("load-end",function(){Object.keys(n).filter(function(e){return void 0===t.ctxs[e]}).forEach(function(e){return t.rmCtx(n[e])}),t.$render.clearCacheAll()}),this.reloading=!0,this.loadRule(),this.reloading=!1,this.refresh(),this.bus.$off("next-tick",this.nextReload),this.bus.$once("next-tick",this.nextReload)},refresh:function(){this.vm._refresh()}})}function fullRule(e){var t=baseRule();return Object.keys(t).forEach(function(n){hasProperty(e,n)||(e[n]=t[n])}),e}function getCtrl(e){var t=e.rule.control||[];return is.Object(t)?[t]:t}function findCtrl(e,t){for(var n=0;n<e.ctrlRule.length;n++){var r=e.ctrlRule[n];if(r.children===t)return r}}function isCtrl(e){return!!e.rule.__ctrl}function useInput(e){extend(e.prototype,{getValue:function(e){return hasProperty(e,"cacheValue")||(e.cacheValue=e.parser.toValue(this.getFormData(e),e)),e.cacheValue},setValue:function(e,t,n,r){e.deleted||(e.cacheValue=t,this.changeStatus=!0,this.nextRefresh(),this.$render.clearCache(e),this.setFormData(e,n),this.syncValue(),this.valueChange(e,t),this.vm.$emit("change",e.field,t,e.origin,this.api,r),this.effect(e,"value"))},onInput:function(e,t){var n;e.input&&(this.isQuote(e,n=e.parser.toValue(t,e))||this.isChange(e,n))&&this.setValue(e,n,t)},setFormData:function(e,t){$set(this.formData,e.field,t)},getFormData:function(e){return this.formData[e.field]},validate:function(){var e=this;return toEmpty(this.vm.validate),Object.keys(this.fieldCtx).forEach(function(t){var n=e.fieldCtx[t];e.vm.validate[n.field]=toArray(n.rule.validate)}),this.vm.validate},syncForm:function(){var e=this;toEmpty(this.form),Object.defineProperties(this.form,Object.keys(this.formData).reduce(function(t,n){var r=e.getCtx(n),i=e.valueHandle(r);return i.configurable=!0,t[n]=i,t},{})),this.syncValue()},valueHandle:function(e){var t=this;return{enumerable:!0,get:function(){return t.getValue(e)},set:function(n){t.isChange(e,n)&&t.setValue(e,n,e.parser.toFormValue(n,e),!0)}}},appendValue:function(e){e.field&&hasProperty(this.appendData,e.field)&&(e.value=this.appendData[e.field],delete this.appendData[e.field])},addSubForm:function(e,t){this.subForm[e.field]=t},deferSyncValue:function(e){this.deferSyncFn||(this.deferSyncFn=e),invoke(e),this.deferSyncFn===e&&(this.deferSyncFn=null,e.sync&&this.syncValue())},syncValue:function(){if(this.deferSyncFn)return this.deferSyncFn.sync=!0;this.vm._updateValue(_objectSpread2({},this.form))},isChange:function(e,t){return JSON.stringify(e.rule.value)!==JSON.stringify(t)},isQuote:function(e,t){return(is.Object(t)||Array.isArray(t))&&t===e.rule.value},refreshUpdate:function(e,t){var n=this,r=e.rule.update;if(is.Function(r)){var i=invoke(function(){return r(t,e.origin,n.api)});if(void 0===i)return;e.rule.hidden=!0===i}},valueChange:function(e,t){this.refreshRule(e,t),this.bus.$emit("change-"+e.field,t)},refreshRule:function(e,t){this.refreshControl(e)&&(this.$render.clearCacheAll(),this.loadRule(),this.refresh()),this.refreshUpdate(e,t)},appendLink:function(e){var t=this,n=e.rule.link;is.trueArray(n)&&n.forEach(function(n){var r=function(){return t.refreshRule(e,e.rule.value)};t.bus.$on("change-"+n,r),e.linkOn.push(function(){return t.bus.$off("change-"+n,r)})})},fields:function(){return Object.keys(this.formData)}})}function toEmpty(e){Object.keys(e).forEach(function(t){return delete e[t]})}function useHelper(e){Array.isArray(e)&&!e.findField&&Object.defineProperties(e,{findField:enumerable(findField),findName:enumerable(findName),setValue:enumerable(setValue)})}function find(e,t,n){if(this.length){for(var r=[],i=0;i<this.length;i++)if(is.Object(this[i])){var o=getRule(this[i]);if(o[t]===e)return n?o:this[i];is.trueArray(o.children)&&(r=r.concat(o.children)),is.trueArray(o.control)&&o.control.forEach(function(e){r=r.concat(e.rule)})}return find.call(r,e,t,n)}}function findField(e){return find.call(this,e,"field")}function findName(e){return find.call(this,e,"name")}function setValue(e){var t=this;Object.keys(e).forEach(function(n){var r=find.call(t,n,"field",!0);r&&(r.value=e[n])})}extend(RuleContext.prototype,{effectData:function(e){return this.payload[e]||(this.payload[e]={}),this.payload[e]},clearEffectData:function(e){delete this.payload[e]},updateKey:function(e){this.key=uniqueId(),e&&this.parent&&this.parent.updateKey(e)},updateType:function(){this.originType=this.rule.type,this.type=toCase(this.rule.type)},setParser:function(e){this.parser=e,e.init(this)},initProp:function(){var e=this;this.prop=mergeProps([this.rule].concat(_toConsumableArray(Object.keys(this.payload).map(function(t){return e.payload[t]})),[this.computed]))},check:function(e){return this.vm===e.vm},unwatch:function(){this.watch.forEach(function(e){return e()}),this.watch=[]},unlink:function(){this.linkOn.forEach(function(e){return e()}),this.linkOn=[]},link:function(){this.unlink(),this.$handle.appendLink(this)},watchTo:function(){this.$handle.watchCtx(this)},delete:function(){this.unwatch(),this.unlink(),this.rmCtrl(),extend(this,{deleted:!0,prop:_objectSpread2({},this.rule),computed:{},el:void 0,$handle:void 0,$render:void 0,$api:void 0,vm:void 0,vNode:void 0,parent:null,cacheConfig:null})},rmCtrl:function(){this.ctrlRule.forEach(function(e){return e.__fc__.rm()}),this.ctrlRule=[]},rm:function(){var e=this,t=function(){var t=e.root.indexOf(e.origin);t>-1&&(e.root.splice(t,1),e.$handle.refresh())};this.deleted?t():this.$handle.noWatch(function(){e.$handle.deferSyncValue(function(){e.rmCtrl(),t(),e.$handle.rmCtx(e),extend(e,{root:[]})})})},update:function(e,t){extend(this,{deleted:!1,$handle:e,$render:e.$render,$api:e.api,vm:e.vm,trueType:e.getType(this.originType),vNode:e.$render.vNode,updated:!1}),!t&&this.unwatch(),this.watchTo(),this.link()}});var BaseParser={init:function(e){},toFormValue:function(e,t){return e},toValue:function(e,t){return e},mounted:function(e){},render:function(e,t){return t.$render.defaultRender(t,e)},mergeProp:function(e){}};function useContext(e){extend(e.prototype,{getCtx:function(e){return this.fieldCtx[e]||this.nameCtx[e]||this.ctxs[e]},setCtx:function(e){var t=e.id,n=e.field,r=e.name,i=e.rule;this.ctxs[t]=e,r&&$set(this.nameCtx,r,e),e.input&&(this.fieldCtx[n]=e,this.setFormData(e,e.parser.toFormValue(i.value,e)))},getParser:function(e){var t=this.fc.parsers;return t[e.originType]||t[toCase(e.type)]||t[e.trueType]||BaseParser},bindParser:function(e){e.setParser(this.getParser(e))},getType:function(e){var t=this.fc.CreateNode.aliasMap,n=t[e]||t[toCase(e)]||e;return toCase(n)},noWatch:function(e){this.noWatchFn||(this.noWatchFn=e),invoke(e),this.noWatchFn===e&&(this.noWatchFn=null)},watchCtx:function(e){var t=this,n=this.vm,r=["field","value","vm","template","name","config","control","inject","sync","payload"];Object.keys(e.rule).filter(function(e){return-1===r.indexOf(e)}).forEach(function(r){var i="children"===r;e.watch.push(n.$watch(function(){return e.rule[r]},function(n,i){if(!(t.loading||t.noWatchFn||t.reloading))if(t.watching=!0,"link"!==r){if(["props","on","nativeOn"].indexOf(r)>-1)t.parseInjectEvent(e.rule,n||{}),"props"===r&&e.input&&t.setFormData(e,e.parser.toFormValue(e.rule.value,e));else if(["emit","nativeEmit"].indexOf(r)>-1)t.parseEmit(e,"emit"===r);else if("type"===r)e.updateType(),t.bindParser(e);else if("children"===r){var o=is.trueArray(n);t.deferSyncValue(function(){n!==i&&(t.rmSub(i),t.$render.initOrgChildren()),o&&t.loadChildren(n,e)})}t.$render.clearCache(e),t.watching=!1}else e.link()},{deep:!i,sync:i}))}),this.watchEffect(e)},rmSub:function(e){var t=this;is.trueArray(e)&&e.forEach(function(e){e&&e.__fc__&&t.rmCtx(e.__fc__)})},rmCtx:function(e){var t=this;if(!e.deleted){var n=e.id,r=e.field,i=e.name;e.input&&Object.defineProperty(e.rule,"value",{value:e.rule.value,writable:!0}),$del(this.ctxs,n),$del(this.$render.renderList,n),$del(this.$render.orgChildren,n),$del(e,"cacheValue");var o=this.fieldCtx[r];!r||o&&o!==e||($del(this.formData,r),$del(this.form,r),$del(this.fieldCtx,r),$del(this.subForm,r)),i&&this.nameCtx[i]===e&&$del(this.nameCtx,i),this.reloading||(this.deferSyncValue(function(){is.trueArray(e.rule.children)&&e.rule.children.forEach(function(e){return e.__fc__&&t.rmCtx(e.__fc__)}),t.syncValue()}),e.root===this.rules&&this.vm._renderRule());var a=this.sort.indexOf(n);return a>-1&&this.sort.splice(a,1),this.$render.clearCache(e),e.delete(),this.effect(e,"deleted"),e}}})}function useLifecycle(e){extend(e.prototype,{mounted:function(){var e=this,t=function(){e.isMounted=!0,e.lifecycle("mounted")};this.pageEnd?t():this.bus.$once("page-end",t)},lifecycle:function(e){var t=this,n=this.options[e];is.Function(n)&&invoke(function(){return n(t.api)}),this.vm.$emit(e,this.api)}})}function useEffect(e){extend(e.prototype,{useProvider:function(){var e=this,t=this.fc.providers;Object.keys(t).forEach(function(n){var r=t[n];r._c=getComponent(r),e.onEffect(r),e.providers[n]=r})},onEffect:function(e){var t=this,n=[];(e._c||["*"]).forEach(function(r){var i="*"===r?"*":t.getType(r);n.indexOf(i)>-1||(n.push(i),t.bus.$on("p:".concat(e.name,":").concat(i,":").concat(e.input?1:0),function(t,n){e[t]&&e[t].apply(e,_toConsumableArray(n))}))}),e._used=n},watchEffect:function(e){var t=this,n=this.vm;Object.keys(e.rule.effect||{}).forEach(function(r){e.watch.push(n.$watch(function(){return e.rule.effect[r]},function(n){t.effect(e,"watch",_defineProperty({},r,n))},{deep:!0}))})},effect:function(e,t,n){this.emitEffect({rule:e.rule,input:e.input,type:e.trueType,ctx:e,custom:n},t)},ruleEffect:function(e,t){this.emitEffect({rule:e,input:!!e.field,type:this.getType(e.type)},t)},getEffect:function(e,t){return hasProperty(e,"effect")&&hasProperty(e.effect,t)?e.effect[t]:void 0},emitEffect:function(e,t){var n=this,r=e.ctx,i=e.rule,o=e.input,a=e.type,s=e.custom;if(a&&"fcFragment"!==a){var u=s||(i.effect||{});Object.keys(u).forEach(function(e){var s=n.providers[e];if(s&&(!s.input||o)){var c;if(s._c){if(!(s._used.indexOf(a)>-1))return;c=a}else c="*";var l={value:u[e],getValue:function(){return n.getEffect(i,e)}};r&&(l.getProp=function(){return r.effectData(e)},l.clearProp=function(){return r.clearEffectData(e)},l.mergeProp=function(e){return mergeProps([e],l.getProp())}),n.bus.$emit("p:".concat(e,":").concat(c,":").concat(s.input?1:0),t,[l,i,n.api])}})}}})}function unique(e){return e.filter(function(e,t,n){return n.indexOf(e,0)===t})}function getComponent(e){var t=e.components;return Array.isArray(t)?unique(t.filter(function(e){return"*"!==e})):!!is.String(t)&&[t]}function Handler(e){var t=this;extend(this,{fc:e,vm:e.vm,watching:!1,loading:!1,reloading:!1,noWatchFn:null,deferSyncFn:null,isMounted:!1,formData:{},subForm:{},form:{},appendData:{},providers:{},cycleLoad:null,loadedId:1,nextTick:null,changeStatus:!1,pageEnd:!0,nextReload:function(){t.lifecycle("reload")}}),funcProxy(this,{options:function(){return e.options},bus:function(){return e.bus}}),this.initData(e.rules),this.$manager=new e.manager(this),this.$render=new Render(this),this.api=e.extendApi(Api(this),this)}function getError(e,t,n){var r="fail to ".concat(e," ").concat(n.status,"'"),i=new Error(r);return i.status=n.status,i.url=e,i}function getBody(e){var t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}function fetch(e){if("undefined"!=typeof XMLHttpRequest){var t=new XMLHttpRequest,n=e.action,r=new FormData;e.data&&Object.keys(e.data).map(function(t){r.append(t,e.data[t])}),t.onerror=function(t){e.onError(t)},t.onload=function(){if(t.status<200||t.status>=300)return e.onError(getError(n,e,t),getBody(t));e.onSuccess(getBody(t))},t.open(e.method||"get",n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);var i=e.headers||{};Object.keys(i).forEach(function(e){null!==i[e]&&t.setRequestHeader(e,i[e])}),t.send(r)}}extend(Handler.prototype,{initData:function(e){extend(this,{fieldCtx:{},ctxs:{},nameCtx:{},sort:[],rules:e,repeatRule:[]}),useHelper(e)},init:function(){this.useProvider(),this.usePage(),this.loadRule(),this.$manager.__init(),this.vm.$set(this.vm,"formData",this.formData)}}),useInject(Handler),usePage(Handler),useRender$1(Handler),useLoader(Handler),useInput(Handler),useContext(Handler),useLifecycle(Handler),useEffect(Handler);var NAME$9="fcFragment",fragment={name:NAME$9,functional:!0,render:function(e,t){return t.children}};function parseProp(e){return is.String(e)?{domProps:{innerHTML:e}}:e}function CreateNodeFactory(){var e={};function t(e){e&&this.setVm(e)}return extend(t.prototype,{setVm:function(e){this.vm=e,this.$h=e.$createElement},make:function(e,t,n){Vue.config.isReservedTag(e)&&t.nativeOn&&delete t.nativeOn;var r=this.$h(e,parseProp(t),n||[]);return r.context=this.vm,r},aliasMap:e}),extend(t,{aliasMap:e,alias:function(t,n){e[t]=n},use:function(e){Object.keys(e).forEach(function(n){var r=toLine(n),i=toString(n).toLocaleLowerCase(),o=e[n];[n,r,i].forEach(function(e){t.alias(n,o),t.prototype[e]=function(e,t){return this.make(o,e,t)}})})}}),t}function createManager(e){var t=function(e){_inherits(n,Manager);var t=_createSuper(n);function n(){return _classCallCheck(this,n),t.apply(this,arguments)}return n}();return Object.assign(t.prototype,e),t}function Manager(e){extend(this,{$handle:e,vm:e.vm,options:{},ref:"fcForm",mergeOptionsRule:{normal:["form","row","info","submitBtn","resetBtn"]}}),this.updateKey(),this.init()}extend(Manager.prototype,{__init:function(){var e=this;this.$render=this.$handle.$render,this.$r=function(){var t;return(t=e.$render).renderRule.apply(t,arguments)}},updateKey:function(){this.key=uniqueId()},init:function(){},update:function(){},beforeRender:function(){},form:function(){return this.vm.$refs[this.ref]},mergeOptions:function(e,t){var n=this;return mergeProps(e.map(function(e){return n.tidyOptions(e)}),t,this.mergeOptionsRule)},updateOptions:function(e){this.options=this.mergeOptions([e],this.getDefaultOptions()),this.update()},tidyOptions:function(e){return e},tidyRule:function(e){},mergeProp:function(e){},getDefaultOptions:function(){return{}},render:function(e){}});var $fetch={name:"fetch",loaded:function(){run.apply(void 0,arguments)},watch:function(e,t,n){run(e,t,n)||(e.clearProp(),n.sync(t))}};function parseOpt(e){return is.String(e)&&(e={action:e,to:"options"}),e}function run(e,t,n){var r=e.value;if(!r)return!1;if(!(r=parseOpt(r)).to)return!1;var i=r.onError,o=function(){if(!e.getValue())return e.clearProp(),n.sync(t),!0},a=function(t){var n,i=e.getProp();r.to.split(".").forEach(function(e){n&&(i=i[n]={}),n=e}),i[n]=t};return invoke(function(){return fetch(_objectSpread2(_objectSpread2({},r),{},{onSuccess:function(e){o()||(a((r.parse||function(e){return e.data})(e)),n.sync(t))},onError:function(e){a(void 0),o()||(i||function(e){return err(e.message||"fetch fail "+r.action)})(e,t,n)}}))}),!0}var _vue="undefined"!=typeof window&&window.Vue?window.Vue:Vue;function _parseProp(e,t){var n;return 2===arguments.length?t=(n=arguments[1])[e]:n=arguments[2],{id:t,prop:n}}function nameProp(){return _parseProp.apply(void 0,["name"].concat(Array.prototype.slice.call(arguments)))}function _getEl(e){return e&&e.el?is.Element(e.el)?e.el:document.querySelector(e.el):window.document.body}function mountForm(e,t){var n=new _vue({data:function(){return{rule:e,option:t||{}}},render:function(e){return e("FormCreate",{ref:"fc",props:this.$data})}});return n.$mount(),n}function exportAttrs(e){var t=e.key||[],n=e.array||[],r=e.normal||[];keyAttrs.push.apply(keyAttrs,_toConsumableArray(t)),arrayAttrs.push.apply(arrayAttrs,_toConsumableArray(n)),normalAttrs.push.apply(normalAttrs,_toConsumableArray(r)),appendProto([].concat(_toConsumableArray(t),_toConsumableArray(n),_toConsumableArray(r)))}function FormCreateFactory(e){var t=_defineProperty({},fragment.name,fragment),n={},r={},i={fetch:$fetch},o=makerFactory(),a={global:{}},s={},u=CreateNodeFactory();function c(){var e=nameProp.apply(void 0,arguments);e.id&&e.prop&&(r[e.id]=e.prop)}function l(){var e=nameProp.apply(void 0,arguments);e.id&&e.prop&&(i[e.id]=_objectSpread2(_objectSpread2({},e.prop),{},{name:e.id}))}function f(e){u.use(e)}function d(){var e=nameProp.apply(void 0,arguments);if(e.id&&e.prop){var t=toCase(e.id),r=e.prop,i=!0===r.merge?n[t]:void 0;n[t]=_objectSpread2(_objectSpread2({},i||BaseParser),r),o[t]=creatorFactory(t),r.maker&&extend(o,r.maker)}}function p(e,n){var r;if(is.String(e)){if(r=toCase(e),["form-create","formcreate"].indexOf(r)>-1)return h();if(void 0===n)return t[r]}else r=toCase(e.name),n=e;r&&n&&(t[r]=n,n.formCreateParser&&d(r,n.formCreateParser))}function h(){return _vue.extend($FormCreate(v))}function m(e,t){return is.Function(e.install)?e.install(y,t):is.Function(e)&&e(y,t),this}function y(e,t,n){var r=mountForm(e,t||{}),i=r.$refs.fc.formCreate;return i.$parent=n,_getEl(i.options).appendChild(r.$el),i.api()}function v(o,a,s){extend(this,{vm:o,manager:createManager(e.manager),parsers:n,providers:i,rules:Array.isArray(a)?a:[],prop:{components:t,directives:r},CreateNode:u,bus:new _vue,unwatch:null,extendApi:e.extendApi||function(e){return e}}),this.init(),this.initOptions(s||{})}function g(t){extend(t,{version:e.version,ui:e.ui,data:s,maker:o,component:p,directive:c,register:l,parser:d,use:m,componentAlias:f,copyRule:copyRule,copyRules:copyRules,fetch:fetch,$form:h,parseJson:parseJson,toJson:toJson,init:function(e){var t=mountForm(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=t.$refs.fc.formCreate;return{mount:function(e){return e&&is.Element(e)&&(n.options.el=e),_getEl(n.options).appendChild(t.$el),n.api()},remove:function(){t.$el.parentNode&&t.$el.parentNode.removeChild(t.$el)},destroy:function(){this.remove(),t.$destroy()},$f:n.api()}}})}return exportAttrs(e.attrs||{}),extend(v.prototype,{init:function(){var e=this,t=this.vm,n=new Handler(this);this.$handle=n,t.$f=n.api,t.$emit("input",n.api),t.$on("hook:created",function(){e.isSub()&&(e.unwatch=t.$watch(function(){return t.$pfc.option},function(){e.initOptions(e.options),t.$f.refresh()},{deep:!0}),e.initOptions(e.options)),e.created()}),t.$on("hook:mounted",function(){e.mounted()}),t.$on("hook:beforeDestroy",function(){t.destroyed=!0,e.unwatch&&e.unwatch(),n.reloadRule([])}),t.$on("hook:updated",function(){n.bindNextTick(function(){return e.bus.$emit("next-tick",n.api)})})},isSub:function(){return this.vm.$pfc&&this.vm.extendOption},initOptions:function(e){this.options=_objectSpread2({formData:{},submitBtn:{},resetBtn:{}},deepCopy(a)),this.isSub()&&this.mergeOptions(this.options,this.vm.$pfc.$f.config||{},!0),this.updateOptions(e)},mergeOptions:function(e,t,n){return t=deepCopy(t),n&&["page","onSubmit","mounted","reload","formData","el"].forEach(function(e){delete t[e]}),t.global&&(e.global=mergeGlobal(e.global,t.global),delete t.global),this.$handle.$manager.mergeOptions([t],e),e},updateOptions:function(e){this.mergeOptions(this.options,e),this.$handle.$manager.updateOptions(this.options)},created:function(){this.$handle.init()},api:function(){return this.$handle.api},render:function(){return this.$handle.render()},mounted:function(){this.$handle.mounted()}}),g(y),extend(y,{create:y,install:function(e,t){if(a=_objectSpread2(_objectSpread2({},a),t||{}),!0!==e._installedFormCreate){e._installedFormCreate=!0,_vue=e;var n=function(e){return y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},this)};g(n),e.prototype.$formCreate=n,e.component("FormCreate",h())}}}),u.use({fragment:"fcFragment"}),e.install&&y.use(e),y}var DEFAULT_FORMATS={date:"yyyy-MM-dd",month:"yyyy-MM",datetime:"yyyy-MM-dd HH:mm:ss",week:"yyyywWW",timerange:"HH:mm:ss",daterange:"yyyy-MM-dd",monthrange:"yyyy-MM",datetimerange:"yyyy-MM-dd HH:mm:ss",year:"yyyy"},name="datePicker",datePicker={name:name,maker:["year","month","date","dates","week","datetime","datetimeRange","dateRange","monthRange"].reduce(function(e,t){return e[t]=creatorFactory(name,{type:t.toLowerCase()}),e},{}),mergeProp:function(e){var t=e.prop.props;t.valueFormat||(t.valueFormat=DEFAULT_FORMATS[t.type]||DEFAULT_FORMATS.date)}},name$1="hidden",hidden={name:name$1,maker:_defineProperty({},name$1,function(e,t){return creatorFactory(name$1)("",e,t)}),render:function(){return[]}},name$2="input",input={name:name$2,maker:function(){var e=["password","url","email","text","textarea"].reduce(function(e,t){return e[t]=creatorFactory(name$2,{type:t}),e},{});return e.idate=creatorFactory(name$2,{type:"date"}),e}(),mergeProp:function(e){var t=e.prop.props;t&&t.autosize&&t.autosize.minRows&&(t.rows=t.autosize.minRows||2)}},name$3="slider",slider={name:name$3,maker:{sliderRange:creatorFactory(name$3,{range:!0})},toFormValue:function(e,t){var n=Array.isArray(e),r=t.prop.props,i=r.min||0;return!0===r.range?n?e:[i,parseFloat(e)||i]:n?parseFloat(e[0])||i:parseFloat(e)}},name$4="timePicker",timePicker={name:name$4,maker:{time:creatorFactory(name$4,function(e){return e.props.isRange=!1}),timeRange:creatorFactory(name$4,function(e){return e.props.isRange=!0})},mergeProp:function(e){var t=e.prop.props;t.valueFormat||(t.valueFormat="HH:mm:ss")}},row={name:"FcRow",render:function(e,t){return t.vNode.col({props:{span:24}},[t.vNode.row(t.prop,e)])}},name$5="select",select={name:name$5,toFormValue:function(e,t){return t.prop.props.multiple&&!Array.isArray(e)?toArray(e):e}},parsers=[datePicker,hidden,input,slider,timePicker,row,select],PRE="el",alias={button:PRE+"Button",icon:"i",slider:PRE+"Slider",rate:PRE+"Rate",upload:"fcUpload",cascader:PRE+"Cascader",popover:PRE+"Popover",tooltip:PRE+"Tooltip",colorPicker:PRE+"ColorPicker",timePicker:PRE+"TimePicker",timeSelect:PRE+"TimeSelect",datePicker:PRE+"DatePicker",switch:PRE+"Switch",select:"fcSelect",checkbox:"fcCheckbox",radio:"fcRadio",inputNumber:PRE+"InputNumber",number:PRE+"InputNumber",input:PRE+"Input",formItem:PRE+"FormItem",form:PRE+"Form",frame:"fcFrame",col:PRE+"Col",row:PRE+"Row",tree:"fcTree",autoComplete:PRE+"Autocomplete",auto:PRE+"Autocomplete",group:"fcGroup",object:"fcSubForm",subForm:"fcSubForm"};function getConfig(){return{form:{inline:!1,labelPosition:"right",labelWidth:"125px",disabled:!1,size:void 0},row:{show:!0,gutter:0},submitBtn:{type:"primary",loading:!1,disabled:!1,innerText:"提交",show:!0,col:void 0,click:void 0},resetBtn:{type:"default",loading:!1,disabled:!1,icon:"el-icon-refresh",innerText:"重置",show:!1,col:void 0,click:void 0}}}function isTooltip(e){return"tooltip"===e.type}var upperCaseReg=/[A-Z]/;function isAttr(e,t){return!upperCaseReg.test(e)&&(is.String(t)||is.Number(t))}function tidy(e,t){var n;hasProperty(e,t)&&(is.String(e[t])&&(e[t]=(_defineProperty(n={},t,e[t]),_defineProperty(n,"show",!0),n)))}function isFalse(e){return!1===e}function tidyBool(e,t){hasProperty(e,t)&&!is.Object(e[t])&&(e[t]={show:!!e[t]})}var manager={validate:function(e){this.form().validate(e)},validateField:function(e,t){this.form().validateField(e,t)},clearValidateState:function(e){var t=this.vm.$refs[e.wrapRef];t&&(t.validateMessage="",t.validateState="")},tidyOptions:function(e){return["submitBtn","resetBtn","row","info","wrap","col"].forEach(function(t){tidyBool(e,t)}),e},tidyRule:function(e){var t=e.prop;return tidy(t,"title"),tidy(t,"info"),t},mergeProp:function(e){var t=e.prop.props;e.prop=mergeProps([{attrs:Object.keys(t).reduce(function(e,n){return isAttr(n,t[n])&&(e[n]=t[n]),e},{}),info:this.options.info||{},wrap:this.options.wrap||{},col:this.options.col||{}},e.prop],{info:{trigger:"hover",placement:"top-start",icon:"el-icon-warning"},title:{},col:{span:24},wrap:{}},{normal:["title","info","col","wrap"]})},getDefaultOptions:function(){return getConfig()},update:function(){var e=this.options.form;this.rule={props:_objectSpread2({},e),nativeOn:{submit:function(e){e.preventDefault()}},class:[e.className,e.class,"form-create"],style:e.style,type:"form"}},beforeRender:function(){var e=this.key,t=this.ref,n=this.$handle;extend(this.rule,{key:e,ref:t}),extend(this.rule.props,{model:n.formData,rules:n.validate()})},render:function(e){return e.length&&e.push(this.makeFormBtn()),this.$r(this.rule,isFalse(this.options.row.show)?e:[this.makeRow(e)])},makeWrap:function(e,t){var n=e.prop,r="".concat(this.key).concat(e.key),i=n.col,o=this.isTitle(n),a=i.labelWidth||o?i.labelWidth:0,s=this.rule.props,u=s.inline,c=s.col,l=isFalse(n.wrap.show)?t:this.$r(mergeProps([n.wrap,{props:_objectSpread2(_objectSpread2({label:n.title.title,labelWidth:void 0===a?a:toString(a)},n.wrap||{}),{},{prop:e.field,rules:n.validate}),class:n.className,key:"".concat(r,"fi"),ref:e.wrapRef,type:"formItem"}]),[t,o?this.makeInfo(n,r):null]);return!0===u||isFalse(c)||isFalse(i.show)?l:this.makeCol(n,r,[l])},isTitle:function(e){var t=e.title;return!(!t.title&&!t.native||isFalse(t.show))},makeInfo:function(e,t){var n=this,r=e.title,i=e.info,o=isTooltip(i),a=[r.title],s=function(e){return n.$r(mergeProps([r,{props:r,slot:r.slot||(e?o?"default":"reference":"label"),key:"".concat(t,"tit"),type:r.type||"span"}]),a)};if(!isFalse(i.show)&&(i.info||i.native)){!1!==i.icon&&a["left"!==i.align?"unshift":"push"](this.$r({type:"i",class:!0===i.icon?"el-icon-warning":i.icon,key:"".concat(t,"i")}));var u={type:i.type||"popover",props:_objectSpread2({},i),key:"".concat(t,"pop"),slot:"label"};return i.info&&!hasProperty(u.props,"content")&&(u.props.content=i.info),this.$r(mergeProps([i,u]),[s(!0)])}return s()},makeCol:function(e,t,n){var r=e.col;return this.$r({class:r.class,type:"col",props:r||{span:24},key:"".concat(t,"col")},n)},makeRow:function(e){var t=this.options.row||{};return this.$r({type:"row",props:t,class:t.class,key:"".concat(this.key,"row")},e)},makeFormBtn:function(){var e=[];if(isFalse(this.options.submitBtn.show)||e.push(this.makeSubmitBtn()),isFalse(this.options.resetBtn.show)||e.push(this.makeResetBtn()),e.length){var t=this.$r({type:"formItem",key:"".concat(this.key,"fb")},e);return!0===this.rule.props.inline?t:this.$r({type:"col",props:{span:24},key:"".concat(this.key,"fc")},[t])}},makeResetBtn:function(){var e=this,t=this.options.resetBtn;return this.$r({type:"button",props:t,style:{width:t.width},on:{click:function(){var n=e.$handle.api;t.click?t.click(n):n.resetFields()}},key:"".concat(this.key,"b2")},[t.innerText])},makeSubmitBtn:function(){var e=this,t=this.options.submitBtn;return this.$r({type:"button",props:t,style:{width:t.width},on:{click:function(){var n=e.$handle.api;t.click?t.click(n):n.submit()}},key:"".concat(this.key,"b1")},[t.innerText])}},maker={};function useAlias(e){["group","tree","switch","upload","autoComplete","checkbox","cascader","colorPicker","datePicker","frame","inputNumber","radio","rate"].forEach(function(t){e[t]=creatorFactory(t)}),e.auto=e.autoComplete,e.number=e.inputNumber,e.color=e.colorPicker}function useSelect(e){e.selectMultiple=creatorFactory("select",_defineProperty({},"multiple",!0)),e.selectOne=creatorFactory("select",_defineProperty({},"multiple",!1))}function useTree(e){var t={treeSelected:"selected",treeChecked:"checked"};Object.keys(t).reduce(function(e,n){return e[n]=creatorFactory("tree",{type:t[n]}),e},e)}function useUpload(e){var t={image:["image",0],file:["file",0],uploadFileOne:["file",1],uploadImageOne:["image",1]};Object.keys(t).reduce(function(e,n){return e[n]=creatorFactory("upload",function(e){return e.props({uploadType:t[n][0],maxLength:t[n][1]})}),e},e),e.uploadImage=e.image,e.uploadFile=e.file}function useFrame(e){var t={frameInputs:["input",0],frameFiles:["file",0],frameImages:["image",0],frameInputOne:["input",1],frameFileOne:["file",1],frameImageOne:["image",1]};return Object.keys(t).reduce(function(e,n){return e[n]=creatorFactory("frame",function(e){return e.props({type:t[n][0],maxLength:t[n][1]})}),e},e),e.frameInput=e.frameInputs,e.frameFile=e.frameFiles,e.frameImage=e.frameImages,e}useAlias(maker),useSelect(maker),useTree(maker),useUpload(maker),useFrame(maker);var css_248z$2=".form-create .form-create .el-form-item {\n margin-bottom: 22px;\n}\n\n.form-create .form-create .el-form-item .el-form-item {\n margin-bottom: 0px;\n}\n";function tidyBtnProp(e,t){return is.Boolean(e)?e={show:e}:is.Undef(e)||is.Object(e)||(e={show:t}),e}function extendApi(e,t){return extend(e,{validate:function(n){var r,i=e.children,o=i.length,a=function(){t.$manager.validate(function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t[0]&&r||(r=t),n.apply(void 0,_toConsumableArray(r))})};i.forEach(function(e){e.validate(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){setTimeout(function(){e[0]||r||(r=e),--o||a()})}(t)})}),o||a()},validateField:function(e,n){if(t.fieldCtx[e]){var r,i=t.subForm[e],o=0,a=function(){t.$manager.validateField(e,function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];if(t[0])r=t;else if(r)return n("子表单验证未通过",r[1]);n.apply(void 0,_toConsumableArray(r||t))})};i&&toArray(i).forEach(function(e){o++,e.validate(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){setTimeout(function(){e[0]||r||(r=e),--o||a()})}(t)})}),o||a()}},clearValidateState:function(n){var r=this,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.helper.tidyFields(n).forEach(function(e){i&&r.clearSubValidateState(e);var n=t.fieldCtx[e];n&&t.$manager.clearValidateState(n)})},clearSubValidateState:function(n){e.helper.tidyFields(n).forEach(function(e){var n=t.subForm[e];n&&(Array.isArray(n)?n.forEach(function(e){e.clearValidateState()}):n&&n.clearValidateState())})},btn:{loading:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e.submitBtnProps({loading:!!t})},disabled:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e.submitBtnProps({disabled:!!t})},show:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e.submitBtnProps({show:!!t})}},resetBtn:{loading:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e.resetBtnProps({loading:!!t})},disabled:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e.resetBtnProps({disabled:!!t})},show:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e.resetBtnProps({show:!!t})}},submitBtnProps:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=tidyBtnProp(t.options.submitBtn,!0);extend(r,n),t.options.submitBtn=r,e.refreshOptions()},resetBtnProps:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=tidyBtnProp(t.options.resetBtn,!1);extend(r,n),t.options.resetBtn=r,e.refreshOptions()},submit:function(n,r){var i=arguments,o=this;e.validate(function(a){if(a){var s=e.formData();is.Function(n)?invoke(function(){return n(s,o)}):(is.Function(t.options.onSubmit)&&invoke(function(){return t.options.onSubmit(s,o)}),t.vm.$emit("submit",s,o))}else is.Function(r)&&invoke(function(){return r.apply(void 0,[o].concat(_toConsumableArray(i)))})})}}),e}function install(e){e.componentAlias(alias),components.forEach(function(t){e.component(t.name,t)}),parsers.forEach(function(t){e.parser(t)}),Object.keys(maker).forEach(function(t){e.maker[t]=maker[t]})}function elmFormCreate(){return FormCreateFactory({ui:"".concat("element-ui"),version:"".concat("2.5.4"),manager:manager,extendApi:extendApi,install:install,attrs:{normal:["col","wrap"],array:["className"],key:["title","info"]}})}styleInject(css_248z$2);var FormCreate=elmFormCreate();"undefined"!=typeof window&&(window.formCreate=FormCreate,window.Vue&&FormCreate.install(window.Vue));var maker$1=FormCreate.maker;exports.default=FormCreate,exports.maker=maker$1,Object.defineProperty(exports,"__esModule",{value:!0})});
8//# sourceMappingURL=form-create.min.js.map