(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-f44454cc","chunk-2d20955d"],{2855:function(e,t,o){"use strict";o.r(t);var a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"container"},[o("div",{staticClass:"left-board"},[o("div",{staticClass:"logo-wrapper"},[o("div",{staticClass:"logo"},[o("img",{attrs:{src:e.logo,alt:"logo"}}),e._v(" Form Generator ")])]),o("el-scrollbar",{staticClass:"left-scrollbar"},[o("div",{staticClass:"components-list"},[o("div",{staticClass:"components-title"},[o("svg-icon",{attrs:{"icon-class":"component"}}),e._v("输入型组件 ")],1),o("draggable",{staticClass:"components-draggable",attrs:{list:e.inputComponents,group:{name:"componentsGroup",pull:"clone",put:!1},clone:e.cloneComponent,draggable:".components-item",sort:!1},on:{end:e.onEnd}},e._l(e.inputComponents,(function(t,a){return o("div",{key:a,staticClass:"components-item",on:{click:function(o){return e.addComponent(t)}}},[o("div",{staticClass:"components-body"},[o("svg-icon",{attrs:{"icon-class":t.tagIcon}}),e._v(" "+e._s(t.label)+" ")],1)])})),0),o("div",{staticClass:"components-title"},[o("svg-icon",{attrs:{"icon-class":"component"}}),e._v("选择型组件 ")],1),o("draggable",{staticClass:"components-draggable",attrs:{list:e.selectComponents,group:{name:"componentsGroup",pull:"clone",put:!1},clone:e.cloneComponent,draggable:".components-item",sort:!1},on:{end:e.onEnd}},e._l(e.selectComponents,(function(t,a){return o("div",{key:a,staticClass:"components-item",on:{click:function(o){return e.addComponent(t)}}},[o("div",{staticClass:"components-body"},[o("svg-icon",{attrs:{"icon-class":t.tagIcon}}),e._v(" "+e._s(t.label)+" ")],1)])})),0),o("div",{staticClass:"components-title"},[o("svg-icon",{attrs:{"icon-class":"component"}}),e._v(" 布局型组件 ")],1),o("draggable",{staticClass:"components-draggable",attrs:{list:e.layoutComponents,group:{name:"componentsGroup",pull:"clone",put:!1},clone:e.cloneComponent,draggable:".components-item",sort:!1},on:{end:e.onEnd}},e._l(e.layoutComponents,(function(t,a){return o("div",{key:a,staticClass:"components-item",on:{click:function(o){return e.addComponent(t)}}},[o("div",{staticClass:"components-body"},[o("svg-icon",{attrs:{"icon-class":t.tagIcon}}),e._v(" "+e._s(t.label)+" ")],1)])})),0)],1)])],1),o("div",{staticClass:"center-board"},[o("div",{staticClass:"action-bar"},[o("el-button",{attrs:{icon:"el-icon-download",type:"text"},on:{click:e.download}},[e._v(" 导出vue文件 ")]),o("el-button",{staticClass:"copy-btn-main",attrs:{icon:"el-icon-document-copy",type:"text"},on:{click:e.copy}},[e._v(" 复制代码 ")]),o("el-button",{staticClass:"delete-btn",attrs:{icon:"el-icon-delete",type:"text"},on:{click:e.empty}},[e._v(" 清空 ")])],1),o("el-scrollbar",{staticClass:"center-scrollbar"},[o("el-row",{staticClass:"center-board-row",attrs:{gutter:e.formConf.gutter}},[o("el-form",{attrs:{size:e.formConf.size,"label-position":e.formConf.labelPosition,disabled:e.formConf.disabled,"label-width":e.formConf.labelWidth+"px"}},[o("draggable",{staticClass:"drawing-board",attrs:{list:e.drawingList,animation:340,group:"componentsGroup"}},e._l(e.drawingList,(function(t,a){return o("draggable-item",{key:t.renderKey,attrs:{"drawing-list":e.drawingList,element:t,index:a,"active-id":e.activeId,"form-conf":e.formConf},on:{activeItem:e.activeFormItem,copyItem:e.drawingItemCopy,deleteItem:e.drawingItemDelete}})})),1),o("div",{directives:[{name:"show",rawName:"v-show",value:!e.drawingList.length,expression:"!drawingList.length"}],staticClass:"empty-info"},[e._v(" 从左侧拖入或点选组件进行表单设计 ")])],1)],1)],1)],1),o("right-panel",{attrs:{"active-data":e.activeData,"form-conf":e.formConf,"show-field":!!e.drawingList.length},on:{"tag-change":e.tagChange}}),o("code-type-dialog",{attrs:{visible:e.dialogVisible,title:"选择生成类型","show-file-name":e.showFileName},on:{"update:visible":function(t){e.dialogVisible=t},confirm:e.generate}}),o("input",{attrs:{id:"copyNode",type:"hidden"}})],1)},n=[],i=(o("14d9"),o("0643"),o("4e3e"),o("a573"),o("b76a")),l=o.n(i),s=o("e552"),r=o.n(s),c=o("b0c2"),d=o.n(c),p=o("a85b"),u=o("766b"),m=o("2e2a"),f=o("ed08");o("9a9a");let h,$;function b(e){return`<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="Dialog Title">\n ${e}\n <div slot="footer">\n <el-button @click="close">取消</el-button>\n <el-button type="primary" @click="handleConfirm">确定</el-button>\n </div>\n </el-dialog>`}function _(e){return`<template>\n <div>\n ${e}\n </div>\n </template>`}function g(e){return`<script>\n ${e}\n <\/script>`}function v(e){return`<style>\n ${e}\n </style>`}function y(e,t,o){let a="";"right"!==e.labelPosition&&(a=`label-position="${e.labelPosition}"`);const n=e.disabled?`:disabled="${e.disabled}"`:"";let i=`<el-form ref="${e.formRef}" :model="${e.formModel}" :rules="${e.formRules}" size="${e.size}" ${n} label-width="${e.labelWidth}px" ${a}>\n ${t}\n ${w(e,o)}\n </el-form>`;return $&&(i=`<el-row :gutter="${e.gutter}">\n ${i}\n </el-row>`),i}function w(e,t){let o="";return e.formBtns&&"file"===t&&(o='<el-form-item size="large">\n <el-button type="primary" @click="submitForm">提交</el-button>\n <el-button @click="resetForm">重置</el-button>\n </el-form-item>',$&&(o=`<el-col :span="24">\n ${o}\n </el-col>`)),o}function x(e,t){return $||24!==e.span?`<el-col :span="${e.span}">\n ${t}\n </el-col>`:t}const C={colFormItem(e){let t="";e.labelWidth&&e.labelWidth!==h.labelWidth&&(t=`label-width="${e.labelWidth}px"`);const o=!m["e"][e.tag]&&e.required?"required":"",a=D[e.tag]?D[e.tag](e):null;let n=`<el-form-item ${t} label="${e.label}" prop="${e.vModel}" ${o}>\n ${a}\n </el-form-item>`;return n=x(e,n),n},rowFormItem(e){const t="default"===e.type?"":`type="${e.type}"`,o="default"===e.type?"":`justify="${e.justify}"`,a="default"===e.type?"":`align="${e.align}"`,n=e.gutter?`gutter="${e.gutter}"`:"",i=e.children.map(e=>C[e.layout](e));let l=`<el-row ${t} ${o} ${a} ${n}>\n ${i.join("\n")}\n </el-row>`;return l=x(e,l),l}},D={"el-button":e=>{const{tag:t,disabled:o}=O(e),a=e.type?`type="${e.type}"`:"",n=e.icon?`icon="${e.icon}"`:"",i=e.size?`size="${e.size}"`:"";let l=M(e);return l&&(l=`\n${l}\n`),`<${e.tag} ${a} ${n} ${i} ${o}>${l}</${e.tag}>`},"el-input":e=>{const{disabled:t,vModel:o,clearable:a,placeholder:n,width:i}=O(e),l=e.maxlength?`:maxlength="${e.maxlength}"`:"",s=e["show-word-limit"]?"show-word-limit":"",r=e.readonly?"readonly":"",c=e["prefix-icon"]?`prefix-icon='${e["prefix-icon"]}'`:"",d=e["suffix-icon"]?`suffix-icon='${e["suffix-icon"]}'`:"",p=e["show-password"]?"show-password":"",u=e.type?`type="${e.type}"`:"",m=e.autosize&&e.autosize.minRows?`:autosize="{minRows: ${e.autosize.minRows}, maxRows: ${e.autosize.maxRows}}"`:"";let f=I(e);return f&&(f=`\n${f}\n`),`<${e.tag} ${o} ${u} ${n} ${l} ${s} ${r} ${t} ${a} ${c} ${d} ${p} ${m} ${i}>${f}</${e.tag}>`},"el-input-number":e=>{const{disabled:t,vModel:o,placeholder:a}=O(e),n=e["controls-position"]?"controls-position="+e["controls-position"]:"",i=e.min?`:min='${e.min}'`:"",l=e.max?`:max='${e.max}'`:"",s=e.step?`:step='${e.step}'`:"",r=e["step-strictly"]?"step-strictly":"",c=e.precision?`:precision='${e.precision}'`:"";return`<${e.tag} ${o} ${a} ${s} ${r} ${c} ${n} ${i} ${l} ${t}></${e.tag}>`},"el-select":e=>{const{disabled:t,vModel:o,clearable:a,placeholder:n,width:i}=O(e),l=e.filterable?"filterable":"",s=e.multiple?"multiple":"";let r=E(e);return r&&(r=`\n${r}\n`),`<${e.tag} ${o} ${n} ${t} ${s} ${l} ${a} ${i}>${r}</${e.tag}>`},"el-radio-group":e=>{const{disabled:t,vModel:o}=O(e),a=`size="${e.size}"`;let n=k(e);return n&&(n=`\n${n}\n`),`<${e.tag} ${o} ${a} ${t}>${n}</${e.tag}>`},"el-checkbox-group":e=>{const{disabled:t,vModel:o}=O(e),a=`size="${e.size}"`,n=e.min?`:min="${e.min}"`:"",i=e.max?`:max="${e.max}"`:"";let l=j(e);return l&&(l=`\n${l}\n`),`<${e.tag} ${o} ${n} ${i} ${a} ${t}>${l}</${e.tag}>`},"el-switch":e=>{const{disabled:t,vModel:o}=O(e),a=e["active-text"]?`active-text="${e["active-text"]}"`:"",n=e["inactive-text"]?`inactive-text="${e["inactive-text"]}"`:"",i=e["active-color"]?`active-color="${e["active-color"]}"`:"",l=e["inactive-color"]?`inactive-color="${e["inactive-color"]}"`:"",s=!0!==e["active-value"]?`:active-value='${JSON.stringify(e["active-value"])}'`:"",r=!1!==e["inactive-value"]?`:inactive-value='${JSON.stringify(e["inactive-value"])}'`:"";return`<${e.tag} ${o} ${a} ${n} ${i} ${l} ${s} ${r} ${t}></${e.tag}>`},"el-cascader":e=>{const{disabled:t,vModel:o,clearable:a,placeholder:n,width:i}=O(e),l=e.options?`:options="${e.vModel}Options"`:"",s=e.props?`:props="${e.vModel}Props"`:"",r=e["show-all-levels"]?"":':show-all-levels="false"',c=e.filterable?"filterable":"",d="/"===e.separator?"":`separator="${e.separator}"`;return`<${e.tag} ${o} ${l} ${s} ${i} ${r} ${n} ${d} ${c} ${a} ${t}></${e.tag}>`},"el-slider":e=>{const{disabled:t,vModel:o}=O(e),a=e.min?`:min='${e.min}'`:"",n=e.max?`:max='${e.max}'`:"",i=e.step?`:step='${e.step}'`:"",l=e.range?"range":"",s=e["show-stops"]?`:show-stops="${e["show-stops"]}"`:"";return`<${e.tag} ${a} ${n} ${i} ${o} ${l} ${s} ${t}></${e.tag}>`},"el-time-picker":e=>{const{disabled:t,vModel:o,clearable:a,placeholder:n,width:i}=O(e),l=e["start-placeholder"]?`start-placeholder="${e["start-placeholder"]}"`:"",s=e["end-placeholder"]?`end-placeholder="${e["end-placeholder"]}"`:"",r=e["range-separator"]?`range-separator="${e["range-separator"]}"`:"",c=e["is-range"]?"is-range":"",d=e.format?`format="${e.format}"`:"",p=e["value-format"]?`value-format="${e["value-format"]}"`:"",u=e["picker-options"]?`:picker-options='${JSON.stringify(e["picker-options"])}'`:"";return`<${e.tag} ${o} ${c} ${d} ${p} ${u} ${i} ${n} ${l} ${s} ${r} ${a} ${t}></${e.tag}>`},"el-date-picker":e=>{const{disabled:t,vModel:o,clearable:a,placeholder:n,width:i}=O(e),l=e["start-placeholder"]?`start-placeholder="${e["start-placeholder"]}"`:"",s=e["end-placeholder"]?`end-placeholder="${e["end-placeholder"]}"`:"",r=e["range-separator"]?`range-separator="${e["range-separator"]}"`:"",c=e.format?`format="${e.format}"`:"",d=e["value-format"]?`value-format="${e["value-format"]}"`:"",p="date"===e.type?"":`type="${e.type}"`,u=e.readonly?"readonly":"";return`<${e.tag} ${p} ${o} ${c} ${d} ${i} ${n} ${l} ${s} ${r} ${a} ${u} ${t}></${e.tag}>`},"el-rate":e=>{const{disabled:t,vModel:o}=O(e),a=(e.max&&e.max,e["allow-half"]?"allow-half":""),n=e["show-text"]?"show-text":"",i=e["show-score"]?"show-score":"";return`<${e.tag} ${o} ${a} ${n} ${i} ${t}></${e.tag}>`},"el-color-picker":e=>{const{disabled:t,vModel:o}=O(e),a=`size="${e.size}"`,n=e["show-alpha"]?"show-alpha":"",i=e["color-format"]?`color-format="${e["color-format"]}"`:"";return`<${e.tag} ${o} ${a} ${n} ${i} ${t}></${e.tag}>`},"el-upload":e=>{const t=e.disabled?":disabled='true'":"",o=e.action?`:action="${e.vModel}Action"`:"",a=e.multiple?"multiple":"",n="text"!==e["list-type"]?`list-type="${e["list-type"]}"`:"",i=e.accept?`accept="${e.accept}"`:"",l="file"!==e.name?`name="${e.name}"`:"",s=!1===e["auto-upload"]?':auto-upload="false"':"",r=`:before-upload="${e.vModel}BeforeUpload"`,c=`:file-list="${e.vModel}fileList"`,d=`ref="${e.vModel}"`;let p=A(e);return p&&(p=`\n${p}\n`),`<${e.tag} ${d} ${c} ${o} ${s} ${a} ${r} ${n} ${i} ${l} ${t}>${p}</${e.tag}>`}};function O(e){return{vModel:`v-model="${h.formModel}.${e.vModel}"`,clearable:e.clearable?"clearable":"",placeholder:e.placeholder?`placeholder="${e.placeholder}"`:"",width:e.style&&e.style.width?":style=\"{width: '100%'}\"":"",disabled:e.disabled?":disabled='true'":""}}function M(e){const t=[];return e.default&&t.push(e.default),t.join("\n")}function I(e){const t=[];return e.prepend&&t.push(`<template slot="prepend">${e.prepend}</template>`),e.append&&t.push(`<template slot="append">${e.append}</template>`),t.join("\n")}function E(e){const t=[];return e.options&&e.options.length&&t.push(`<el-option v-for="(item, index) in ${e.vModel}Options" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>`),t.join("\n")}function k(e){const t=[];if(e.options&&e.options.length){const o="button"===e.optionType?"el-radio-button":"el-radio",a=e.border?"border":"";t.push(`<${o} v-for="(item, index) in ${e.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${a}>{{item.label}}</${o}>`)}return t.join("\n")}function j(e){const t=[];if(e.options&&e.options.length){const o="button"===e.optionType?"el-checkbox-button":"el-checkbox",a=e.border?"border":"";t.push(`<${o} v-for="(item, index) in ${e.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${a}>{{item.label}}</${o}>`)}return t.join("\n")}function A(e){const t=[];return"picture-card"===e["list-type"]?t.push('<i class="el-icon-plus"></i>'):t.push(`<el-button size="small" type="primary" icon="el-icon-upload">${e.buttonText}</el-button>`),e.showTip&&t.push(`<div slot="tip" class="el-upload__tip">只能上传不超过 ${e.fileSize}${e.sizeUnit} 的${e.accept}文件</div>`),t.join("\n")}function P(e,t){const o=[];h=e,$=e.fields.some(e=>24!==e.span),e.fields.forEach(e=>{o.push(C[e.layout](e))});const a=o.join("\n");let n=y(e,a,t);return"dialog"===t&&(n=b(n)),h=null,n}var L=o("80de");const N={"el-rate":".el-rate{display: inline-block; vertical-align: text-top;}","el-upload":".el-upload__tip{line-height: 1.2;}"};function T(e,t){const o=N[t.tag];o&&-1===e.indexOf(o)&&e.push(o),t.children&&t.children.forEach(t=>T(e,t))}function z(e){const t=[];return e.fields.forEach(e=>T(t,e)),t.join("\n")}var F=[{layout:"colFormItem",tagIcon:"input",label:"手机号",vModel:"mobile",formId:6,tag:"el-input",placeholder:"请输入手机号",defaultValue:"",span:24,style:{width:"100%"},clearable:!0,prepend:"",append:"","prefix-icon":"el-icon-mobile","suffix-icon":"",maxlength:11,"show-word-limit":!0,readonly:!1,disabled:!1,required:!0,changeTag:!0,regList:[{pattern:"/^1(3|4|5|7|8|9)\\d{9}$/",message:"手机号格式错误"}]}],R=o("81a5"),B=o.n(R),K=o("a92a"),U=o("4923");let S,W;var G={components:{draggable:l.a,render:p["a"],RightPanel:u["default"],CodeTypeDialog:K["default"],DraggableItem:U["default"]},data(){return{logo:B.a,idGlobal:100,formConf:m["a"],inputComponents:m["b"],selectComponents:m["d"],layoutComponents:m["c"],labelWidth:100,drawingList:F,drawingData:{},activeId:F[0].formId,drawerVisible:!1,formData:{},dialogVisible:!1,generateConf:null,showFileName:!1,activeData:F[0]}},created(){document.body.ondrop=e=>{e.preventDefault(),e.stopPropagation()}},watch:{"activeData.label":function(e,t){void 0!==this.activeData.placeholder&&this.activeData.tag&&S===this.activeId&&(this.activeData.placeholder=this.activeData.placeholder.replace(t,"")+e)},activeId:{handler(e){S=e},immediate:!0}},mounted(){const e=new d.a("#copyNode",{text:e=>{const t=this.generateCode();return this.$notify({title:"成功",message:"代码已复制到剪切板,可粘贴。",type:"success"}),t}});e.on("error",e=>{this.$message.error("代码复制失败")})},methods:{activeFormItem(e){this.activeData=e,this.activeId=e.formId},onEnd(e,t){e.from!==e.to&&(this.activeData=W,this.activeId=this.idGlobal)},addComponent(e){const t=this.cloneComponent(e);this.drawingList.push(t),this.activeFormItem(t)},cloneComponent(e){const t=JSON.parse(JSON.stringify(e));return t.formId=++this.idGlobal,t.span=m["a"].span,t.renderKey=+new Date,t.layout||(t.layout="colFormItem"),"colFormItem"===t.layout?(t.vModel="field"+this.idGlobal,void 0!==t.placeholder&&(t.placeholder+=t.label),W=t):"rowFormItem"===t.layout&&(delete t.label,t.componentName="row"+this.idGlobal,t.gutter=this.formConf.gutter,W=t),W},AssembleFormData(){this.formData={fields:JSON.parse(JSON.stringify(this.drawingList)),...this.formConf}},generate(e){const t=this["exec"+Object(f["f"])(this.operationType)];this.generateConf=e,t&&t(e)},execRun(e){this.AssembleFormData(),this.drawerVisible=!0},execDownload(e){const t=this.generateCode(),o=new Blob([t],{type:"text/plain;charset=utf-8"});this.$download.saveAs(o,e.fileName)},execCopy(e){document.getElementById("copyNode").click()},empty(){this.$confirm("确定要清空所有组件吗?","提示",{type:"warning"}).then(()=>{this.drawingList=[]})},drawingItemCopy(e,t){let o=JSON.parse(JSON.stringify(e));o=this.createIdAndKey(o),t.push(o),this.activeFormItem(o)},createIdAndKey(e){return e.formId=++this.idGlobal,e.renderKey=+new Date,"colFormItem"===e.layout?e.vModel="field"+this.idGlobal:"rowFormItem"===e.layout&&(e.componentName="row"+this.idGlobal),Array.isArray(e.children)&&(e.children=e.children.map(e=>this.createIdAndKey(e))),e},drawingItemDelete(e,t){t.splice(e,1),this.$nextTick(()=>{const e=this.drawingList.length;e&&this.activeFormItem(this.drawingList[e-1])})},generateCode(){const{type:e}=this.generateConf;this.AssembleFormData();const t=g(Object(L["a"])(this.formData,e)),o=_(P(this.formData,e)),a=v(z(this.formData));return r.a.html(o+t+a,f["a"].html)},download(){this.dialogVisible=!0,this.showFileName=!0,this.operationType="download"},run(){this.dialogVisible=!0,this.showFileName=!1,this.operationType="run"},copy(){this.dialogVisible=!0,this.showFileName=!1,this.operationType="copy"},tagChange(e){e=this.cloneComponent(e),e.vModel=this.activeData.vModel,e.formId=this.activeId,e.span=this.activeData.span,delete this.activeData.tag,delete this.activeData.tagIcon,delete this.activeData.document,Object.keys(e).forEach(t=>{void 0!==this.activeData[t]&&typeof this.activeData[t]===typeof e[t]&&(e[t]=this.activeData[t])}),this.activeData=e,this.updateDrawingList(e,this.drawingList)},updateDrawingList(e,t){const o=t.findIndex(e=>e.formId===this.activeId);o>-1?t.splice(o,1,e):t.forEach(t=>{Array.isArray(t.children)&&this.updateDrawingList(e,t.children)})}}},q=G,J=(o("e625"),o("2877")),V=Object(J["a"])(q,a,n,!1,null,null,null);t["default"]=V.exports},"35c4":function(e,t,o){},4923:function(e,t,o){"use strict";o.r(t);o("d9e2"),o("0643"),o("a573");var a=o("b76a"),n=o.n(a),i=o("a85b");const l={itemBtns(e,t,o,a){const{copyItem:n,deleteItem:i}=this.$listeners;return[e("span",{class:"drawing-item-copy",attrs:{title:"复制"},on:{click:e=>{n(t,a),e.stopPropagation()}}},[e("i",{class:"el-icon-copy-document"})]),e("span",{class:"drawing-item-delete",attrs:{title:"删除"},on:{click:e=>{i(o,a),e.stopPropagation()}}},[e("i",{class:"el-icon-delete"})])]}},s={colFormItem(e,t,o,a){const{activeItem:n}=this.$listeners;let s=this.activeId===t.formId?"drawing-item active-from-item":"drawing-item";return this.formConf.unFocusedComponentBorder&&(s+=" unfocus-bordered"),e("el-col",{attrs:{span:t.span},class:s,nativeOn:{click:e=>{n(t),e.stopPropagation()}}},[e("el-form-item",{attrs:{"label-width":t.labelWidth?t.labelWidth+"px":null,label:t.label,required:t.required}},[e(i["a"],{key:t.renderKey,attrs:{conf:t},on:{input:e=>{this.$set(t,"defaultValue",e)}}})]),l.itemBtns.apply(this,arguments)])},rowFormItem(e,t,o,a){const{activeItem:i}=this.$listeners,s=this.activeId===t.formId?"drawing-row-item active-from-item":"drawing-row-item";let c=r.apply(this,arguments);return"flex"===t.type&&(c=e("el-row",{attrs:{type:t.type,justify:t.justify,align:t.align}},[c])),e("el-col",{attrs:{span:t.span}},[e("el-row",{attrs:{gutter:t.gutter},class:s,nativeOn:{click:e=>{i(t),e.stopPropagation()}}},[e("span",{class:"component-name"},[t.componentName]),e(n.a,{attrs:{list:t.children,animation:340,group:"componentsGroup"},class:"drag-wrapper"},[c]),l.itemBtns.apply(this,arguments)])])}};function r(e,t,o,a){return Array.isArray(t.children)?t.children.map((o,a)=>{const n=s[o.layout];return n?n.call(this,e,o,a,t.children):c()}):null}function c(){throw new Error(`没有与${this.element.layout}匹配的layout`)}var d,p,u={components:{render:i["a"],draggable:n.a},props:["element","index","drawingList","activeId","formConf"],render(e){const t=s[this.element.layout];return t?t.call(this,e,this.element,this.index,this.drawingList):c()}},m=u,f=o("2877"),h=Object(f["a"])(m,d,p,!1,null,null,null);t["default"]=h.exports},"80de":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return makeUpJs}));var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("14d9"),core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__),core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("0643"),core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__),core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("4e3e"),core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__),_utils_index__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("ed08"),_config__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("2e2a");const units={KB:"1024",MB:"1024 / 1024",GB:"1024 / 1024 / 1024"};let confGlobal;const inheritAttrs={file:"",dialog:"inheritAttrs: false,"};function makeUpJs(e,t){confGlobal=e=JSON.parse(JSON.stringify(e));const o=[],a=[],n=[],i=[],l=mixinMethod(t),s=[];e.fields.forEach(e=>{buildAttributes(e,o,a,n,l,i,s)});const r=buildexport(e,t,o.join("\n"),a.join("\n"),n.join("\n"),s.join("\n"),i.join("\n"),l.join("\n"));return confGlobal=null,r}function buildAttributes(e,t,o,a,n,i,l){if(buildData(e,t),buildRules(e,o),e.options&&e.options.length&&(buildOptions(e,a),"dynamic"===e.dataType)){const t=e.vModel+"Options",o=Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__["f"])(t);buildOptionMethod("get"+o,t,n)}e.props&&e.props.props&&buildProps(e,i),e.action&&"el-upload"===e.tag&&(l.push(`${e.vModel}Action: '${e.action}',\n ${e.vModel}fileList: [],`),n.push(buildBeforeUpload(e)),e["auto-upload"]||n.push(buildSubmitUpload(e))),e.children&&e.children.forEach(e=>{buildAttributes(e,t,o,a,n,i,l)})}function mixinMethod(e){const t=[],o={file:confGlobal.formBtns?{submitForm:`submitForm() {\n this.$refs['${confGlobal.formRef}'].validate(valid => {\n if(!valid) return\n // TODO 提交表单\n })\n },`,resetForm:`resetForm() {\n this.$refs['${confGlobal.formRef}'].resetFields()\n },`}:null,dialog:{onOpen:"onOpen() {},",onClose:`onClose() {\n this.$refs['${confGlobal.formRef}'].resetFields()\n },`,close:"close() {\n this.$emit('update:visible', false)\n },",handleConfirm:`handleConfirm() {\n this.$refs['${confGlobal.formRef}'].validate(valid => {\n if(!valid) return\n this.close()\n })\n },`}},a=o[e];return a&&Object.keys(a).forEach(e=>{t.push(a[e])}),t}function buildData(e,t){if(void 0===e.vModel)return;let o;o="string"!==typeof e.defaultValue||e.multiple?""+JSON.stringify(e.defaultValue):`'${e.defaultValue}'`,t.push(`${e.vModel}: ${o},`)}function buildRules(conf,ruleList){if(void 0===conf.vModel)return;const rules=[];if(_config__WEBPACK_IMPORTED_MODULE_4__["e"][conf.tag]){if(conf.required){const e=Array.isArray(conf.defaultValue)?"type: 'array',":"";let t=Array.isArray(conf.defaultValue)?"请至少选择一个"+conf.vModel:conf.placeholder;void 0===t&&(t=conf.label+"不能为空"),rules.push(`{ required: true, ${e} message: '${t}', trigger: '${_config__WEBPACK_IMPORTED_MODULE_4__["e"][conf.tag]}' }`)}conf.regList&&Array.isArray(conf.regList)&&conf.regList.forEach(item=>{item.pattern&&rules.push(`{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${_config__WEBPACK_IMPORTED_MODULE_4__["e"][conf.tag]}' }`)}),ruleList.push(`${conf.vModel}: [${rules.join(",")}],`)}}function buildOptions(e,t){if(void 0===e.vModel)return;"dynamic"===e.dataType&&(e.options=[]);const o=`${e.vModel}Options: ${JSON.stringify(e.options)},`;t.push(o)}function buildProps(e,t){"dynamic"===e.dataType&&("value"!==e.valueKey&&(e.props.props.value=e.valueKey),"label"!==e.labelKey&&(e.props.props.label=e.labelKey),"children"!==e.childrenKey&&(e.props.props.children=e.childrenKey));const o=`${e.vModel}Props: ${JSON.stringify(e.props.props)},`;t.push(o)}function buildBeforeUpload(e){const t=units[e.sizeUnit];let o="",a="";const n=[];e.fileSize&&(o=`let isRightSize = file.size / ${t} < ${e.fileSize}\n if(!isRightSize){\n this.$message.error('文件大小超过 ${e.fileSize}${e.sizeUnit}')\n }`,n.push("isRightSize")),e.accept&&(a=`let isAccept = new RegExp('${e.accept}').test(file.type)\n if(!isAccept){\n this.$message.error('应该选择${e.accept}类型的文件')\n }`,n.push("isAccept"));const i=`${e.vModel}BeforeUpload(file) {\n ${o}\n ${a}\n return ${n.join("&&")}\n },`;return n.length?i:""}function buildSubmitUpload(e){const t=`submitUpload() {\n this.$refs['${e.vModel}'].submit()\n },`;return t}function buildOptionMethod(e,t,o){const a=`${e}() {\n // TODO 发起请求获取数据\n this.${t}\n },`;o.push(a)}function buildexport(e,t,o,a,n,i,l,s){const r=`${_utils_index__WEBPACK_IMPORTED_MODULE_3__["c"]}{\n ${inheritAttrs[t]}\n components: {},\n props: [],\n data () {\n return {\n ${e.formModel}: {\n ${o}\n },\n ${e.formRules}: {\n ${a}\n },\n ${i}\n ${n}\n ${l}\n }\n },\n computed: {},\n watch: {},\n created () {},\n mounted () {},\n methods: {\n ${s}\n }\n}`;return r}},a85b:function(e,t,o){"use strict";o("14d9"),o("0643"),o("4e3e");var a=o("ed08");const n=Object(a["e"])("accept,accept-charset,accesskey,action,align,alt,async,autocomplete,autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,http-equiv,name,contenteditable,contextmenu,controls,coords,data,datetime,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,method,for,form,formaction,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,ismap,itemprop,keytype,kind,label,lang,language,list,loop,low,manifest,max,maxlength,media,method,GET,POST,min,multiple,email,file,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,seamless,selected,shape,size,type,text,password,sizes,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,type,usemap,value,width,wrap");function i(e,t,o){t.props.value=o,t.on.input=t=>{e.$emit("input",t)}}const l={"el-button":{default(e,t,o){return t[o]}},"el-input":{prepend(e,t,o){return e("template",{slot:"prepend"},[t[o]])},append(e,t,o){return e("template",{slot:"append"},[t[o]])}},"el-select":{options(e,t,o){const a=[];return t.options.forEach(t=>{a.push(e("el-option",{attrs:{label:t.label,value:t.value,disabled:t.disabled}}))}),a}},"el-radio-group":{options(e,t,o){const a=[];return t.options.forEach(o=>{"button"===t.optionType?a.push(e("el-radio-button",{attrs:{label:o.value}},[o.label])):a.push(e("el-radio",{attrs:{label:o.value,border:t.border}},[o.label]))}),a}},"el-checkbox-group":{options(e,t,o){const a=[];return t.options.forEach(o=>{"button"===t.optionType?a.push(e("el-checkbox-button",{attrs:{label:o.value}},[o.label])):a.push(e("el-checkbox",{attrs:{label:o.value,border:t.border}},[o.label]))}),a}},"el-upload":{"list-type":(e,t,o)=>{const a=[];return"picture-card"===t["list-type"]?a.push(e("i",{class:"el-icon-plus"})):a.push(e("el-button",{attrs:{size:"small",type:"primary",icon:"el-icon-upload"}},[t.buttonText])),t.showTip&&a.push(e("div",{slot:"tip",class:"el-upload__tip"},["只能上传不超过 ",t.fileSize,t.sizeUnit," 的",t.accept,"文件"])),a}}};t["a"]={render(e){const t={attrs:{},props:{},on:{},style:{}},o=JSON.parse(JSON.stringify(this.conf)),a=[],s=l[o.tag];return s&&Object.keys(s).forEach(t=>{const n=s[t];o[t]&&a.push(n(e,o,t))}),Object.keys(o).forEach(e=>{const a=o[e];"vModel"===e?i(this,t,o.defaultValue):t[e]?t[e]=a:n(e)?t.attrs[e]=a:t.props[e]=a}),e(this.conf.tag,t,a)},props:["conf"]}},a92a:function(e,t,o){"use strict";o.r(t);var a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",e._g(e._b({attrs:{width:"500px","close-on-click-modal":!1,"modal-append-to-body":!1},on:{open:e.onOpen,close:e.onClose}},"el-dialog",e.$attrs,!1),e.$listeners),[o("el-row",{attrs:{gutter:15}},[o("el-form",{ref:"elForm",attrs:{model:e.formData,rules:e.rules,size:"medium","label-width":"100px"}},[o("el-col",{attrs:{span:24}},[o("el-form-item",{attrs:{label:"生成类型",prop:"type"}},[o("el-radio-group",{model:{value:e.formData.type,callback:function(t){e.$set(e.formData,"type",t)},expression:"formData.type"}},e._l(e.typeOptions,(function(t,a){return o("el-radio-button",{key:a,attrs:{label:t.value,disabled:t.disabled}},[e._v(" "+e._s(t.label)+" ")])})),1)],1),e.showFileName?o("el-form-item",{attrs:{label:"文件名",prop:"fileName"}},[o("el-input",{attrs:{placeholder:"请输入文件名",clearable:""},model:{value:e.formData.fileName,callback:function(t){e.$set(e.formData,"fileName",t)},expression:"formData.fileName"}})],1):e._e()],1)],1)],1),o("div",{attrs:{slot:"footer"},slot:"footer"},[o("el-button",{on:{click:e.close}},[e._v(" 取消 ")]),o("el-button",{attrs:{type:"primary"},on:{click:e.handleConfirm}},[e._v(" 确定 ")])],1)],1)],1)},n=[],i={inheritAttrs:!1,props:["showFileName"],data(){return{formData:{fileName:void 0,type:"file"},rules:{fileName:[{required:!0,message:"请输入文件名",trigger:"blur"}],type:[{required:!0,message:"生成类型不能为空",trigger:"change"}]},typeOptions:[{label:"页面",value:"file"},{label:"弹窗",value:"dialog"}]}},computed:{},watch:{},mounted(){},methods:{onOpen(){this.showFileName&&(this.formData.fileName=+new Date+".vue")},onClose(){},close(e){this.$emit("update:visible",!1)},handleConfirm(){this.$refs.elForm.validate(e=>{e&&(this.$emit("confirm",{...this.formData}),this.close())})}}},l=i,s=o("2877"),r=Object(s["a"])(l,a,n,!1,null,null,null);t["default"]=r.exports},e625:function(e,t,o){"use strict";o("35c4")}}]);
|