1 line
35 KiB
JavaScript
1 line
35 KiB
JavaScript
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5647afa8","chunk-2d20955d"],{"0bcc":function(t,e,n){"use strict";n("4854")},2855:function(t,e,n){"use strict";n.r(e);var o,a,c=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"container"},[n("div",{staticClass:"left-board"},[n("div",{staticClass:"logo-wrapper"},[n("div",{staticClass:"logo"},[n("img",{attrs:{src:t.logo,alt:"logo"}}),t._v(" Form Generator ")])]),n("el-scrollbar",{staticClass:"left-scrollbar"},[n("div",{staticClass:"components-list"},[n("div",{staticClass:"components-title"},[n("svg-icon",{attrs:{"icon-class":"component"}}),t._v("输入型组件 ")],1),n("draggable",{staticClass:"components-draggable",attrs:{list:t.inputComponents,group:{name:"componentsGroup",pull:"clone",put:!1},clone:t.cloneComponent,draggable:".components-item",sort:!1},on:{end:t.onEnd}},t._l(t.inputComponents,(function(e,o){return n("div",{key:o,staticClass:"components-item",on:{click:function(n){return t.addComponent(e)}}},[n("div",{staticClass:"components-body"},[n("svg-icon",{attrs:{"icon-class":e.tagIcon}}),t._v(" "+t._s(e.label)+" ")],1)])})),0),n("div",{staticClass:"components-title"},[n("svg-icon",{attrs:{"icon-class":"component"}}),t._v("选择型组件 ")],1),n("draggable",{staticClass:"components-draggable",attrs:{list:t.selectComponents,group:{name:"componentsGroup",pull:"clone",put:!1},clone:t.cloneComponent,draggable:".components-item",sort:!1},on:{end:t.onEnd}},t._l(t.selectComponents,(function(e,o){return n("div",{key:o,staticClass:"components-item",on:{click:function(n){return t.addComponent(e)}}},[n("div",{staticClass:"components-body"},[n("svg-icon",{attrs:{"icon-class":e.tagIcon}}),t._v(" "+t._s(e.label)+" ")],1)])})),0),n("div",{staticClass:"components-title"},[n("svg-icon",{attrs:{"icon-class":"component"}}),t._v(" 布局型组件 ")],1),n("draggable",{staticClass:"components-draggable",attrs:{list:t.layoutComponents,group:{name:"componentsGroup",pull:"clone",put:!1},clone:t.cloneComponent,draggable:".components-item",sort:!1},on:{end:t.onEnd}},t._l(t.layoutComponents,(function(e,o){return n("div",{key:o,staticClass:"components-item",on:{click:function(n){return t.addComponent(e)}}},[n("div",{staticClass:"components-body"},[n("svg-icon",{attrs:{"icon-class":e.tagIcon}}),t._v(" "+t._s(e.label)+" ")],1)])})),0)],1)])],1),n("div",{staticClass:"center-board"},[n("div",{staticClass:"action-bar"},[n("el-button",{attrs:{icon:"el-icon-download",type:"text"},on:{click:t.download}},[t._v(" 导出vue文件 ")]),n("el-button",{staticClass:"copy-btn-main",attrs:{icon:"el-icon-document-copy",type:"text"},on:{click:t.copy}},[t._v(" 复制代码 ")]),n("el-button",{staticClass:"delete-btn",attrs:{icon:"el-icon-delete",type:"text"},on:{click:t.empty}},[t._v(" 清空 ")])],1),n("el-scrollbar",{staticClass:"center-scrollbar"},[n("el-row",{staticClass:"center-board-row",attrs:{gutter:t.formConf.gutter}},[n("el-form",{attrs:{size:t.formConf.size,"label-position":t.formConf.labelPosition,disabled:t.formConf.disabled,"label-width":t.formConf.labelWidth+"px"}},[n("draggable",{staticClass:"drawing-board",attrs:{list:t.drawingList,animation:340,group:"componentsGroup"}},t._l(t.drawingList,(function(e,o){return n("draggable-item",{key:e.renderKey,attrs:{"drawing-list":t.drawingList,element:e,index:o,"active-id":t.activeId,"form-conf":t.formConf},on:{activeItem:t.activeFormItem,copyItem:t.drawingItemCopy,deleteItem:t.drawingItemDelete}})})),1),n("div",{directives:[{name:"show",rawName:"v-show",value:!t.drawingList.length,expression:"!drawingList.length"}],staticClass:"empty-info"},[t._v(" 从左侧拖入或点选组件进行表单设计 ")])],1)],1)],1)],1),n("right-panel",{attrs:{"active-data":t.activeData,"form-conf":t.formConf,"show-field":!!t.drawingList.length},on:{"tag-change":t.tagChange}}),n("code-type-dialog",{attrs:{visible:t.dialogVisible,title:"选择生成类型","show-file-name":t.showFileName},on:{"update:visible":function(e){t.dialogVisible=e},confirm:t.generate}}),n("input",{attrs:{id:"copyNode",type:"hidden"}})],1)},i=[],r=n("b76a"),l=n.n(r),s=n("e552"),u=n.n(s),d=n("b311"),p=n.n(d),f=n("a85b"),m=n("766b"),b=n("2e2a"),h=n("ed08");function v(t){return'<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="Dialog Title">\n '.concat(t,'\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 g(t){return"<template>\n <div>\n ".concat(t,"\n </div>\n </template>")}function y(t){return"<script>\n ".concat(t,"\n <\/script>")}function w(t){return"<style>\n ".concat(t,"\n </style>")}function _(t,e,n){var o="";"right"!==t.labelPosition&&(o='label-position="'.concat(t.labelPosition,'"'));var c=t.disabled?':disabled="'.concat(t.disabled,'"'):"",i='<el-form ref="'.concat(t.formRef,'" :model="').concat(t.formModel,'" :rules="').concat(t.formRules,'" size="').concat(t.size,'" ').concat(c,' label-width="').concat(t.labelWidth,'px" ').concat(o,">\n ").concat(e,"\n ").concat(O(t,n),"\n </el-form>");return a&&(i='<el-row :gutter="'.concat(t.gutter,'">\n ').concat(i,"\n </el-row>")),i}function O(t,e){var n="";return t.formBtns&&"file"===e&&(n='<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>',a&&(n='<el-col :span="24">\n '.concat(n,"\n </el-col>"))),n}function x(t,e){return a||24!==t.span?'<el-col :span="'.concat(t.span,'">\n ').concat(e,"\n </el-col>"):e}var C={colFormItem:function(t){var e="";t.labelWidth&&t.labelWidth!==o.labelWidth&&(e='label-width="'.concat(t.labelWidth,'px"'));var n=!b["e"][t.tag]&&t.required?"required":"",a=D[t.tag]?D[t.tag](t):null,c="<el-form-item ".concat(e,' label="').concat(t.label,'" prop="').concat(t.vModel,'" ').concat(n,">\n ").concat(a,"\n </el-form-item>");return c=x(t,c),c},rowFormItem:function(t){var e="default"===t.type?"":'type="'.concat(t.type,'"'),n="default"===t.type?"":'justify="'.concat(t.justify,'"'),o="default"===t.type?"":'align="'.concat(t.align,'"'),a=t.gutter?'gutter="'.concat(t.gutter,'"'):"",c=t.children.map((function(t){return C[t.layout](t)})),i="<el-row ".concat(e," ").concat(n," ").concat(o," ").concat(a,">\n ").concat(c.join("\n"),"\n </el-row>");return i=x(t,i),i}},D={"el-button":function(t){var e=k(t),n=(e.tag,e.disabled),o=t.type?'type="'.concat(t.type,'"'):"",a=t.icon?'icon="'.concat(t.icon,'"'):"",c=t.size?'size="'.concat(t.size,'"'):"",i=M(t);return i&&(i="\n".concat(i,"\n")),"<".concat(t.tag," ").concat(o," ").concat(a," ").concat(c," ").concat(n,">").concat(i,"</").concat(t.tag,">")},"el-input":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=e.clearable,c=e.placeholder,i=e.width,r=t.maxlength?':maxlength="'.concat(t.maxlength,'"'):"",l=t["show-word-limit"]?"show-word-limit":"",s=t.readonly?"readonly":"",u=t["prefix-icon"]?"prefix-icon='".concat(t["prefix-icon"],"'"):"",d=t["suffix-icon"]?"suffix-icon='".concat(t["suffix-icon"],"'"):"",p=t["show-password"]?"show-password":"",f=t.type?'type="'.concat(t.type,'"'):"",m=t.autosize&&t.autosize.minRows?':autosize="{minRows: '.concat(t.autosize.minRows,", maxRows: ").concat(t.autosize.maxRows,'}"'):"",b=I(t);return b&&(b="\n".concat(b,"\n")),"<".concat(t.tag," ").concat(o," ").concat(f," ").concat(c," ").concat(r," ").concat(l," ").concat(s," ").concat(n," ").concat(a," ").concat(u," ").concat(d," ").concat(p," ").concat(m," ").concat(i,">").concat(b,"</").concat(t.tag,">")},"el-input-number":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=e.placeholder,c=t["controls-position"]?"controls-position=".concat(t["controls-position"]):"",i=t.min?":min='".concat(t.min,"'"):"",r=t.max?":max='".concat(t.max,"'"):"",l=t.step?":step='".concat(t.step,"'"):"",s=t["step-strictly"]?"step-strictly":"",u=t.precision?":precision='".concat(t.precision,"'"):"";return"<".concat(t.tag," ").concat(o," ").concat(a," ").concat(l," ").concat(s," ").concat(u," ").concat(c," ").concat(i," ").concat(r," ").concat(n,"></").concat(t.tag,">")},"el-select":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=e.clearable,c=e.placeholder,i=e.width,r=t.filterable?"filterable":"",l=t.multiple?"multiple":"",s=j(t);return s&&(s="\n".concat(s,"\n")),"<".concat(t.tag," ").concat(o," ").concat(c," ").concat(n," ").concat(l," ").concat(r," ").concat(a," ").concat(i,">").concat(s,"</").concat(t.tag,">")},"el-radio-group":function(t){var e=k(t),n=e.disabled,o=e.vModel,a='size="'.concat(t.size,'"'),c=E(t);return c&&(c="\n".concat(c,"\n")),"<".concat(t.tag," ").concat(o," ").concat(a," ").concat(n,">").concat(c,"</").concat(t.tag,">")},"el-checkbox-group":function(t){var e=k(t),n=e.disabled,o=e.vModel,a='size="'.concat(t.size,'"'),c=t.min?':min="'.concat(t.min,'"'):"",i=t.max?':max="'.concat(t.max,'"'):"",r=P(t);return r&&(r="\n".concat(r,"\n")),"<".concat(t.tag," ").concat(o," ").concat(c," ").concat(i," ").concat(a," ").concat(n,">").concat(r,"</").concat(t.tag,">")},"el-switch":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=t["active-text"]?'active-text="'.concat(t["active-text"],'"'):"",c=t["inactive-text"]?'inactive-text="'.concat(t["inactive-text"],'"'):"",i=t["active-color"]?'active-color="'.concat(t["active-color"],'"'):"",r=t["inactive-color"]?'inactive-color="'.concat(t["inactive-color"],'"'):"",l=!0!==t["active-value"]?":active-value='".concat(JSON.stringify(t["active-value"]),"'"):"",s=!1!==t["inactive-value"]?":inactive-value='".concat(JSON.stringify(t["inactive-value"]),"'"):"";return"<".concat(t.tag," ").concat(o," ").concat(a," ").concat(c," ").concat(i," ").concat(r," ").concat(l," ").concat(s," ").concat(n,"></").concat(t.tag,">")},"el-cascader":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=e.clearable,c=e.placeholder,i=e.width,r=t.options?':options="'.concat(t.vModel,'Options"'):"",l=t.props?':props="'.concat(t.vModel,'Props"'):"",s=t["show-all-levels"]?"":':show-all-levels="false"',u=t.filterable?"filterable":"",d="/"===t.separator?"":'separator="'.concat(t.separator,'"');return"<".concat(t.tag," ").concat(o," ").concat(r," ").concat(l," ").concat(i," ").concat(s," ").concat(c," ").concat(d," ").concat(u," ").concat(a," ").concat(n,"></").concat(t.tag,">")},"el-slider":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=t.min?":min='".concat(t.min,"'"):"",c=t.max?":max='".concat(t.max,"'"):"",i=t.step?":step='".concat(t.step,"'"):"",r=t.range?"range":"",l=t["show-stops"]?':show-stops="'.concat(t["show-stops"],'"'):"";return"<".concat(t.tag," ").concat(a," ").concat(c," ").concat(i," ").concat(o," ").concat(r," ").concat(l," ").concat(n,"></").concat(t.tag,">")},"el-time-picker":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=e.clearable,c=e.placeholder,i=e.width,r=t["start-placeholder"]?'start-placeholder="'.concat(t["start-placeholder"],'"'):"",l=t["end-placeholder"]?'end-placeholder="'.concat(t["end-placeholder"],'"'):"",s=t["range-separator"]?'range-separator="'.concat(t["range-separator"],'"'):"",u=t["is-range"]?"is-range":"",d=t.format?'format="'.concat(t.format,'"'):"",p=t["value-format"]?'value-format="'.concat(t["value-format"],'"'):"",f=t["picker-options"]?":picker-options='".concat(JSON.stringify(t["picker-options"]),"'"):"";return"<".concat(t.tag," ").concat(o," ").concat(u," ").concat(d," ").concat(p," ").concat(f," ").concat(i," ").concat(c," ").concat(r," ").concat(l," ").concat(s," ").concat(a," ").concat(n,"></").concat(t.tag,">")},"el-date-picker":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=e.clearable,c=e.placeholder,i=e.width,r=t["start-placeholder"]?'start-placeholder="'.concat(t["start-placeholder"],'"'):"",l=t["end-placeholder"]?'end-placeholder="'.concat(t["end-placeholder"],'"'):"",s=t["range-separator"]?'range-separator="'.concat(t["range-separator"],'"'):"",u=t.format?'format="'.concat(t.format,'"'):"",d=t["value-format"]?'value-format="'.concat(t["value-format"],'"'):"",p="date"===t.type?"":'type="'.concat(t.type,'"'),f=t.readonly?"readonly":"";return"<".concat(t.tag," ").concat(p," ").concat(o," ").concat(u," ").concat(d," ").concat(i," ").concat(c," ").concat(r," ").concat(l," ").concat(s," ").concat(a," ").concat(f," ").concat(n,"></").concat(t.tag,">")},"el-rate":function(t){var e=k(t),n=e.disabled,o=e.vModel,a=(t.max&&":max='".concat(t.max,"'"),t["allow-half"]?"allow-half":""),c=t["show-text"]?"show-text":"",i=t["show-score"]?"show-score":"";return"<".concat(t.tag," ").concat(o," ").concat(a," ").concat(c," ").concat(i," ").concat(n,"></").concat(t.tag,">")},"el-color-picker":function(t){var e=k(t),n=e.disabled,o=e.vModel,a='size="'.concat(t.size,'"'),c=t["show-alpha"]?"show-alpha":"",i=t["color-format"]?'color-format="'.concat(t["color-format"],'"'):"";return"<".concat(t.tag," ").concat(o," ").concat(a," ").concat(c," ").concat(i," ").concat(n,"></").concat(t.tag,">")},"el-upload":function(t){var e=t.disabled?":disabled='true'":"",n=t.action?':action="'.concat(t.vModel,'Action"'):"",o=t.multiple?"multiple":"",a="text"!==t["list-type"]?'list-type="'.concat(t["list-type"],'"'):"",c=t.accept?'accept="'.concat(t.accept,'"'):"",i="file"!==t.name?'name="'.concat(t.name,'"'):"",r=!1===t["auto-upload"]?':auto-upload="false"':"",l=':before-upload="'.concat(t.vModel,'BeforeUpload"'),s=':file-list="'.concat(t.vModel,'fileList"'),u='ref="'.concat(t.vModel,'"'),d=S(t);return d&&(d="\n".concat(d,"\n")),"<".concat(t.tag," ").concat(u," ").concat(s," ").concat(n," ").concat(r," ").concat(o," ").concat(l," ").concat(a," ").concat(c," ").concat(i," ").concat(e,">").concat(d,"</").concat(t.tag,">")}};function k(t){return{vModel:'v-model="'.concat(o.formModel,".").concat(t.vModel,'"'),clearable:t.clearable?"clearable":"",placeholder:t.placeholder?'placeholder="'.concat(t.placeholder,'"'):"",width:t.style&&t.style.width?":style=\"{width: '100%'}\"":"",disabled:t.disabled?":disabled='true'":""}}function M(t){var e=[];return t.default&&e.push(t.default),e.join("\n")}function I(t){var e=[];return t.prepend&&e.push('<template slot="prepend">'.concat(t.prepend,"</template>")),t.append&&e.push('<template slot="append">'.concat(t.append,"</template>")),e.join("\n")}function j(t){var e=[];return t.options&&t.options.length&&e.push('<el-option v-for="(item, index) in '.concat(t.vModel,'Options" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>')),e.join("\n")}function E(t){var e=[];if(t.options&&t.options.length){var n="button"===t.optionType?"el-radio-button":"el-radio",o=t.border?"border":"";e.push("<".concat(n,' v-for="(item, index) in ').concat(t.vModel,'Options" :key="index" :label="item.value" :disabled="item.disabled" ').concat(o,">{{item.label}}</").concat(n,">"))}return e.join("\n")}function P(t){var e=[];if(t.options&&t.options.length){var n="button"===t.optionType?"el-checkbox-button":"el-checkbox",o=t.border?"border":"";e.push("<".concat(n,' v-for="(item, index) in ').concat(t.vModel,'Options" :key="index" :label="item.value" :disabled="item.disabled" ').concat(o,">{{item.label}}</").concat(n,">"))}return e.join("\n")}function S(t){var e=[];return"picture-card"===t["list-type"]?e.push('<i class="el-icon-plus"></i>'):e.push('<el-button size="small" type="primary" icon="el-icon-upload">'.concat(t.buttonText,"</el-button>")),t.showTip&&e.push('<div slot="tip" class="el-upload__tip">只能上传不超过 '.concat(t.fileSize).concat(t.sizeUnit," 的").concat(t.accept,"文件</div>")),e.join("\n")}function N(t,e){var n=[];o=t,a=t.fields.some((function(t){return 24!==t.span})),t.fields.forEach((function(t){n.push(C[t.layout](t))}));var c=n.join("\n"),i=_(t,c,e);return"dialog"===e&&(i=v(i)),o=null,i}var z=n("80de"),A={"el-rate":".el-rate{display: inline-block; vertical-align: text-top;}","el-upload":".el-upload__tip{line-height: 1.2;}"};function F(t,e){var n=A[e.tag];n&&-1===t.indexOf(n)&&t.push(n),e.children&&e.children.forEach((function(e){return F(t,e)}))}function L(t){var e=[];return t.fields.forEach((function(t){return F(e,t)})),e.join("\n")}var T,$,R=[{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:"手机号格式错误"}]}],G=n("81a5"),B=n.n(G),K=n("a92a"),J=n("4923");function U(t){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(t)}function q(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function V(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?q(Object(n),!0).forEach((function(e){W(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function W(t,e,n){return e=H(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function H(t){var e=Q(t,"string");return"symbol"==U(e)?e:e+""}function Q(t,e){if("object"!=U(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!=U(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}var X={components:{draggable:l.a,render:f["a"],RightPanel:m["default"],CodeTypeDialog:K["default"],DraggableItem:J["default"]},data:function(){return{logo:B.a,idGlobal:100,formConf:b["a"],inputComponents:b["b"],selectComponents:b["d"],layoutComponents:b["c"],labelWidth:100,drawingList:R,drawingData:{},activeId:R[0].formId,drawerVisible:!1,formData:{},dialogVisible:!1,generateConf:null,showFileName:!1,activeData:R[0]}},created:function(){document.body.ondrop=function(t){t.preventDefault(),t.stopPropagation()}},watch:{"activeData.label":function(t,e){void 0!==this.activeData.placeholder&&this.activeData.tag&&T===this.activeId&&(this.activeData.placeholder=this.activeData.placeholder.replace(e,"")+t)},activeId:{handler:function(t){T=t},immediate:!0}},mounted:function(){var t=this,e=new p.a("#copyNode",{text:function(e){var n=t.generateCode();return t.$notify({title:"成功",message:"代码已复制到剪切板,可粘贴。",type:"success"}),n}});e.on("error",(function(e){t.$message.error("代码复制失败")}))},methods:{activeFormItem:function(t){this.activeData=t,this.activeId=t.formId},onEnd:function(t,e){t.from!==t.to&&(this.activeData=$,this.activeId=this.idGlobal)},addComponent:function(t){var e=this.cloneComponent(t);this.drawingList.push(e),this.activeFormItem(e)},cloneComponent:function(t){var e=JSON.parse(JSON.stringify(t));return e.formId=++this.idGlobal,e.span=b["a"].span,e.renderKey=+new Date,e.layout||(e.layout="colFormItem"),"colFormItem"===e.layout?(e.vModel="field".concat(this.idGlobal),void 0!==e.placeholder&&(e.placeholder+=e.label),$=e):"rowFormItem"===e.layout&&(delete e.label,e.componentName="row".concat(this.idGlobal),e.gutter=this.formConf.gutter,$=e),$},AssembleFormData:function(){this.formData=V({fields:JSON.parse(JSON.stringify(this.drawingList))},this.formConf)},generate:function(t){var e=this["exec".concat(Object(h["f"])(this.operationType))];this.generateConf=t,e&&e(t)},execRun:function(t){this.AssembleFormData(),this.drawerVisible=!0},execDownload:function(t){var e=this.generateCode(),n=new Blob([e],{type:"text/plain;charset=utf-8"});this.$download.saveAs(n,t.fileName)},execCopy:function(t){document.getElementById("copyNode").click()},empty:function(){var t=this;this.$confirm("确定要清空所有组件吗?","提示",{type:"warning"}).then((function(){t.drawingList=[]}))},drawingItemCopy:function(t,e){var n=JSON.parse(JSON.stringify(t));n=this.createIdAndKey(n),e.push(n),this.activeFormItem(n)},createIdAndKey:function(t){var e=this;return t.formId=++this.idGlobal,t.renderKey=+new Date,"colFormItem"===t.layout?t.vModel="field".concat(this.idGlobal):"rowFormItem"===t.layout&&(t.componentName="row".concat(this.idGlobal)),Array.isArray(t.children)&&(t.children=t.children.map((function(t){return e.createIdAndKey(t)}))),t},drawingItemDelete:function(t,e){var n=this;e.splice(t,1),this.$nextTick((function(){var t=n.drawingList.length;t&&n.activeFormItem(n.drawingList[t-1])}))},generateCode:function(){var t=this.generateConf.type;this.AssembleFormData();var e=y(Object(z["a"])(this.formData,t)),n=g(N(this.formData,t)),o=w(L(this.formData));return u.a.html(n+e+o,h["a"].html)},download:function(){this.dialogVisible=!0,this.showFileName=!0,this.operationType="download"},run:function(){this.dialogVisible=!0,this.showFileName=!1,this.operationType="run"},copy:function(){this.dialogVisible=!0,this.showFileName=!1,this.operationType="copy"},tagChange:function(t){var e=this;t=this.cloneComponent(t),t.vModel=this.activeData.vModel,t.formId=this.activeId,t.span=this.activeData.span,delete this.activeData.tag,delete this.activeData.tagIcon,delete this.activeData.document,Object.keys(t).forEach((function(n){void 0!==e.activeData[n]&&U(e.activeData[n])===U(t[n])&&(t[n]=e.activeData[n])})),this.activeData=t,this.updateDrawingList(t,this.drawingList)},updateDrawingList:function(t,e){var n=this,o=e.findIndex((function(t){return t.formId===n.activeId}));o>-1?e.splice(o,1,t):e.forEach((function(e){Array.isArray(e.children)&&n.updateDrawingList(t,e.children)}))}}},Y=X,Z=(n("0bcc"),n("2877")),tt=Object(Z["a"])(Y,c,i,!1,null,null,null);e["default"]=tt.exports},4854:function(t,e,n){},4923:function(t,e,n){"use strict";n.r(e);var o=n("b76a"),a=n.n(o),c=n("a85b"),i={itemBtns:function(t,e,n,o){var a=this.$listeners,c=a.copyItem,i=a.deleteItem;return[t("span",{class:"drawing-item-copy",attrs:{title:"复制"},on:{click:function(t){c(e,o),t.stopPropagation()}}},[t("i",{class:"el-icon-copy-document"})]),t("span",{class:"drawing-item-delete",attrs:{title:"删除"},on:{click:function(t){i(n,o),t.stopPropagation()}}},[t("i",{class:"el-icon-delete"})])]}},r={colFormItem:function(t,e,n,o){var a=this,r=this.$listeners.activeItem,l=this.activeId===e.formId?"drawing-item active-from-item":"drawing-item";return this.formConf.unFocusedComponentBorder&&(l+=" unfocus-bordered"),t("el-col",{attrs:{span:e.span},class:l,nativeOn:{click:function(t){r(e),t.stopPropagation()}}},[t("el-form-item",{attrs:{"label-width":e.labelWidth?"".concat(e.labelWidth,"px"):null,label:e.label,required:e.required}},[t(c["a"],{key:e.renderKey,attrs:{conf:e},on:{input:function(t){a.$set(e,"defaultValue",t)}}})]),i.itemBtns.apply(this,arguments)])},rowFormItem:function(t,e,n,o){var c=this.$listeners.activeItem,r=this.activeId===e.formId?"drawing-row-item active-from-item":"drawing-row-item",s=l.apply(this,arguments);return"flex"===e.type&&(s=t("el-row",{attrs:{type:e.type,justify:e.justify,align:e.align}},[s])),t("el-col",{attrs:{span:e.span}},[t("el-row",{attrs:{gutter:e.gutter},class:r,nativeOn:{click:function(t){c(e),t.stopPropagation()}}},[t("span",{class:"component-name"},[e.componentName]),t(a.a,{attrs:{list:e.children,animation:340,group:"componentsGroup"},class:"drag-wrapper"},[s]),i.itemBtns.apply(this,arguments)])])}};function l(t,e,n,o){var a=this;return Array.isArray(e.children)?e.children.map((function(n,o){var c=r[n.layout];return c?c.call(a,t,n,o,e.children):s()})):null}function s(){throw new Error("没有与".concat(this.element.layout,"匹配的layout"))}var u,d,p={components:{render:c["a"],draggable:a.a},props:["element","index","drawingList","activeId","formConf"],render:function(t){var e=r[this.element.layout];return e?e.call(this,t,this.element,this.index,this.drawingList):s()}},f=p,m=n("2877"),b=Object(m["a"])(f,u,d,!1,null,null,null);e["default"]=b.exports},"80de":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return makeUpJs}));var _utils_index__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("ed08"),_config__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("2e2a"),units={KB:"1024",MB:"1024 / 1024",GB:"1024 / 1024 / 1024"},confGlobal,inheritAttrs={file:"",dialog:"inheritAttrs: false,"};function makeUpJs(t,e){confGlobal=t=JSON.parse(JSON.stringify(t));var n=[],o=[],a=[],c=[],i=mixinMethod(e),r=[];t.fields.forEach((function(t){buildAttributes(t,n,o,a,i,c,r)}));var l=buildexport(t,e,n.join("\n"),o.join("\n"),a.join("\n"),r.join("\n"),c.join("\n"),i.join("\n"));return confGlobal=null,l}function buildAttributes(t,e,n,o,a,c,i){if(buildData(t,e),buildRules(t,n),t.options&&t.options.length&&(buildOptions(t,o),"dynamic"===t.dataType)){var r="".concat(t.vModel,"Options"),l=Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__["f"])(r);buildOptionMethod("get".concat(l),r,a)}t.props&&t.props.props&&buildProps(t,c),t.action&&"el-upload"===t.tag&&(i.push("".concat(t.vModel,"Action: '").concat(t.action,"',\n ").concat(t.vModel,"fileList: [],")),a.push(buildBeforeUpload(t)),t["auto-upload"]||a.push(buildSubmitUpload(t))),t.children&&t.children.forEach((function(t){buildAttributes(t,e,n,o,a,c,i)}))}function mixinMethod(t){var e=[],n={file:confGlobal.formBtns?{submitForm:"submitForm() {\n this.$refs['".concat(confGlobal.formRef,"'].validate(valid => {\n if(!valid) return\n // TODO 提交表单\n })\n },"),resetForm:"resetForm() {\n this.$refs['".concat(confGlobal.formRef,"'].resetFields()\n },")}:null,dialog:{onOpen:"onOpen() {},",onClose:"onClose() {\n this.$refs['".concat(confGlobal.formRef,"'].resetFields()\n },"),close:"close() {\n this.$emit('update:visible', false)\n },",handleConfirm:"handleConfirm() {\n this.$refs['".concat(confGlobal.formRef,"'].validate(valid => {\n if(!valid) return\n this.close()\n })\n },")}},o=n[t];return o&&Object.keys(o).forEach((function(t){e.push(o[t])})),e}function buildData(t,e){var n;void 0!==t.vModel&&(n="string"!==typeof t.defaultValue||t.multiple?"".concat(JSON.stringify(t.defaultValue)):"'".concat(t.defaultValue,"'"),e.push("".concat(t.vModel,": ").concat(n,",")))}function buildRules(conf,ruleList){if(void 0!==conf.vModel){var rules=[];if(_config__WEBPACK_IMPORTED_MODULE_1__["e"][conf.tag]){if(conf.required){var type=Array.isArray(conf.defaultValue)?"type: 'array',":"",message=Array.isArray(conf.defaultValue)?"请至少选择一个".concat(conf.vModel):conf.placeholder;void 0===message&&(message="".concat(conf.label,"不能为空")),rules.push("{ required: true, ".concat(type," message: '").concat(message,"', trigger: '").concat(_config__WEBPACK_IMPORTED_MODULE_1__["e"][conf.tag],"' }"))}conf.regList&&Array.isArray(conf.regList)&&conf.regList.forEach((function(item){item.pattern&&rules.push("{ pattern: ".concat(eval(item.pattern),", message: '").concat(item.message,"', trigger: '").concat(_config__WEBPACK_IMPORTED_MODULE_1__["e"][conf.tag],"' }"))})),ruleList.push("".concat(conf.vModel,": [").concat(rules.join(","),"],"))}}}function buildOptions(t,e){if(void 0!==t.vModel){"dynamic"===t.dataType&&(t.options=[]);var n="".concat(t.vModel,"Options: ").concat(JSON.stringify(t.options),",");e.push(n)}}function buildProps(t,e){"dynamic"===t.dataType&&("value"!==t.valueKey&&(t.props.props.value=t.valueKey),"label"!==t.labelKey&&(t.props.props.label=t.labelKey),"children"!==t.childrenKey&&(t.props.props.children=t.childrenKey));var n="".concat(t.vModel,"Props: ").concat(JSON.stringify(t.props.props),",");e.push(n)}function buildBeforeUpload(t){var e=units[t.sizeUnit],n="",o="",a=[];t.fileSize&&(n="let isRightSize = file.size / ".concat(e," < ").concat(t.fileSize,"\n if(!isRightSize){\n this.$message.error('文件大小超过 ").concat(t.fileSize).concat(t.sizeUnit,"')\n }"),a.push("isRightSize")),t.accept&&(o="let isAccept = new RegExp('".concat(t.accept,"').test(file.type)\n if(!isAccept){\n this.$message.error('应该选择").concat(t.accept,"类型的文件')\n }"),a.push("isAccept"));var c="".concat(t.vModel,"BeforeUpload(file) {\n ").concat(n,"\n ").concat(o,"\n return ").concat(a.join("&&"),"\n },");return a.length?c:""}function buildSubmitUpload(t){var e="submitUpload() {\n this.$refs['".concat(t.vModel,"'].submit()\n },");return e}function buildOptionMethod(t,e,n){var o="".concat(t,"() {\n // TODO 发起请求获取数据\n this.").concat(e,"\n },");n.push(o)}function buildexport(t,e,n,o,a,c,i,r){var l="".concat(_utils_index__WEBPACK_IMPORTED_MODULE_0__["c"],"{\n ").concat(inheritAttrs[e],"\n components: {},\n props: [],\n data () {\n return {\n ").concat(t.formModel,": {\n ").concat(n,"\n },\n ").concat(t.formRules,": {\n ").concat(o,"\n },\n ").concat(c,"\n ").concat(a,"\n ").concat(i,"\n }\n },\n computed: {},\n watch: {},\n created () {},\n mounted () {},\n methods: {\n ").concat(r,"\n }\n}");return l}},a85b:function(t,e,n){"use strict";var o=n("ed08"),a=Object(o["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 c(t,e,n){e.props.value=n,e.on.input=function(e){t.$emit("input",e)}}var i={"el-button":{default:function(t,e,n){return e[n]}},"el-input":{prepend:function(t,e,n){return t("template",{slot:"prepend"},[e[n]])},append:function(t,e,n){return t("template",{slot:"append"},[e[n]])}},"el-select":{options:function(t,e,n){var o=[];return e.options.forEach((function(e){o.push(t("el-option",{attrs:{label:e.label,value:e.value,disabled:e.disabled}}))})),o}},"el-radio-group":{options:function(t,e,n){var o=[];return e.options.forEach((function(n){"button"===e.optionType?o.push(t("el-radio-button",{attrs:{label:n.value}},[n.label])):o.push(t("el-radio",{attrs:{label:n.value,border:e.border}},[n.label]))})),o}},"el-checkbox-group":{options:function(t,e,n){var o=[];return e.options.forEach((function(n){"button"===e.optionType?o.push(t("el-checkbox-button",{attrs:{label:n.value}},[n.label])):o.push(t("el-checkbox",{attrs:{label:n.value,border:e.border}},[n.label]))})),o}},"el-upload":{"list-type":function(t,e,n){var o=[];return"picture-card"===e["list-type"]?o.push(t("i",{class:"el-icon-plus"})):o.push(t("el-button",{attrs:{size:"small",type:"primary",icon:"el-icon-upload"}},[e.buttonText])),e.showTip&&o.push(t("div",{slot:"tip",class:"el-upload__tip"},["只能上传不超过 ",e.fileSize,e.sizeUnit," 的",e.accept,"文件"])),o}}};e["a"]={render:function(t){var e=this,n={attrs:{},props:{},on:{},style:{}},o=JSON.parse(JSON.stringify(this.conf)),r=[],l=i[o.tag];return l&&Object.keys(l).forEach((function(e){var n=l[e];o[e]&&r.push(n(t,o,e))})),Object.keys(o).forEach((function(t){var i=o[t];"vModel"===t?c(e,n,o.defaultValue):n[t]?n[t]=i:a(t)?n.attrs[t]=i:n.props[t]=i})),t(this.conf.tag,n,r)},props:["conf"]}},a92a:function(t,e,n){"use strict";n.r(e);var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-dialog",t._g(t._b({attrs:{width:"500px","close-on-click-modal":!1,"modal-append-to-body":!1},on:{open:t.onOpen,close:t.onClose}},"el-dialog",t.$attrs,!1),t.$listeners),[n("el-row",{attrs:{gutter:15}},[n("el-form",{ref:"elForm",attrs:{model:t.formData,rules:t.rules,size:"medium","label-width":"100px"}},[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"生成类型",prop:"type"}},[n("el-radio-group",{model:{value:t.formData.type,callback:function(e){t.$set(t.formData,"type",e)},expression:"formData.type"}},t._l(t.typeOptions,(function(e,o){return n("el-radio-button",{key:o,attrs:{label:e.value,disabled:e.disabled}},[t._v(" "+t._s(e.label)+" ")])})),1)],1),t.showFileName?n("el-form-item",{attrs:{label:"文件名",prop:"fileName"}},[n("el-input",{attrs:{placeholder:"请输入文件名",clearable:""},model:{value:t.formData.fileName,callback:function(e){t.$set(t.formData,"fileName",e)},expression:"formData.fileName"}})],1):t._e()],1)],1)],1),n("div",{attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:t.close}},[t._v(" 取消 ")]),n("el-button",{attrs:{type:"primary"},on:{click:t.handleConfirm}},[t._v(" 确定 ")])],1)],1)],1)},a=[];function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){l(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function l(t,e,n){return e=s(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t){var e=u(t,"string");return"symbol"==c(e)?e:e+""}function u(t,e){if("object"!=c(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!=c(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}var d={inheritAttrs:!1,props:["showFileName"],data:function(){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:function(){},methods:{onOpen:function(){this.showFileName&&(this.formData.fileName="".concat(+new Date,".vue"))},onClose:function(){},close:function(t){this.$emit("update:visible",!1)},handleConfirm:function(){var t=this;this.$refs.elForm.validate((function(e){e&&(t.$emit("confirm",r({},t.formData)),t.close())}))}}},p=d,f=n("2877"),m=Object(f["a"])(p,o,a,!1,null,null,null);e["default"]=m.exports}}]); |