Files
PandaX/resource/form/js/app.171a3cfd.js
2021-12-30 18:45:32 +08:00

1 line
61 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(e){function t(t){for(var l,r,o=t[0],c=t[1],u=t[2],p=0,d=[];p<o.length;p++)r=o[p],Object.prototype.hasOwnProperty.call(a,r)&&a[r]&&d.push(a[r][0]),a[r]=0;for(l in c)Object.prototype.hasOwnProperty.call(c,l)&&(e[l]=c[l]);s&&s(t);while(d.length)d.shift()();return n.push.apply(n,u||[]),i()}function i(){for(var e,t=0;t<n.length;t++){for(var i=n[t],l=!0,o=1;o<i.length;o++){var c=i[o];0!==a[c]&&(l=!1)}l&&(n.splice(t--,1),e=r(r.s=i[0]))}return e}var l={},a={app:0},n=[];function r(t){if(l[t])return l[t].exports;var i=l[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=l,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var l in e)r.d(i,l,function(t){return e[t]}.bind(null,l));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="";var o=window["webpackJsonp"]=window["webpackJsonp"]||[],c=o.push.bind(o);o.push=t,o=o.slice();for(var u=0;u<o.length;u++)t(o[u]);var s=c;n.push([0,"chunk-vendors"]),i()})({0:function(e,t,i){e.exports=i("c31f")},"1fd2":function(e,t,i){},"42b1":function(e,t,i){"use strict";i("7204")},"57cc":function(module,__webpack_exports__,__webpack_require__){"use strict";var _form_create_utils_lib_debounce__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("0bee"),_form_create_utils_lib_type__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("e866");function ownKeys(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(i),!0).forEach((function(t){_defineProperty(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}__webpack_exports__["a"]={name:"Fetch",props:{value:[Object,String],to:String},computed:{formValue:function(){var e=this.value;return e?_form_create_utils_lib_type__WEBPACK_IMPORTED_MODULE_1__["a"].String(e)?{action:e}:!e._parse&&e.parse?_objectSpread(_objectSpread({},e),{},{_parse:""+e.parse}):_form_create_utils_lib_type__WEBPACK_IMPORTED_MODULE_1__["a"].Function(e._parse)?_objectSpread(_objectSpread({},e),{},{_parse:""+e._parse}):e:{}}},data:function(){var e=this;return{api:{},fetch:{},option:{form:{labelPosition:"right",size:"mini",labelWidth:"90px"},submitBtn:!1},rule:[{type:"input",field:"action",title:"接口: ",validate:[{required:!0,message:"请数据接口"}]},{type:"select",field:"method",title:"请求方式: ",value:"GET",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}]},{type:"Struct",field:"data",title:"附带数据: ",value:{},props:{defaultValue:{}}},{type:"Struct",field:"headers",title:"header信息: ",value:{},props:{defaultValue:{}}},{type:"input",field:"_parse",title:"解析函数",info:"解析接口数据,返回组件所需的数据结构",value:"function (res){\n return res.data;\n}",props:{type:"textarea",rows:8},validate:[{validator:function(t,i,l){if(!i)return l();try{e.parseFn(i)}catch(a){return l(!1)}l()},message:"请输入正确的解析函数"}]}]}},methods:{parseFn:function parseFn(v){return eval("(function(){return ".concat(v," })()"))},_input:function(){var e=this;this.api.submit((function(t){t.to=e.to||"options",t._parse&&(t.parse=e.parseFn(t._parse)),e.$emit("input",t)}))},input:Object(_form_create_utils_lib_debounce__WEBPACK_IMPORTED_MODULE_0__["a"])((function(){this._input()}),1500)},mounted:function(){this._input()}}},"5f1c":function(e,t,i){},7204:function(e,t,i){},9914:function(module,__webpack_exports__,__webpack_require__){"use strict";var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("a7be"),codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_0__),codemirror_lib_codemirror__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("56b3"),codemirror_lib_codemirror__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(codemirror_lib_codemirror__WEBPACK_IMPORTED_MODULE_1__),codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("f9d4"),codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_2__),_utils_index__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("ed08"),_form_create_utils_lib_deepextend__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("333c");__webpack_exports__["a"]={name:"Struct",props:{value:[Object,Array],title:{type:String,default:"编辑数据"},defaultValue:{require:!1},validate:Function},data:function(){return{editor:null,visible:!1,err:!1,oldVal:null}},watch:{value:function(){this.load()},visible:function(e){e?this.load():this.err=!1}},methods:{load:function(){var e=this,t=Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__["c"])(this.value?Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__["a"])(Object(_form_create_utils_lib_deepextend__WEBPACK_IMPORTED_MODULE_4__["a"])(this.value)):this.defaultValue);this.oldVal=t,this.$nextTick((function(){e.editor=codemirror_lib_codemirror__WEBPACK_IMPORTED_MODULE_1___default()(e.$refs.editor,{lineNumbers:!0,mode:"javascript",gutters:["CodeMirror-lint-markers"],lint:!0,line:!0,tabSize:2,lineWrapping:!0,value:t||""}),e.editor.on("blur",(function(){e.err=e.editor.state.lint.marked.length>0}))}))},onOk:function onOk(){if(!this.err){var str=this.editor.getValue(),val;try{val=eval("(function (){return "+str+"}())")}catch(e){return void(this.err=" (".concat(e,")"))}this.validate&&!1===this.validate(val)?this.err=!0:(this.visible=!1,Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__["c"])(val,null,2)!==this.oldVal&&this.$emit("input",val))}}}}},"998b":function(e,t,i){},a524:function(e,t,i){},a98e:function(e,t,i){"use strict";i("5f1c")},b0e5:function(e,t,i){"use strict";i("1fd2")},b29b:function(e,t,i){},b6e0:function(e,t,i){"use strict";i("c0b7")},c0b7:function(e,t,i){},c31f:function(e,t,i){"use strict";i.r(t);var l=i("ba4c"),a=i.n(l),n=i("5c96"),r=i.n(n),o=(i("0fae"),i("2295")),c=i.n(o),u=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"app"}},[i("div",{staticClass:"_fc-t-header"},[i("img",{staticClass:"_fc-t-logo",attrs:{src:"https://s3.bmp.ovh/imgs/2021/12/3c6ddcf3877171c9.png"}}),i("div",{staticClass:"_fc-t-name"},[e._v("Panda表单设计器")]),i("div",{staticClass:"_fc-t-menu"},[i("el-button",{attrs:{size:"mini",icon:"fc-icon icon-import"},on:{click:e.setJson}},[e._v(" 导入JSON")]),i("el-button",{attrs:{size:"mini",icon:"fc-icon icon-import"},on:{click:e.setOption}},[e._v(" 导入Options")]),i("el-button",{attrs:{size:"mini",type:"primary"},on:{click:e.showJson}},[e._v("生成JSON")]),i("el-button",{attrs:{size:"mini",type:"success"},on:{click:e.showOption}},[e._v("生成Options")]),i("el-button",{attrs:{size:"mini",type:"danger"},on:{click:e.showTemplate}},[e._v("生成组件")])],1)]),i("fc-designer",{ref:"designer"}),i("el-dialog",{staticClass:"_fc-t-dialog",attrs:{title:e.title[e.type],visible:e.state},on:{"update:visible":function(t){e.state=t}}},[e.state?i("div",{ref:"editor"}):e._e(),e.err?i("span",{staticStyle:{color:"red"}},[e._v("输入内容格式有误!")]):e._e(),e.type>2?i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.state=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.onOk}},[e._v("确 定")])],1):e._e()])],1)},s=[],p=i("4ebc"),d=i.n(p),f=(i("a7be"),i("0dd0"),i("56b3")),h=i.n(f),v=(i("8822"),i("d2de"),i("f9d4"),i("693d8"),i("d5e0"),i("7b00"),i("9eb9"),i("76ae"),i("ba14"),i("e1de"),i("d69f"),i("5bef"),i("e866")),b=["生成规则","表单规则","生成组件","设置生成规则","设置表单规则"],m={name:"app",data:function(){return{state:!1,value:null,title:b,editor:null,err:!1,type:-1}},watch:{state:function(e){e||(this.value=null,this.err=!1)},value:function(){this.load()}},methods:{load:function(){var e,t=this;e=2===this.type?this.value:0===this.type?c.a.toJson(this.value,2):JSON.stringify(this.value,null,2),this.$nextTick((function(){t.editor=h()(t.$refs.editor,{lineNumbers:!0,mode:2===t.type?{name:"vue"}:"application/json",gutters:["CodeMirror-lint-markers"],lint:!0,line:!0,tabSize:2,lineWrapping:!0,value:e||""}),t.editor.on("blur",(function(){t.err=t.editor.state.lint.marked.length>0}))}))},onValidationError:function(e){this.err=0!==e.length},showJson:function(){this.state=!0,this.type=0,this.value=this.$refs.designer.getRule()},showOption:function(){this.state=!0,this.type=1,this.value=this.$refs.designer.getOption()},showTemplate:function(){this.state=!0,this.type=2,this.value=this.makeTemplate()},setJson:function(){this.state=!0,this.type=3,this.value=[]},setOption:function(){this.state=!0,this.type=4,this.value={form:{}}},onOk:function(){if(!this.err){var e=this.editor.getValue(),t=JSON.parse(e);if(3===this.type){if(!Array.isArray(t))return void(this.err=!0);this.$refs.designer.setRule(c.a.parseJson(e))}else{if(!v["a"].Object(t)||!t.form)return void(this.err=!0);this.$refs.designer.setOption(t)}this.state=!1}},makeTemplate:function(){var e=this.$refs.designer.getRule(),t=this.$refs.designer.getOption();return'<template>\n <div id="app">\n <form-create v-model:api="state.fApi" :rule="state.rule" :option="state.option" :v-model="state.value" @submit="onSubmit"></form-create>\n </div>\n</template>\n\n<script setup lang="ts">\n import {reactive} from \'vue\'\n const state = reactive({\n // 遮罩层\n fApi: null,\n value: {},\n // 弹出层标题\n rule: '.concat(c.a.toJson(e).replaceAll("\\","\\\\"),",\n //组件参数配置\n option: ").concat(JSON.stringify(t),'\n });\n const onSubmit = (formData:any)=> {\n console.log(formData)\n }\n\n<\/script>\n\n<style lang="scss">\n\n</style>')}},beforeCreate:function(){window.jsonlint=d.a}},y=m,_=(i("42b1"),i("2877")),g=Object(_["a"])(y,u,s,!1,null,null,null),w=g.exports,O=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ElContainer",{staticClass:"_fc-designer",style:"height:"+e.height_},[i("ElMain",[i("ElContainer",{staticStyle:{height:"100%"}},[i("el-aside",{staticClass:"_fc-l",attrs:{width:"266px"}},[e._l(e.menuList,(function(t,l){return[i("div",{key:l,staticClass:"_fc-l-group"},[i("h4",{staticClass:"_fc-l-title"},[e._v(e._s(t.title))]),i("draggable",{attrs:{group:{name:"default",pull:"clone",put:!1},sort:!1,list:t.list}},e._l(t.list,(function(t,l){return i("div",{key:l,staticClass:"_fc-l-item"},[i("div",{staticClass:"_fc-l-icon"},[i("i",{staticClass:"fc-icon",class:t.icon||"icon-input"})]),i("span",{staticClass:"_fc-l-name"},[e._v(e._s(t.label))])])})),0)],1)]}))],2),i("ElContainer",{staticClass:"_fc-m"},[i("el-header",{staticClass:"_fc-m-tools",attrs:{height:"45"}},[e._t("handle"),i("el-button",{attrs:{type:"primary",icon:"fc-icon icon-preview",plain:"",round:"",size:"mini"},on:{click:e.previewFc}},[e._v("预 览 ")]),i("el-button",{attrs:{type:"danger",icon:"fc-icon icon-delete",plain:"",round:"",size:"mini"},on:{click:e.clearDragRule}},[e._v("清 空 ")])],2),i("ElMain",{staticStyle:{background:"#F5F5F5",padding:"20px"}},[i("div",{staticClass:"_fc-m-drag"},[i("FormCreate",{attrs:{rule:e.dragForm.rule,option:e.form.value},model:{value:e.dragForm.api,callback:function(t){e.$set(e.dragForm,"api",t)},expression:"dragForm.api"}})],1)])],1),i("ElAside",{staticClass:"_fc-r",attrs:{width:"320px"}},[i("ElContainer",{staticStyle:{height:"100%"}},[i("el-header",{staticClass:"_fc-r-tabs",attrs:{height:"40px"}},[e.activeRule?i("div",{staticClass:"_fc-r-tab",class:{active:"props"===e.activeTab},on:{click:function(t){e.activeTab="props"}}},[e._v("组件配置 ")]):e._e(),i("div",{staticClass:"_fc-r-tab",class:{active:"form"===e.activeTab&&!!e.activeRule},on:{click:function(t){e.activeTab="form"}}},[e._v("表单配置 ")])]),i("ElMain",{directives:[{name:"show",rawName:"v-show",value:"form"===e.activeTab,expression:"activeTab==='form'"}]},[i("FormCreate",{attrs:{rule:e.form.rule,option:e.form.option,value:e.form.value.form},on:{"update:value":function(t){return e.$set(e.form.value,"form",t)}}})],1),i("ElMain",{directives:[{name:"show",rawName:"v-show",value:"props"===e.activeTab,expression:"activeTab==='props'"}],key:e.activeRule?e.activeRule._id:"",staticStyle:{padding:"0 20px"}},[i("div",[e.showBaseRule?i("ElDivider",[e._v("基础配置")]):e._e(),i("FormCreate",{directives:[{name:"show",rawName:"v-show",value:e.showBaseRule,expression:"showBaseRule"}],attrs:{rule:e.baseForm.rule,option:e.baseForm.options},on:{change:e.baseChange},model:{value:e.baseForm.api,callback:function(t){e.$set(e.baseForm,"api",t)},expression:"baseForm.api"}}),i("ElDivider",[e._v("属性配置")]),i("FormCreate",{attrs:{rule:e.propsForm.rule,option:e.propsForm.options},on:{change:e.propChange,removeField:e.propRemoveField},model:{value:e.propsForm.api,callback:function(t){e.$set(e.propsForm,"api",t)},expression:"propsForm.api"}}),e.showBaseRule?i("ElDivider",[e._v("验证规则")]):e._e(),i("FormCreate",{directives:[{name:"show",rawName:"v-show",value:e.showBaseRule,expression:"showBaseRule"}],attrs:{rule:e.validateForm.rule,option:e.validateForm.options},on:{"update:value":e.validateChange},model:{value:e.validateForm.api,callback:function(t){e.$set(e.validateForm,"api",t)},expression:"validateForm.api"}})],1)])],1)],1),i("ElDialog",{attrs:{visible:e.preview.state,width:"800px","append-to-body":""},on:{"update:visible":function(t){return e.$set(e.preview,"state",t)}}},[e.preview.state?i("FormCreate",{attrs:{rule:e.preview.rule,option:e.preview.option}}):e._e()],1)],1)],1)],1)},x=[];function j(){return[{type:"radio",field:"labelPosition",value:"left",title:"标签位置",options:[{value:"right",label:"right"},{value:"left",label:"left"},{value:"top",label:"top"}]},{type:"radio",field:"size",value:"mini",title:"标签位置",options:[{value:"medium",label:"medium"},{value:"small",label:"small"},{value:"mini",label:"mini"}]},{type:"input",field:"labelWidth",value:"125px",title:"标签宽度"},{type:"switch",field:"hideRequiredAsterisk",value:!1,title:"隐藏必填字段的标签旁边的红色星号"},{type:"switch",field:"showMessage",value:!0,title:"显示校验错误信息"},{type:"switch",field:"inlineMessage",value:!1,title:"以行内形式展示校验信息"}]}function R(){return[{type:"input",field:"field",value:"",title:"字段 ID"},{type:"input",field:"title",value:"",title:"字段名称"},{type:"input",field:"info",value:"",title:"提示信息"},{type:"Struct",field:"_control",value:[],title:"联动数据",props:{defaultValue:[],validate:function(e){return!!Array.isArray(e)&&(!e.length||!e.some((function(e){var t=e.rule;return!Array.isArray(t)})))}}},{type:"col",props:{span:24},children:[{type:"el-button",props:{type:"primary",size:"mini",icon:"el-icon-delete"},inject:!0,on:{click:function(e){var t=e.$f,i=t.activeRule;i&&(i.__fc__.updateKey(),i.value=void 0,i.__fc__.$api.sync(i))}},native:!0,children:["清空值"]},{type:"el-button",props:{type:"success",size:"mini",icon:"el-icon-refresh"},inject:!0,on:{click:function(e){var t=e.$f,i=t.activeRule;i&&(i.__fc__.updateKey(!0),i.__fc__.$api.sync(i))}},native:!0,children:["刷新"]}]}]}function k(){return[{type:"validate",field:"validate",value:[]}]}var C,P=i("333c"),E=i("73d6"),D=i("39f5"),S=i("ed08"),T="单选框",F="radio",A={icon:"icon-radio",label:T,name:F,rule:function(){return{type:F,field:Object(D["a"])(),title:T,info:"",effect:{fetch:""},props:{},options:[{value:"1",label:"选项1"},{value:"2",label:"选项2"}]}},props:function(){return[Object(S["b"])("options"),{type:"switch",field:"disabled",title:"是否禁用"},{type:"switch",field:"type",title:"按钮形式",props:{activeValue:"button",inactiveValue:"default"}},{type:"input",field:"textColor",title:"按钮形式的 Radio 激活时的文本颜色"},{type:"input",field:"fill",title:"按钮形式的 Radio 激活时的填充色和边框色"}]}},M="多选框",B="checkbox",I={icon:"icon-checkbox",label:M,name:B,rule:function(){return{type:B,field:Object(D["a"])(),title:M,info:"",effect:{fetch:""},props:{},options:[{value:"1",label:"选项1"},{value:"2",label:"选项2"}]}},props:function(){return[Object(S["b"])("options"),{type:"switch",field:"type",title:"按钮类型",props:{activeValue:"button",inactiveValue:"default"}},{type:"switch",field:"disabled",title:"是否禁用"},{type:"inputNumber",field:"min",title:"可被勾选的 checkbox 的最小数量"},{type:"inputNumber",field:"max",title:"可被勾选的 checkbox 的最大数量"},{type:"input",field:"textColor",title:"按钮形式的 Checkbox 激活时的文本颜色"},{type:"input",field:"fill",title:"按钮形式的 Checkbox 激活时的填充色和边框色"}]}},$="输入框",V="input",L={icon:"icon-input",label:$,name:V,rule:function(){return{type:V,field:Object(D["a"])(),title:$,info:"",props:{}}},props:function(){return[{type:"select",field:"type",title:"类型",options:[{label:"text",value:"text"},{label:"textarea",value:"textarea"},{label:"number",value:"number"},{label:"password",value:"password"}]},{type:"inputNumber",field:"maxlength",title:"最大输入长度"},{type:"inputNumber",field:"minlength",title:"最小输入长度"},{type:"switch",field:"showWordLimit",title:"是否显示输入字数统计"},{type:"input",field:"placeholder",title:"输入框占位文本"},{type:"switch",field:"clearable",title:"是否可清空"},{type:"switch",field:"showPassword",title:"是否显示切换密码图标"},{type:"switch",field:"disabled",title:"禁用"},{type:"input",field:"prefixIcon",title:"输入框头部图标"},{type:"input",field:"suffixIcon",title:"输入框尾部图标"},{type:"inputNumber",field:"rows",info:'只对 type="textarea" 有效',title:"输入框行数"},{type:"select",field:"autocomplete",title:"自动补全",options:[{label:"on",value:"on"},{label:"off",value:"off"}]},{type:"switch",field:"readonly",title:"是否只读"},{type:"select",field:"resize",title:"控制是否能被用户缩放",options:[{label:"none",value:"none"},{label:"both",value:"both"},{label:"horizontal",value:"horizontal"},{label:"vertical",value:"vertical"}]},{type:"switch",field:"autofocus",title:"自动获取焦点"}]}},N="计数器",z="inputNumber",K={icon:"icon-number",label:N,name:z,rule:function(){return{type:z,field:Object(D["a"])(),title:N,info:"",props:{}}},props:function(){return[{type:"inputNumber",field:"min",title:"设置计数器允许的最小值"},{type:"inputNumber",field:"max",title:"设置计数器允许的最大值"},{type:"inputNumber",field:"step",title:"计数器步长"},{type:"switch",field:"stepStrictly",title:"是否只能输入 step 的倍数"},{type:"switch",field:"disabled",title:"是否禁用计数器"},{type:"switch",field:"controls",title:"是否使用控制按钮",value:!0},{type:"select",field:"controlsPosition",title:"控制按钮位置",options:[{label:"default",value:"default"},{label:"right",value:"right"}]},{type:"input",field:"placeholder",title:"输入框默认 placeholder"}]}},U="选择器",W="select",q={icon:"icon-select",label:U,name:W,rule:function(){return{type:W,field:Object(D["a"])(),title:U,info:"",effect:{fetch:""},props:{},options:[{value:"1",label:"选项1"},{value:"2",label:"选项2"}]}},props:function(){return[Object(S["b"])("options"),{type:"switch",field:"multiple",title:"是否多选"},{type:"switch",field:"disabled",title:"是否禁用"},{type:"switch",field:"clearable",title:"是否可以清空选项"},{type:"switch",field:"collapseTags",title:"多选时是否将选中值按文字的形式展示"},{type:"inputNumber",field:"multipleLimit",title:"多选时用户最多可以选择的项目数,为 0 则不限制"},{type:"input",field:"autocomplete",title:"autocomplete 属性"},{type:"input",field:"placeholder",title:"占位符"},{type:"switch",field:"filterable",title:"是否可搜索"},{type:"switch",field:"allowCreate",title:"是否允许用户创建新条目"},{type:"input",field:"noMatchText",title:"搜索条件无匹配时显示的文字"},{type:"input",field:"noDataText",title:"选项为空时显示的文字"},{type:"switch",field:"reserveKeyword",title:"多选且可搜索时,是否在选中一个选项后保留当前的搜索关键词"},{type:"switch",field:"defaultFirstOption",title:"在输入框按下回车,选择第一个匹配项"},{type:"switch",field:"popperAppendToBody",title:"是否将弹出框插入至 body 元素",value:!0},{type:"switch",field:"automaticDropdown",title:"对于不可搜索的 Select是否在输入框获得焦点后自动弹出选项菜单"}]}},J="开关",G="switch",H={icon:"icon-switch",label:J,name:G,rule:function(){return{type:G,field:Object(D["a"])(),title:J,info:"",props:{}}},props:function(){return[{type:"switch",field:"disabled",title:"是否禁用"},{type:"inputNumber",field:"width",title:"宽度px"},{type:"input",field:"activeText",title:"switch 打开时的文字描述"},{type:"input",field:"inactiveText",title:"switch 关闭时的文字描述"},{type:"input",field:"activeValue",title:"switch 打开时的值"},{type:"input",field:"inactiveValue",title:"switch 关闭时的值"},{type:"input",field:"activeColor",title:"switch 打开时的背景色"},{type:"input",field:"inactiveColor",title:"switch 关闭时的背景色"}]}},Z="滑块",Q="slider",X={icon:"icon-slider",label:Z,name:Q,rule:function(){return{type:Q,field:Object(D["a"])(),title:Z,info:"",props:{}}},props:function(){return[{type:"inputNumber",field:"min",title:"最小值"},{type:"inputNumber",field:"max",title:"最大值"},{type:"switch",field:"disabled",title:"是否禁用"},{type:"inputNumber",field:"step",title:"步长"},{type:"switch",field:"showInput",title:"是否显示输入框,仅在非范围选择时有效"},{type:"switch",field:"showInputControls",title:"在显示输入框的情况下,是否显示输入框的控制按钮",value:!0},{type:"switch",field:"showStops",title:"是否显示间断点"},{type:"switch",field:"range",title:"是否为范围选择"},{type:"switch",field:"vertical",title:"是否竖向模式"},{type:"input",field:"height",title:"Slider 高度,竖向模式时必填"}]}},Y="时间选择器",ee="timePicker",te={icon:"icon-time",label:Y,name:ee,rule:function(){return{type:ee,field:Object(D["a"])(),title:Y,info:"",props:{}}},props:function(){return[{type:"Struct",field:"pickerOptions",title:"当前时间日期选择器特有的选项",props:{defaultValue:{}}},{type:"switch",field:"readonly",title:"完全只读"},{type:"switch",field:"disabled",title:"禁用"},{type:"switch",field:"editable",title:"文本框可输入",value:!0},{type:"switch",field:"clearable",title:"是否显示清除按钮",value:!0},{type:"input",field:"placeholder",title:"非范围选择时的占位内容"},{type:"input",field:"startPlaceholder",title:"范围选择时开始日期的占位内容"},{type:"input",field:"endPlaceholder",title:"范围选择时开始日期的占位内容"},{type:"switch",field:"isRange",title:"是否为时间范围选择"},{type:"switch",field:"arrowControl",title:"是否使用箭头进行时间选择"},{type:"select",field:"align",title:"对齐方式",options:[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}]},{type:"input",field:"prefixIcon",title:"自定义头部图标的类名"},{type:"input",field:"clearIcon",title:"自定义清空图标的类名"}]}},ie="日期选择器",le="datePicker",ae={icon:"icon-date",label:ie,name:le,rule:function(){return{type:le,field:Object(D["a"])(),title:ie,info:"",props:{}}},props:function(){return[{type:"Struct",field:"pickerOptions",title:"当前时间日期选择器特有的选项",props:{defaultValue:{}}},{type:"switch",field:"readonly",title:"完全只读"},{type:"switch",field:"disabled",title:"禁用"},{type:"select",field:"type",title:"显示类型",options:[{label:"year",value:"year"},{label:"month",value:"month"},{label:"date",value:"date"},{label:"dates",value:"dates"},{label:"week",value:"week"},{label:"datetime",value:"datetime"},{label:"datetimerange",value:"datetimerange"},{label:"daterange",value:"daterange"},{label:"monthrange",value:"monthrange"}]},{type:"switch",field:"editable",title:"文本框可输入",value:!0},{type:"switch",field:"clearable",title:"是否显示清除按钮",value:!0},{type:"input",field:"placeholder",title:"非范围选择时的占位内容"},{type:"input",field:"startPlaceholder",title:"范围选择时开始日期的占位内容"},{type:"input",field:"endPlaceholder",title:"范围选择时结束日期的占位内容"},{type:"input",field:"format",title:"显示在输入框中的格式"},{type:"select",field:"align",title:"对齐方式",options:[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"},{label:"left",value:"left"}]},{type:"input",field:"rangeSeparator",title:"选择范围时的分隔符"},{type:"switch",field:"unlinkPanels",title:"在范围选择器里取消两个日期面板之间的联动"},{type:"input",field:"prefixIcon",title:"自定义头部图标的类名"},{type:"input",field:"clearIcon",title:"自定义清空图标的类名"}]}},ne="评分",re="rate",oe={icon:"icon-rate",label:ne,name:re,rule:function(){return{type:re,field:Object(D["a"])(),title:ne,info:"",props:{}}},props:function(){return[{type:"inputNumber",field:"max",title:"最大分值"},{type:"switch",field:"disabled",title:"是否为只读"},{type:"switch",field:"allowHalf",title:"是否允许半选"},{type:"input",field:"voidColor",title:"未选中 icon 的颜色"},{type:"input",field:"disabledVoidColor",title:"只读时未选中 icon 的颜色"},{type:"input",field:"voidIconClass",title:"未选中 icon 的类名"},{type:"input",field:"disabledVoidIconClass",title:"只读时未选中 icon 的类名"},{type:"switch",field:"showScore",title:"是否显示当前分数show-score 和 show-text 不能同时为真"},{type:"input",field:"textColor",title:"辅助文字的颜色"},{type:"input",field:"scoreTemplate",title:"分数显示模板"}]}},ce="颜色选择器",ue="colorPicker",se={icon:"icon-color",label:ce,name:ue,rule:function(){return{type:ue,field:Object(D["a"])(),title:ce,info:"",props:{}}},props:function(){return[{type:"switch",field:"disabled",title:"是否禁用"},{type:"switch",field:"showAlpha",title:"是否支持透明度选择"},{type:"select",field:"colorFormat",title:"颜色的格式",options:[{label:"hsl",value:"hsl"},{label:"hsv",value:"hsv"},{label:"hex",value:"hex"},{label:"rgb",value:"rgb"}]}]}},pe="栅格布局",de="row",fe={icon:"icon-row",label:pe,name:de,rule:function(){return{type:"FcRow",props:{},children:[]}},children:"col",props:function(){return[{type:"inputNumber",field:"gutter",title:"栅格间隔"},{type:"switch",field:"type",title:"flex布局模式",props:{activeValue:"flex",inactiveValue:"default"}},{type:"select",field:"justify",title:"flex 布局下的水平排列方式",options:[{label:"start",value:"start"},{label:"end",value:"end"},{label:"center",value:"center"},{label:"space-around",value:"space-around"},{label:"space-between",value:"space-between"}]},{type:"select",field:"align",title:"flex 布局下的垂直排列方式",options:[{label:"top",value:"top"},{label:"middle",value:"middle"},{label:"bottom",value:"bottom"}]}]}},he="col",ve={name:he,drag:!0,dragBtn:!1,inside:!0,rule:function(){return{type:he,props:{span:12},children:[]}},props:function(){return[{type:"slider",field:"span",title:"栅格占据的列数",value:12,props:{min:0,max:24}},{type:"slider",field:"offset",title:"栅格左侧的间隔格数",props:{min:0,max:24}},{type:"slider",field:"push",title:"栅格向右移动格数",props:{min:0,max:24}},{type:"slider",field:"pull",title:"栅格向左移动格数",props:{min:0,max:24}}]}},be="标签页",me="tab-pane",ye={label:be,name:me,inside:!0,drag:!0,dragBtn:!1,rule:function(){return{type:"el-tab-pane",props:{label:"新标签页"},children:[]}},props:function(){return[{type:"input",field:"label",title:"选项卡标题"},{type:"switch",field:"disabled",title:"是否禁用"},{type:"input",field:"name",title:"与选项卡绑定值 value 对应的标识符,表示选项卡别名"},{type:"switch",field:"lazy",title:"标签是否延迟渲染"}]}},_e="分割线",ge="el-divider",we={icon:"icon-divider",label:_e,name:ge,rule:function(){return{type:ge,props:{},wrap:{show:!1},native:!1,children:[""]}},props:function(){return[{type:"select",field:"direction",title:"设置分割线方向",options:[{label:"horizontal",value:"horizontal"},{label:"vertical",value:"vertical"}]},{type:"input",field:"formCreateChild",title:"设置分割线文案"},{type:"select",field:"contentPosition",title:"设置分割线文案的位置",options:[{label:"left",value:"left"},{label:"right",value:"right"},{label:"center",value:"center"}]}]}},Oe="级联选择器",xe="cascader",je={icon:"icon-cascader",label:Oe,name:xe,rule:function(){return{type:xe,field:Object(D["a"])(),title:Oe,info:"",effect:{fetch:""},props:{options:[{value:"zhinan",label:"指南",children:[{value:"shejiyuanze",label:"设计原则",children:[{value:"yizhi",label:"一致"},{value:"fankui",label:"反馈"},{value:"xiaolv",label:"效率"},{value:"kekong",label:"可控"}]},{value:"daohang",label:"导航",children:[{value:"cexiangdaohang",label:"侧向导航"},{value:"dingbudaohang",label:"顶部导航"}]}]},{value:"zujian",label:"组件",children:[{value:"basic",label:"Basic",children:[{value:"layout",label:"Layout 布局"},{value:"color",label:"Color 色彩"},{value:"typography",label:"Typography 字体"},{value:"icon",label:"Icon 图标"},{value:"button",label:"Button 按钮"}]},{value:"form",label:"Form",children:[{value:"radio",label:"Radio 单选框"},{value:"checkbox",label:"Checkbox 多选框"},{value:"input",label:"Input 输入框"},{value:"input-number",label:"InputNumber 计数器"},{value:"select",label:"Select 选择器"},{value:"cascader",label:"Cascader 级联选择器"},{value:"switch",label:"Switch 开关"},{value:"slider",label:"Slider 滑块"},{value:"time-picker",label:"TimePicker 时间选择器"},{value:"date-picker",label:"DatePicker 日期选择器"},{value:"datetime-picker",label:"DateTimePicker 日期时间选择器"},{value:"upload",label:"Upload 上传"},{value:"rate",label:"Rate 评分"},{value:"form",label:"Form 表单"}]}]}]}}},props:function(){return[Object(S["b"])("props.options"),{type:"Object",field:"props",title:"配置选项",props:{rule:[{type:"select",field:"expandTrigger",title:"次级菜单的展开方式",options:[{label:"click",value:"click"},{label:"hover",value:"hover"}]},{type:"switch",field:"multiple",title:"是否多选"},{type:"switch",field:"checkStrictly",title:"是否严格的遵守父子节点不互相关联"},{type:"switch",field:"emitPath",title:"在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组,若设置 false则只返回该节点的值",value:!0},{type:"input",field:"value",title:"指定选项的值为选项对象的某个属性值"},{type:"input",field:"label",title:"指定选项标签为选项对象的某个属性值"},{type:"input",field:"children",title:"指定选项的子选项为选项对象的某个属性值"},{type:"input",field:"disabled",title:"指定选项的禁用为选项对象的某个属性值"},{type:"input",field:"leaf",title:"指定选项的叶子节点的标志位为选项对象的某个属性值"}]}},{type:"select",field:"size",title:"尺寸",options:[{label:"medium",value:"medium"},{label:"small",value:"small"},{label:"mini",value:"mini"}]},{type:"input",field:"placeholder",title:"输入框占位文本"},{type:"switch",field:"disabled",title:"是否禁用"},{type:"switch",field:"clearable",title:"是否支持清空选项"},{type:"switch",field:"showAllLevels",title:"输入框中是否显示选中值的完整路径",value:!0},{type:"switch",field:"collapseTags",title:"多选模式下是否折叠Tag"},{type:"input",field:"separator",title:"选项分隔符"}]}},Re="上传",ke="upload",Ce={icon:"icon-upload",label:Re,name:ke,rule:function(){return{type:ke,field:Object(D["a"])(),title:Re,info:"",props:{action:"",onSuccess:function(e,t){t.url=e.data.url}}}},props:function(){return[{type:"select",field:"uploadType",title:"上传类型",value:"image",options:[{label:"图片",value:"image"},{label:"文件",value:"file"}]},{type:"input",field:"action",title:"上传的地址(必填)"},{type:"Struct",field:"headers",title:"设置上传的请求头部",props:{defaultValue:{}}},{type:"switch",field:"multiple",title:"是否支持多选文件"},{type:"Struct",field:"data",title:"上传时附带的额外参数",props:{defaultValue:{}}},{type:"input",field:"name",title:"上传的文件字段名"},{type:"switch",field:"withCredentials",title:"支持发送 cookie 凭证信息"},{type:"input",field:"accept",title:"接受上传的文件类型thumbnail-mode 模式下此参数无效)"},{type:"switch",field:"autoUpload",title:"是否在选取文件后立即进行上传",value:!0},{type:"switch",field:"disabled",title:"是否禁用"},{type:"inputNumber",field:"limit",title:"最大允许上传个数"}]}},Pe="穿梭框",Ee="el-transfer",De=function(e){for(var t=[],i=1;i<=15;i++)t.push({key:i,label:"备选项 ".concat(i),disabled:i%4===0});return t},Se={icon:"icon-transfer",label:Pe,name:Ee,rule:function(){return{type:Ee,field:Object(D["a"])(),title:Pe,info:"",props:{data:De()}}},props:function(){return[{type:"Struct",field:"data",title:"Transfer 的数据源",props:{defaultValue:[]}},{type:"switch",field:"filterable",title:"是否可搜索"},{type:"input",field:"filterPlaceholder",title:"搜索框占位符"},{type:"select",field:"targetOrder",title:"右侧列表元素的排序策略",info:"若为 original则保持与数据源相同的顺序若为 push则新加入的元素排在最后若为 unshift则新加入的元素排在最前",options:[{label:"original",value:"original"},{label:"push",value:"push"},{label:"unshift",value:"unshift"}]},{type:"Struct",field:"titles",title:"自定义列表标题",props:{defaultValue:[]}},{type:"Struct",field:"buttonTexts",title:"自定义按钮文案",props:{defaultValue:[]}},{type:"Struct",field:"format",title:"列表顶部勾选状态文案",props:{defaultValue:{}}},{type:"Struct",field:"props",title:"数据源的字段别名",props:{defaultValue:{}}},{type:"Struct",field:"leftDefaultChecked",title:"初始状态下左侧列表的已勾选项的 key 数组",props:{defaultValue:[]}},{type:"Struct",field:"rightDefaultChecked",title:"初始状态下右侧列表的已勾选项的 key 数组",props:{defaultValue:[]}}]}},Te="树形控件",Fe="tree",Ae={icon:"icon-tree",label:Te,name:Fe,rule:function(){return{type:Fe,field:Object(D["a"])(),title:Te,info:"",effect:{fetch:""},props:{props:{label:"label"},showCheckbox:!0,nodeKey:"id",data:[{id:1,label:"一级 1",children:[{id:4,label:"二级 1-1",children:[{id:9,label:"三级 1-1-1"},{id:10,label:"三级 1-1-2"}]}]},{id:2,label:"一级 2",children:[{id:5,label:"二级 2-1"},{id:6,label:"二级 2-2"}]},{id:3,label:"一级 3",children:[{id:7,label:"二级 3-1"},{id:8,label:"二级 3-2"}]}]}}},props:function(){return[Object(S["b"])("props.data"),{type:"input",field:"emptyText",title:"内容为空的时候展示的文本"},{type:"Struct",field:"props",title:"配置选项,具体看下表",props:{defaultValue:{}}},{type:"switch",field:"renderAfterExpand",title:"是否在第一次展开某个树节点后才渲染其子节点",value:!0},{type:"switch",field:"defaultExpandAll",title:"是否默认展开所有节点"},{type:"switch",field:"expandOnClickNode",title:"是否在点击节点的时候展开或者收缩节点, 默认值为 true如果为 false则只有点箭头图标的时候才会展开或者收缩节点。",value:!0},{type:"switch",field:"checkOnClickNode",title:"是否在点击节点的时候选中节点,默认值为 false即只有在点击复选框时才会选中节点。"},{type:"switch",field:"autoExpandParent",title:"展开子节点的时候是否自动展开父节点",value:!0},{type:"switch",field:"checkStrictly",title:"在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false"},{type:"switch",field:"accordion",title:"是否每次只打开一个同级树节点展开"},{type:"inputNumber",field:"indent",title:"相邻级节点间的水平缩进,单位为像素"},{type:"input",field:"iconClass",title:"自定义树节点的图标"},{type:"input",field:"nodeKey",title:"每个树节点用来作为唯一标识的属性,整棵树应该是唯一的"}]}},Me="提示",Be="el-alert",Ie={icon:"icon-alert",label:Me,name:Be,rule:function(){return{type:Be,props:{title:"提示",description:"form-create",type:"success",effect:"dark"},children:[]}},props:function(){return[{type:"input",field:"title",title:"标题"},{type:"select",field:"type",title:"主题",options:[{label:"success",value:"success"},{label:"warning",value:"warning"},{label:"info",value:"info"},{label:"error",value:"error"}]},{type:"input",field:"description",title:"辅助性文字"},{type:"switch",field:"closable",title:"是否可关闭",value:!0},{type:"switch",field:"center",title:"文字是否居中",value:!0},{type:"input",field:"closeText",title:"关闭按钮自定义文本"},{type:"switch",field:"showIcon",title:"是否显示图标"},{type:"select",field:"effect",title:"选择提供的主题",options:[{label:"light",value:"light"},{label:"dark",value:"dark"}]}]}},$e="文字",Ve="span",Le={icon:"icon-span",label:$e,name:Ve,rule:function(){return{type:Ve,title:"文字",native:!1,children:["这是一段文字"]}},props:function(){return[{type:"input",field:"formCreateTitle",title:"title"},{type:"input",field:"formCreateChild",title:"内容",props:{type:"textarea"}}]}},Ne="间距",ze="div",Ke={icon:"icon-space",label:Ne,name:ze,rule:function(){return{type:ze,wrap:{show:!1},native:!1,style:{width:"100%",height:"20px"},children:[]}},props:function(){return[{type:"object",field:"formCreateStyle",native:!0,props:{rule:[{type:"input",field:"height",title:"height"}]}}]}},Ue="标签页",We="tab",qe={icon:"icon-tab",label:Ue,name:We,children:"tab-pane",rule:function(){return{type:"el-tabs",children:[]}},props:function(){return[{type:"select",field:"type",title:"风格类型",options:[{label:"default",value:"default"},{label:"card",value:"card"},{label:"border-card",value:"border-card"}]},{type:"switch",field:"closable",title:"标签是否可关闭"},{type:"select",field:"tabPosition",title:"选项卡所在位置",options:[{label:"top",value:"top"},{label:"right",value:"right"},{label:"left",value:"left"}]},{type:"switch",field:"stretch",title:"标签的宽度是否自撑开"}]}},Je="按钮",Ge="el-button",He={icon:"icon-button",label:Je,name:Ge,rule:function(){return{type:Ge,props:{},children:["按钮"]}},props:function(){return[{type:"input",field:"formCreateChild",title:"内容"},{type:"select",field:"size",title:"尺寸",options:[{label:"medium",value:"medium"},{label:"small",value:"small"},{label:"mini",value:"mini"}]},{type:"select",field:"type",title:"类型",options:[{label:"primary",value:"primary"},{label:"success",value:"success"},{label:"warning",value:"warning"},{label:"danger",value:"danger"},{label:"info",value:"info"},{label:"text",value:"text"}]},{type:"switch",field:"plain",title:"是否朴素按钮"},{type:"switch",field:"round",title:"是否圆角按钮"},{type:"switch",field:"circle",title:"是否圆形按钮"},{type:"switch",field:"loading",title:"是否加载中状态"},{type:"switch",field:"disabled",title:"是否禁用状态"},{type:"input",field:"icon",title:"图标类名"}]}},Ze="富文本框",Qe="fc-editor",Xe={icon:"icon-editor",label:Ze,name:Qe,rule:function(){return{type:Qe,field:Object(D["a"])(),title:Ze,info:"",props:{}}},props:function(){return[{type:"switch",field:"disabled",title:"是否禁用"}]}};function Ye(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var et=(C={},Ye(C,A.name,A),Ye(C,I.name,I),Ye(C,L.name,L),Ye(C,K.name,K),Ye(C,q.name,q),Ye(C,H.name,H),Ye(C,X.name,X),Ye(C,te.name,te),Ye(C,ae.name,ae),Ye(C,oe.name,oe),Ye(C,se.name,se),Ye(C,fe.name,fe),Ye(C,ve.name,ve),Ye(C,qe.name,qe),Ye(C,ye.name,ye),Ye(C,we.name,we),Ye(C,je.name,je),Ye(C,Ce.name,Ce),Ye(C,Se.name,Se),Ye(C,Ae.name,Ae),Ye(C,Ie.name,Ie),Ye(C,Le.name,Le),Ye(C,Ke.name,Ke),Ye(C,He.name,He),Ye(C,Xe.name,Xe),C),tt=et,it=i("b76a"),lt=i.n(it);function at(){return[{name:"main",title:"表单组件",list:[L,K,A,I,q,H,te,ae,X,oe,se,je,Ce,Se,Ae,Xe]},{name:"aide",title:"辅助组件",list:[Ie,He,Le,we]},{name:"layout",title:"布局组件",list:[fe,Ke]}]}function nt(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function rt(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(i),!0).forEach((function(t){ot(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):nt(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function ot(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function ct(e){return dt(e)||pt(e)||st(e)||ut()}function ut(){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 st(e,t){if(e){if("string"===typeof e)return ft(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?ft(e,t):void 0}}function pt(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function dt(e){if(Array.isArray(e))return ft(e)}function ft(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,l=new Array(t);i<t;i++)l[i]=e[i];return l}var ht={name:"FcDesigner",components:{draggable:lt.a,FormCreate:c.a.$form()},props:["menu","height","config"],computed:{height_:function(){var e=this.height;return e?v["a"].Number(e)?"".concat(e,"px"):e:"100%"}},provide:function(e){return{fcx:{active:null}}},data:function(){var e=this,t=[];return{cacheProps:{},moveRule:null,addRule:null,added:null,activeTab:"form",activeRule:null,children:t,menuList:this.menu||at(),showBaseRule:!1,visible:{preview:!1},preview:{state:!1,rule:[],option:{}},dragForm:{rule:this.makeDragRule(t),api:{}},form:{rule:j(),option:{form:{labelPosition:"top",size:"mini"},submitBtn:!1},value:{form:{inline:!1,hideRequiredAsterisk:!1,labelPosition:"right",size:"mini",labelWidth:"125px"},submitBtn:!1}},baseForm:{rule:R(),api:{},options:{form:{labelPosition:"top",size:"mini"},submitBtn:!1,mounted:function(t){t.activeRule=e.activeRule,t.setValue(t.options.formData||{})}}},validateForm:{rule:k(),api:{},options:{form:{labelPosition:"top",size:"mini"},submitBtn:!1,mounted:function(t){t.activeRule=e.activeRule,t.setValue(t.options.formData||{})}}},propsForm:{rule:[],api:{},options:{form:{labelPosition:"top",size:"mini"},submitBtn:!1,mounted:function(t){t.activeRule=e.activeRule,t.setValue(t.options.formData||{})}}}}},watch:{"preview.state":function(e){var t=this;e||this.$nextTick((function(){t.preview.rule=t.preview.option=null}))}},methods:{addMenu:function(e){var t=this;if(e.name&&e.list){var i=!0;this.menuList.forEach((function(l,a){l.name===e.name&&(t.$set(t.menuList,a,e),i=!1)})),i&&this.menuList.push(e)}},removeMenu:function(e){var t=this;ct(this.menuList).forEach((function(i,l){i.name===e&&t.menuList.splice(l,1)}))},setMenuItem:function(e,t){this.menuList.forEach((function(i){i.name===e&&(i.list=t)}))},appendMenuItem:function(e,t){this.menuList.forEach((function(i){i.name===e&&i.list.push(t)}))},removeMenuItem:function(e){this.menuList.forEach((function(t){var i;v["a"].String(e)?ct(t.list).forEach((function(i,l){i.name===e&&t.list.splice(l,1)})):(i=t.list.indexOf(e))>-1&&t.list.splice(i,1)}))},addComponent:function(e){Array.isArray(e)?e.forEach((function(e){tt[e.name]=e})):tt[e.name]=e},dragStart:function(e){this.moveRule=e,this.added=!1},dragUnchoose:function(e,t){this.addRule={children:e,oldIndex:t.oldIndex}},getParent:function(e){var t=e.__fc__.parent.rule,i=t.config;return i&&i.config.inside&&(e=t,t=t.__fc__.parent.rule),{root:t,parent:e}},makeDrag:function(e,t,i,l,a){return{type:"DragBox",wrap:{show:!1},col:{show:!1},inject:!0,props:{rule:{props:{tag:"el-col"},attrs:{group:!0===e?"default":e,ghostClass:"ghost",animation:150,handle:"._fc-drag-btn",emptyInsertThreshold:0,direction:"vertical"}},subRule:a||{props:{name:"fade",tag:"div"}},tag:t},children:i,on:l}},clearDragRule:function(){this.setRule([])},makeDragRule:function(e){var t=this;return[this.makeDrag(!0,"draggable",e,{add:function(i,l){return t.dragAdd(e,l)},end:function(i,l){return t.dragEnd(e,l)},start:function(i,l){return t.dragStart(e,l)},unchoose:function(i,l){return t.dragUnchoose(e,l)}},{props:{name:"fade",tag:"div"}})]},previewFc:function(){this.preview.state=!0,this.preview.rule=this.getRule(),this.preview.option=this.getOption()},getRule:function(){return this.parseRule(Object(P["a"])(this.dragForm.api.rule[0].children))},getJson:function(){return c.a.toJson(this.getRule())},getOption:function(){var e=Object(P["a"])(this.form.value);return delete e.submitBtn,e},setRule:function(e){var t=this.loadRule(v["a"].String(e)?c.a.parseJson(e):e);this.children=t,this.clearActiveRule(),this.dragForm.rule=this.makeDragRule(t)},clearActiveRule:function(){this.activeRule=null,this.activeTab="form"},setOption:function(e){var t=e;t.submitBtn=!1,delete t.resetBtn,this.form.value=t},loadRule:function(e){var t=this,i=[];return e.forEach((function(e){if(v["a"].String(e))return i.push(e);var l=tt[e._fc_drag_tag]||tt[e.type],a=e.children;if(e.children=[],e.control&&(e._control=e.control,delete e.control),l){if(e=t.makeRule(l,e),a){var n,r=e.children[0].children;l.drag&&(r=r[0].children),(n=r).push.apply(n,ct(t.loadRule(a)))}}else a&&(e.children=t.loadRule(a));i.push(e)})),i},parseRule:function(e){var t=this;return ct(e).reduce((function(e,i){return v["a"].String(i)?(e.push(i),e):"DragBox"===i.type||"DragTool"===i.type&&(i=i.children[0],"DragBox"===i.type)?(e.push.apply(e,ct(t.parseRule(i.children))),e):i?(i=rt({},i),i.children.length&&(i.children=t.parseRule(i.children)),delete i._id,i.config&&delete i.config.config,i.effect&&(delete i.effect._fc,delete i.effect._fc_tool),i._control&&(i.control=i._control,delete i._control),Object.keys(i).filter((function(e){return Array.isArray(i[e])&&0===i[e].length||v["a"].Object(i[e])&&0===Object.keys(i[e]).length})).forEach((function(e){delete i[e]})),e.push(i),e):e}),[])},baseChange:function(e,t,i,l){this.activeRule&&l[this.activeRule._id]===this.activeRule&&this.$set(this.activeRule,e,t)},propRemoveField:function(e,t,i){if(this.activeRule&&i[this.activeRule._id]===this.activeRule)if(this.dragForm.api.sync(this.activeRule),0===e.indexOf("formCreate")){if(e=e.replace("formCreate",""),!e)return;e=Object(E["a"])(e),0===e.indexOf("effect")&&e.indexOf(">")>-1?this.$delete(this.activeRule.effect,e.split(">")[1]):0===e.indexOf("props")&&e.indexOf(">")>-1?this.$delete(this.activeRule.props,e.split(">")[1]):"child"===e?this.$delete(this.activeRule.children,0):e&&this.$set(this.activeRule,e,void 0)}else this.$delete(this.activeRule.props,e)},propChange:function(e,t,i,l){if(this.activeRule&&l[this.activeRule._id]===this.activeRule)if(0===e.indexOf("formCreate")){if(e=e.replace("formCreate",""),!e)return;e=Object(E["a"])(e),0===e.indexOf("effect")&&e.indexOf(">")>-1?this.$set(this.activeRule.effect,e.split(">")[1],t):0===e.indexOf("props")&&e.indexOf(">")>-1?this.$set(this.activeRule.props,e.split(">")[1],t):"child"===e?this.$set(this.activeRule.children,0,t):this.$set(this.activeRule,e,t)}else this.$set(this.activeRule.props,e,t)},validateChange:function(e){var t=this;this.activeRule&&this.validateForm.api[this.activeRule._id]===this.activeRule&&(this.activeRule.validate=e.validate||[],this.dragForm.api.refreshValidate(),this.dragForm.api.nextTick((function(){t.dragForm.api.clearValidateState(t.activeRule.field)})))},toolActive:function(e){var t=this;this.activeRule&&(delete this.propsForm.api[this.activeRule._id],delete this.baseForm.api[this.activeRule._id],delete this.validateForm.api[this.activeRule._id]),this.activeRule=e,this.$nextTick((function(){t.activeTab="props",t.$nextTick((function(){t.propsForm.api[t.activeRule._id]=t.activeRule,t.baseForm.api[t.activeRule._id]=t.activeRule,t.validateForm.api[t.activeRule._id]=t.activeRule}))})),this.cacheProps[e._id]||(this.cacheProps[e._id]=e.config.config.props()),this.propsForm.rule=this.cacheProps[e._id];var i=rt(rt({},e.props),{},{formCreateChild:e.children[0]});Object.keys(e).forEach((function(t){["effect","config","payload","id","type"].indexOf(t)<0&&(i["formCreate"+Object(S["d"])(t)]=e[t])})),["props","effect"].forEach((function(t){e[t]&&Object.keys(e[t]).forEach((function(l){i["formCreate"+Object(S["d"])(t)+">"+l]=e[t][l]}))})),this.propsForm.options.formData=i,this.showBaseRule=Object(v["b"])(e,"field")&&!1!==e.input,this.showBaseRule&&(this.baseForm.options.formData={field:e.field,title:e.title||"",info:e.info,_control:e._control},this.validateForm.options.formData={validate:e.validate?ct(e.validate):[]})},dragAdd:function(e,t){var i=t.newIndex,l=t.item._underlying_vm_;if(l){var a=this.makeRule(tt[l.name]);e.splice(i,0,a)}else if(this.addRule){var n=this.addRule.children.splice(this.addRule.oldIndex,1);e.splice(i,0,n[0])}this.added=!0},dragEnd:function(e,t){var i=t.newIndex,l=t.oldIndex;if(!this.added&&(this.moveRule!==e||i!==l)){var a=this.moveRule.splice(l,1);e.splice(i,0,a[0])}this.moveRule=null,this.addRule=null,this.added=!1},makeRule:function(e,t){var i,l=this,a=t||e.rule();if(a.config={config:e},a.effect||(a.effect={}),a.effect._fc=!0,a._fc_drag_tag=e.name,e.drag){var n=[];a.children.push(i=this.makeDrag(e.drag,a.type,n,{end:function(e,t){return l.dragEnd(e.self.children,t)},add:function(e,t){return l.dragAdd(e.self.children,t)},start:function(e,t){return l.dragStart(e.self.children,t)},unchoose:function(e,t){return l.dragUnchoose(e.self.children,t)}}))}if(e.children&&!t){var r=this.makeRule(tt[e.children]);(i||a).children.push(r)}return e.inside?(a.children=[{type:"DragTool",props:{dragBtn:!1!==e.dragBtn,children:e.children},effect:{_fc_tool:!0},inject:!0,on:{delete:function(e){var t=e.self;l.getParent(t).parent.__fc__.rm(),l.clearActiveRule()},add:function(e){var t=e.self,i=l.getParent(t);i.root.children.splice(i.root.children.indexOf(i.parent)+1,0,l.makeRule(i.parent.config.config))},addChild:function(e){var t=e.self,i=l.getParent(t),a=i.parent.config.config,n=tt[a.children];n&&(a.drag?i.parent.children[0]:i.parent).children[0].children.push(l.makeRule(n))},copy:function(e){var t=e.self,i=l.getParent(t);i.root.children.splice(i.root.children.indexOf(i.parent)+1,0,c.a.copyRule(i.parent))},active:function(e){var t=e.self;l.toolActive(l.getParent(t).parent)}},children:a.children}],a):{type:"DragTool",props:{dragBtn:!1!==e.dragBtn,children:e.children},effect:{_fc_tool:!0},inject:!0,on:{delete:function(e){var t=e.self;t.__fc__.rm(),l.clearActiveRule()},add:function(e){var t=e.self,i=l.getParent(t);i.root.children.splice(i.root.children.indexOf(i.parent)+1,0,l.makeRule(t.children[0].config.config))},addChild:function(e){var t=e.self,i=t.children[0].config.config,a=tt[i.children];a&&(i.drag?t.children[0]:t).children[0].children.push(l.makeRule(a))},copy:function(e){var t=e.self,i=l.getParent(t);i.root.children.splice(i.root.children.indexOf(i.parent)+1,0,c.a.copyRule(i.parent))},active:function(e){var t=e.self;l.toolActive(t.children[0])}},children:[a]}}},created:function(){document.body.ondrop=function(e){e.preventDefault(),e.stopPropagation()}}},vt=ht,bt=(i("b0e5"),Object(_["a"])(vt,O,x,!1,null,null,null)),mt=bt.exports,yt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"drag-tool",class:{active:e.state.active===e.id},on:{click:function(t){return t.stopPropagation(),e.active(t)}}},[i("div",{staticClass:"drag-l"},[e.state.active===e.id&&!1!==e.dragBtn?i("div",{staticClass:"drag-btn _fc-drag-btn",staticStyle:{cursor:"move"}},[i("i",{staticClass:"fc-icon icon-move"})]):e._e()]),i("div",{staticClass:"drag-r"},[i("div",{staticClass:"drag-btn",on:{click:function(t){return e.$emit("add")}}},[i("i",{staticClass:"fc-icon icon-add"})]),i("div",{staticClass:"drag-btn",on:{click:function(t){return e.$emit("copy")}}},[i("i",{staticClass:"fc-icon icon-copy"})]),e.children?i("div",{staticClass:"drag-btn",on:{click:function(t){return e.$emit("addChild")}}},[i("i",{staticClass:"fc-icon icon-add-child"})]):e._e(),i("div",{staticClass:"drag-btn drag-btn-danger",on:{click:function(t){return e.$emit("delete")}}},[i("i",{staticClass:"fc-icon icon-delete"})])]),e._t("default")],2)},_t=[],gt=1,wt={name:"DragTool",inject:["fcx"],props:["dragBtn","children","unique"],data:function(){return{id:this.unique||gt++,state:this.fcx}},methods:{active:function(){this.state.active!==this.id&&(this.state.active=this.id,this.$emit("active"))}},beforeDestroy:function(){this.state={}}},Ot=wt,xt=(i("b6e0"),Object(_["a"])(Ot,yt,_t,!1,null,null,null)),jt=xt.exports,Rt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"_fc_struct"},[i("ElButton",{staticStyle:{width:"100%"},on:{click:function(t){e.visible=!0}}},[e._v(e._s(e.title))]),i("ElDialog",{attrs:{title:e.title,visible:e.visible,"close-on-click-modal":!1,"append-to-body":""},on:{"update:visible":function(t){e.visible=t}}},[e.visible?i("div",{ref:"editor"}):e._e(),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e.err?i("span",{staticStyle:{color:"red",float:"left","text-align":"left"}},[e._v(" 输入内容格式有误"+e._s(!0!==e.err?e.err:""))]):e._e(),i("ElButton",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("ElButton",{attrs:{type:"primary",size:"small"},on:{click:e.onOk}},[e._v("确 定")])],1)])],1)},kt=[],Ct=i("9914"),Pt=Ct["a"],Et=(i("f3d5"),Object(_["a"])(Pt,Rt,kt,!1,null,null,null)),Dt=Et.exports,St=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"_fc_fetch"},[i("form-create",{attrs:{value:e.formValue,rule:e.rule,option:e.option},on:{change:e.input},model:{value:e.api,callback:function(t){e.api=t},expression:"api"}})],1)},Tt=[],Ft=i("57cc"),At=Ft["a"],Mt=(i("a98e"),Object(_["a"])(At,St,Tt,!1,null,null,null)),Bt=Mt.exports,It=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("form-create",{staticClass:"_fc-validate",attrs:{rule:e.rule,option:e.option,value:e.formValue},on:{"update:value":e.onInput}})},$t=[];function Vt(e){return Kt(e)||zt(e)||Nt(e)||Lt()}function Lt(){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 Nt(e,t){if(e){if("string"===typeof e)return Ut(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Ut(e,t):void 0}}function zt(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function Kt(e){if(Array.isArray(e))return Ut(e)}function Ut(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,l=new Array(t);i<t;i++)l[i]=e[i];return l}var Wt={name:"Validate",props:{value:Array},watch:{value:function(e){this.formValue=this.parseValue(e)}},data:function(){return{formValue:{},option:{form:{labelPosition:"top",size:"mini",labelWidth:"90px"},submitBtn:!1,formData:this.parseValue(this.value)},rule:[{type:"select",field:"type",value:void 0,title:"字段类型",options:[{value:void 0,label:"请选择"},{value:"string",label:"String"},{value:"array",label:"Array"},{value:"number",label:"Number"},{value:"integer",label:"Integer"},{value:"float",label:"Float"},{value:"object",label:"Object"},{value:"date",label:"Date"},{value:"url",label:"url"},{value:"hex",label:"hex"},{value:"email",label:"email"}],control:[{handle:function(e){return!!e},rule:[{type:"group",field:"validate",props:{expand:1,rules:[{type:"select",title:"触发方式",field:"trigger",value:"change",options:[{label:"change",value:"change"},{label:"submit",value:"submit"},{label:"blur",value:"blur"}]},{type:"select",title:"验证方式",field:"mode",options:[{value:"required",label:"必填"},{value:"pattern",label:"正则表达式"},{value:"min",label:"最小值"},{value:"max",label:"最大值"},{value:"len",label:"长度"}],value:"",control:[{value:"required",rule:[{type:"hidden",field:"required",value:!0}]},{value:"pattern",rule:[{type:"input",field:"pattern",title:"正则表达式"}]},{value:"min",rule:[{type:"inputNumber",field:"min",title:"最小值"}]},{value:"max",rule:[{type:"inputNumber",field:"max",title:"最大值"}]},{value:"len",rule:[{type:"inputNumber",field:"len",title:"长度"}]}]},{type:"input",title:"错误信息",field:"message",value:""}]},value:[]}]}]}]}},methods:{onInput:function(e){var t=[],i=e.validate,l=e.type;l&&!i||(l&&(i.forEach((function(e){e.type=l})),t=Vt(i)),this.$emit("input",t))},parseValue:function(e){var t={validate:e?Vt(e):[],type:e.length?e[0].type:void 0};return t.validate.forEach((function(e){e.mode||Object.keys(e).forEach((function(t){["message","type","trigger","mode"].indexOf(t)<0&&(e.mode=t)}))})),t}}},qt=Wt,Jt=(i("ec54"),Object(_["a"])(qt,It,$t,!1,null,null,null)),Gt=Jt.exports;function Ht(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function Zt(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?Ht(Object(i),!0).forEach((function(t){Qt(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):Ht(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function Qt(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var Xt,Yt,ei={name:"DragBox",props:["rule","subRule","tag"],components:{draggable:lt.a},functional:!0,render:function(e,t){var i=t.props.rule||{},l=t.props.tag+"-drag drag-box";return t.children.length||(l+=" "+t.props.tag+"-holder"),i["class"]=l,e("draggable",Zt(Zt({},t.props.rule),{},{on:t.listeners}),t.children)}},ti=ei,ii=Object(_["a"])(ti,Xt,Yt,!1,null,null,null),li=ii.exports,ai=i("c734"),ni=i.n(ai);i("b29b");c.a.component("draggable",lt.a),c.a.component("DragTool",jt),c.a.component("DragBox",li),c.a.component("Validate",Gt),c.a.component("Struct",Dt),c.a.component("Fetch",Bt),c.a.component("FcEditor",ni.a),c.a.register("_fc",{init:function(e,t){t._id=Object(D["a"])(),e.repeat&&(t.field=Object(D["a"])()),e.value&&(t.effect._fc=!1)}}),c.a.register("_fc_tool",{init:function(e,t){t.props.unique=Object(D["a"])()}}),mt.install=function(e){e.component("FcDesigner",mt)},mt.makeOptionsRule=S["b"];var ri=mt;a.a.use(r.a),a.a.use(c.a),a.a.component("FcDesigner",ri),a.a.config.productionTip=!1,new a.a({render:function(e){return e(w)}}).$mount("#app")},ec54:function(e,t,i){"use strict";i("998b")},ed08:function(e,t,i){"use strict";i.d(t,"b",(function(){return n})),i.d(t,"d",(function(){return r})),i.d(t,"c",(function(){return o})),i.d(t,"a",(function(){return u}));var l=i("e866"),a=i("8720");function n(e){return{type:"radio",title:"选项数据",field:"_optionType",value:0,options:[{label:"静态数据",value:0},{label:"接口数据",value:1}],props:{type:"button"},control:[{value:0,rule:[{type:"Struct",field:"formCreate"+r(e).replace(".",">"),props:{defaultValue:[]}}]},{value:1,rule:[{type:"Fetch",field:"formCreateEffect>fetch",props:{to:e}}]}]}}function r(e){return e.replace(e[0],e[0].toLocaleUpperCase())}var o=function(e){var t=/object ([a-zA-Z]*)/.exec(Object.prototype.toString.call(e));return t&&c[t[1].toLowerCase()]?c[t[1].toLowerCase()](e):e},c={object:function(e){var t=[];for(var i in e)Object(l["b"])(e,i)&&t.push(o(i)+": "+(null!=e[i]?o(e[i]):"null"));return"{\n "+t.join(",\n ")+"\n}"},array:function(e){for(var t=0,i=[];t<e.length;t++)i[t]=null!=e[t]?o(e[t]):"null";return"["+i.join(", ")+"]"},string:function(e){for(var t=e.split(""),i=0;i<t.length;i++){var l=t[i];l>=" "?"\\"===l?t[i]="\\\\":'"'===l&&(t[i]='\\"'):t[i]="\n"===l?"\\n":"\r"===l?"\\r":"\t"===l?"\\t":"\b"===l?"\\b":"\f"===l?"\\f":(l=l.charCodeAt(),"\\u00"+(l>15?1:0)+l%16)}return'"'+t.join("")+'"'}},u=function e(t){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var n=t[i];(Array.isArray(n)||l["a"].Object(n))&&e(n),l["a"].String(n)&&(t[i]=Object(a["a"])(n))}return t}},f3d5:function(e,t,i){"use strict";i("a524")}});