12 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-34d5dcf2"],{"0bd6":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-card",{scopedSlots:e._u([{key:"header",fn:function(){return[r("content-header")]},proxy:!0}])},[r("el-row",{attrs:{type:"flex",justify:"center"}},[r("lz-form",{ref:"form",attrs:{"get-data":e.getData,submit:e.onSubmit,errors:e.errors,form:e.form,"edit-mode":e.editMode},on:{"update:errors":function(t){e.errors=t},"update:form":function(t){e.form=t}}},[r("el-form-item",{attrs:{label:"类型",required:"",prop:"type"}},[r("el-radio-group",{model:{value:e.form.type,callback:function(t){e.$set(e.form,"type",t)},expression:"form.type"}},e._l(e.types,function(t){return r("el-radio",{key:t.value,attrs:{label:t.value}},[e._v("\n "+e._s(t.label)+"\n ")])}),1)],1),r("el-form-item",{attrs:{label:"分类",required:"",prop:"category_id"}},[r("el-select",{attrs:{placeholder:"选择分类",filterable:""},model:{value:e.form.category_id,callback:function(t){e.$set(e.form,"category_id",t)},expression:"form.category_id"}},e._l(e.cates,function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})}),1)],1),r("el-form-item",{attrs:{label:"名称",required:"",prop:"name"}},[r("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),r("el-form-item",{attrs:{label:"标识",required:"",prop:"slug"}},[r("el-input",{model:{value:e.form.slug,callback:function(t){e.$set(e.form,"slug",t)},expression:"form.slug"}})],1),r("el-form-item",{attrs:{label:"简介",prop:"desc"}},[r("el-input",{attrs:{type:"textarea"},model:{value:e.form.desc,callback:function(t){e.$set(e.form,"desc",t)},expression:"form.desc"}})],1),r("el-form-item",{attrs:{label:"选项",prop:"options"}},[r("type-options",{attrs:{type:e.form.type},model:{value:e.form.options,callback:function(t){e.$set(e.form,"options",t)},expression:"form.options"}})],1),r("el-form-item",{attrs:{label:"值",prop:"value"}},[r("type-input",{attrs:{type:e.form.type,options:e.form.options},model:{value:e.form.value,callback:function(t){e.$set(e.form,"value",t)},expression:"form.value"}})],1),r("el-form-item",{attrs:{label:"验证规则",prop:"validation_rules"}},[r("el-input",{model:{value:e.form.validation_rules,callback:function(t){e.$set(e.form,"validation_rules",t)},expression:"form.validation_rules"}})],1)],1)],1)],1)},i=[],o=(r("ac6a"),r("5df3"),r("768b")),a=(r("96cf"),r("3b8d")),s=r("ada3"),l=r("282a"),u=r("fe06"),c=r("9948"),p=r.n(c),f=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-form",{attrs:{"label-position":"top"}},[e.type===this.CONFIG_TYPES.FILE?[r("el-form-item",{attrs:{label:"最大上传数"}},[r("el-input-number",{attrs:{min:1,max:99},model:{value:e.value.max,callback:function(t){e.$set(e.value,"max",t)},expression:"value.max"}})],1),r("el-form-item",{attrs:{label:"文件类型"}},[r("el-input",{attrs:{placeholder:"多个之间用英文逗号隔开"},model:{value:e.value.ext,callback:function(t){e.$set(e.value,"ext",t)},expression:"value.ext"}})],1)]:e.type===this.CONFIG_TYPES.SINGLE_SELECT||e.type===this.CONFIG_TYPES.MULTIPLE_SELECT?[r("el-form-item",{attrs:{label:"选项设置"}},[r("el-input",{attrs:{type:"textarea",rows:"4",placeholder:"配置示例:\n值1=>文字1\n值2=>文字2"},model:{value:e.value.options,callback:function(t){e.$set(e.value,"options",t)},expression:"value.options"}})],1),r("el-form-item",{attrs:{label:"选择形式"}},[r("el-radio-group",{model:{value:e.value.type,callback:function(t){e.$set(e.value,"type",t)},expression:"value.type"}},[r("el-radio",{attrs:{label:"input"}},[e._v("单选/复选")]),r("el-radio",{attrs:{label:"select"}},[e._v("下拉选择")])],1)],1)]:[r("span",[e._v("无")])]],2)},m=[],d=(r("8e6e"),r("456d"),r("bd86")),h=r("5d7e"),b=r("2593"),y=r.n(b);function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(r,!0).forEach(function(t){Object(d["a"])(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(r).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var E={name:"TypeOptions",inject:{elForm:{default:""},elFormItem:{default:""}},props:{type:String,value:Object},computed:O({},Object(h["e"])(["CONFIG_TYPES"])),created:function(){this.optionsBak={},this.registryToFormItem(),this.$on("field-reset",this.onReset)},beforeDestroy:function(){this.$off("field-reset",this.onReset)},methods:{registryToFormItem:function(){this.elFormItem&&(this.elFormItem.inputComponent=this)},onReset:function(){this.optionsBak={},this.initOptions()},initOptions:function(){var e=this.type;if(e){var t;switch(e){case this.CONFIG_TYPES.FILE:t={max:1,ext:""};break;case this.CONFIG_TYPES.SINGLE_SELECT:case this.CONFIG_TYPES.MULTIPLE_SELECT:t={options:"",type:"input"};break;default:t=null}var r=t?y()(Object.assign({},this.optionsBak[e]||t,this.value),Object.keys(t)):null;this.optionsBak[e]=r,this.$emit("input",r)}}},watch:{type:{handler:function(){this.initOptions()},immediate:!0},$route:function(){this.optionsBak={}}}},x=E,k=r("2877"),g=Object(k["a"])(x,f,m,!1,null,null,null),I=g.exports,j=r("df78"),_=r("873a"),P={name:"Form",components:{TypeInput:j["a"],TypeOptions:I,LzForm:s["a"]},mixins:[u["a"]],data:function(){return{form:{type:"",category_id:"",name:"",slug:"",desc:"",options:{},value:"",validation_rules:""},errors:{},types:[],cates:[]}},methods:{getData:function(){var e=Object(a["a"])(regeneratorRuntime.mark(function e(){var t,r,n,i,a,s,u;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([Object(l["a"])(),Object(l["c"])({all:1})]);case 2:if(t=e.sent,r=Object(o["a"])(t,2),n=r[0].data,i=r[1].data,this.cates=i,a=[],p()(n,function(e,t){a.push({value:t,label:e})}),this.types=a,this.form.type=a[0].value,!this.editMode){e.next=19;break}return e.next=14,Object(l["b"])(this.resourceId);case 14:s=e.sent,u=s.data,this.fillForm(u),e.next=20;break;case 19:this.form.category_id=Object(_["t"])(this.$route.query.category_id,"");case 20:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}(),onSubmit:function(){var e=Object(a["a"])(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(!this.editMode){e.next=5;break}return e.next=3,Object(l["j"])(this.resourceId,this.form);case 3:e.next=7;break;case 5:return e.next=7,Object(l["h"])(this.form);case 7:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}},F=P,T=Object(k["a"])(F,n,i,!1,null,null,null);t["default"]=T.exports},"469f":function(e,t,r){r("6c1c"),r("1654"),e.exports=r("7d7b")},"5d73":function(e,t,r){e.exports=r("469f")},"768b":function(e,t,r){"use strict";var n=r("a745"),i=r.n(n);function o(e){if(i()(e))return e}var a=r("5d73"),s=r.n(a);function l(e,t){var r=[],n=!0,i=!1,o=void 0;try{for(var a,l=s()(e);!(n=(a=l.next()).done);n=!0)if(r.push(a.value),t&&r.length===t)break}catch(u){i=!0,o=u}finally{try{n||null==l["return"]||l["return"]()}finally{if(i)throw o}}return r}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function c(e,t){return o(e)||l(e,t)||u()}r.d(t,"a",function(){return c})},"7d7b":function(e,t,r){var n=r("e4ae"),i=r("7cd6");e.exports=r("584a").getIterator=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return n(t.call(e))}},df78:function(e,t,r){"use strict";r("8e6e"),r("456d");var n=r("7618"),i=r("768b"),o=(r("ac6a"),r("28a5"),r("bd86")),a=r("5d7e"),s=r("8e5b"),l=r("b047c"),u=r.n(l);function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(r,!0).forEach(function(t){Object(o["a"])(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(r).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var f,m,d={name:"TypeInput",components:{FilePicker:s["a"]},inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{filePickerKey:1}},props:{type:String,value:null,options:Object},computed:p({},Object(a["e"])(["CONFIG_TYPES"]),{selectOptions:function(){if(this.type!==this.CONFIG_TYPES.SINGLE_SELECT&&this.type!==this.CONFIG_TYPES.MULTIPLE_SELECT)return[];var e=this.options.options.split("\n"),t=[];return e.forEach(function(e){var r=e.split("=>").map(function(e){return e.trim()}),n=Object(i["a"])(r,2),o=n[0],a=n[1];a&&t.push({value:o,label:a})}),t}}),methods:{onInput:function(e){this.$emit("input",e)},initValue:function(){this.type===this.CONFIG_TYPES.FILE?this.options.max>1&&!Array.isArray(this.value)?this.onInput(this.value?[this.value]:[]):this.options.max<=1&&Array.isArray(this.value)&&this.onInput(this.value[0]||null):this.type===this.CONFIG_TYPES.MULTIPLE_SELECT?!Array.isArray(this.value)&&this.onInput([]):-1===["string","boolean","number"].indexOf(Object(n["a"])(this.value))&&this.onInput(null)},updateFilePicker:u()(function(){this.filePickerKey++},200)},watch:{type:{handler:function(){this.initValue()},immediate:!0},"options.max":function(e,t){e>1&&t>1||this.updateFilePicker(),this.initValue(),e>1&&e<t&&this.onInput(this.value.slice(0,e))},"options.ext":function(){this.updateFilePicker()}},render:function(e){var t=null,r={props:{value:this.value},on:{input:this.onInput}},n=null,i=this.CONFIG_TYPES;switch(this.type){case i.INPUT:case i.OTHER:t="el-input";break;case i.TEXTAREA:t="el-input",Object.assign(r.props,{rows:4,type:"textarea"});break;case i.FILE:t="file-picker",Object.assign(r.props,{max:this.options.max,ext:this.options.ext,multiple:this.options.max>1}),r.key=this.filePickerKey;break;case i.SINGLE_SELECT:case i.MULTIPLE_SELECT:var o=this.type===i.MULTIPLE_SELECT;"input"===this.options.type?(t=o?"el-checkbox-group":"el-radio-group",n=this.selectOptions.map(function(t){return e(o?"el-checkbox":"el-radio",{props:{key:t.value,label:t.value}},t.label)})):"select"===this.options.type&&(t="el-select",Object.assign(r.props,{multiple:o,clearable:o}),n=this.selectOptions.map(function(t){return e("el-option",{key:t.value,attrs:{value:t.value,label:t.label}})}));break;default:}return e(t,r,n)}},h=d,b=r("2877"),y=Object(b["a"])(h,f,m,!1,null,null,null);t["a"]=y.exports},fe06:function(e,t,r){"use strict";var n=r("873a");t["a"]={provide:function(){return{view:this}},data:function(){return{formField:"form",idField:"id"}},computed:{editMode:function(){return!!this.resourceId},resourceId:function(){return this.$route.params[this.idField]}},created:function(){this.backupForm()},methods:{getResourceId:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"id";return this.$route.params[e]},backupForm:function(){this.formBak=JSON.parse(JSON.stringify(this.$data[this.formField]))},fillForm:function(e){this.$data[this.formField]=Object(n["b"])(this.$data[this.formField],e)}}}}}]);
- //# sourceMappingURL=chunk-34d5dcf2.7ae5567b.js.map
|