chunk-894abb30.223ab97f.js.map 33 KB

1
  1. {"version":3,"sources":["webpack:///./resources/src/views/configs/Form.vue?8d0f","webpack:///./resources/src/views/configs/TypeOptions.vue?a761","webpack:///resources/src/views/configs/TypeOptions.vue","webpack:///./resources/src/views/configs/TypeOptions.vue?7e18","webpack:///./resources/src/views/configs/TypeOptions.vue","webpack:///resources/src/views/configs/Form.vue","webpack:///./resources/src/views/configs/Form.vue?dd0e","webpack:///./resources/src/views/configs/Form.vue","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///resources/src/views/configs/TypeInput.vue","webpack:///./resources/src/views/configs/TypeInput.vue","webpack:///./resources/src/views/configs/TypeInput.vue?5425","webpack:///./resources/src/components/LzForm/FormHelper.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","scopedSlots","_u","key","fn","proxy","attrs","ref","getData","onSubmit","errors","form","editMode","on","$event","model","value","callback","$$v","$set","expression","_l","i","_v","_s","label","id","name","type","options","staticRenderFns","CONFIG_TYPES","FILE","SINGLE_SELECT","MULTIPLE_SELECT","inject","elForm","default","elFormItem","props","String","Object","computed","created","optionsBak","registryToFormItem","$on","onReset","beforeDestroy","$off","methods","inputComponent","initOptions","defaultValue","max","ext","v","$emit","watch","handler","immediate","$route","component","components","TypeInput","TypeOptions","LzForm","mixins","data","category_id","slug","desc","validation_rules","types","cates","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","Symbol","iterator","_arr","_n","_d","_e","undefined","_i","next","done","push","length","err","_nonIterableRest","TypeError","_slicedToArray","unsupportedIterableToArray","FilePicker","filePickerKey","selectOptions","pairs","forEach","onInput","val","initValue","indexOf","updateFilePicker","slice","newVal","input","TYPES","INPUT","OTHER","TEXTAREA","assign","renderData","rows","multiple","isMultiple","slots","map","clearable","h","provide","view","formField","idField","resourceId","params","backupForm","getResourceId","formBak","JSON","parse","stringify","$data","fillForm","assignExists"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACE,YAAYN,EAAIO,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAACL,EAAG,oBAAoBM,OAAM,MAAS,CAACN,EAAG,SAAS,CAACO,MAAM,CAAC,KAAO,OAAO,QAAU,WAAW,CAACP,EAAG,UAAU,CAACQ,IAAI,OAAOD,MAAM,CAAC,WAAWX,EAAIa,QAAQ,OAASb,EAAIc,SAAS,OAASd,EAAIe,OAAO,KAAOf,EAAIgB,KAAK,YAAYhB,EAAIiB,UAAUC,GAAG,CAAC,gBAAgB,SAASC,GAAQnB,EAAIe,OAAOI,GAAQ,cAAc,SAASA,GAAQnB,EAAIgB,KAAKG,KAAU,CAACf,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,KAAK,SAAW,GAAG,KAAO,SAAS,CAACP,EAAG,iBAAiB,CAACgB,MAAM,CAACC,MAAOrB,EAAIgB,KAAS,KAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,OAAQO,IAAME,WAAW,cAAczB,EAAI0B,GAAI1B,EAAS,OAAE,SAAS2B,GAAG,OAAOvB,EAAG,WAAW,CAACI,IAAImB,EAAEN,MAAMV,MAAM,CAAC,MAAQgB,EAAEN,QAAQ,CAACrB,EAAI4B,GAAG,iBAAiB5B,EAAI6B,GAAGF,EAAEG,OAAO,qBAAoB,IAAI,GAAG1B,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,KAAK,SAAW,GAAG,KAAO,gBAAgB,CAACP,EAAG,YAAY,CAACO,MAAM,CAAC,YAAc,OAAO,WAAa,IAAIS,MAAM,CAACC,MAAOrB,EAAIgB,KAAgB,YAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,cAAeO,IAAME,WAAW,qBAAqBzB,EAAI0B,GAAI1B,EAAS,OAAE,SAAS2B,GAAG,OAAOvB,EAAG,YAAY,CAACI,IAAImB,EAAEI,GAAGpB,MAAM,CAAC,MAAQgB,EAAEK,KAAK,MAAQL,EAAEI,SAAQ,IAAI,GAAG3B,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,KAAK,SAAW,GAAG,KAAO,SAAS,CAACP,EAAG,WAAW,CAACgB,MAAM,CAACC,MAAOrB,EAAIgB,KAAS,KAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,OAAQO,IAAME,WAAW,gBAAgB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,KAAK,SAAW,GAAG,KAAO,SAAS,CAACP,EAAG,WAAW,CAACgB,MAAM,CAACC,MAAOrB,EAAIgB,KAAS,KAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,OAAQO,IAAME,WAAW,gBAAgB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,KAAK,KAAO,SAAS,CAACP,EAAG,WAAW,CAACO,MAAM,CAAC,KAAO,YAAYS,MAAM,CAACC,MAAOrB,EAAIgB,KAAS,KAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,OAAQO,IAAME,WAAW,gBAAgB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,KAAK,KAAO,YAAY,CAACP,EAAG,eAAe,CAACO,MAAM,CAAC,KAAOX,EAAIgB,KAAKiB,MAAMb,MAAM,CAACC,MAAOrB,EAAIgB,KAAY,QAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,UAAWO,IAAME,WAAW,mBAAmB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,IAAI,KAAO,UAAU,CAACP,EAAG,aAAa,CAACO,MAAM,CAAC,KAAOX,EAAIgB,KAAKiB,KAAK,QAAUjC,EAAIgB,KAAKkB,SAASd,MAAM,CAACC,MAAOrB,EAAIgB,KAAU,MAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,QAASO,IAAME,WAAW,iBAAiB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,OAAO,KAAO,qBAAqB,CAACP,EAAG,WAAW,CAACgB,MAAM,CAACC,MAAOrB,EAAIgB,KAAqB,iBAAEM,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIgB,KAAM,mBAAoBO,IAAME,WAAW,4BAA4B,IAAI,IAAI,IAAI,IAChiFU,EAAkB,G,mHCDlB,EAAS,WAAa,IAAInC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACO,MAAM,CAAC,iBAAiB,QAAQ,CAAEX,EAAIiC,OAAShC,KAAKmC,aAAaC,KAAM,CAACjC,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,UAAU,CAACP,EAAG,kBAAkB,CAACO,MAAM,CAAC,IAAM,EAAE,IAAM,IAAIS,MAAM,CAACC,MAAOrB,EAAIqB,MAAS,IAAEC,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIqB,MAAO,MAAOE,IAAME,WAAW,gBAAgB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAG,WAAW,CAACO,MAAM,CAAC,YAAc,eAAeS,MAAM,CAACC,MAAOrB,EAAIqB,MAAS,IAAEC,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIqB,MAAO,MAAOE,IAAME,WAAW,gBAAgB,IAAKzB,EAAIiC,OAAShC,KAAKmC,aAAaE,eAAiBtC,EAAIiC,OAAShC,KAAKmC,aAAaG,gBAAiB,CAACnC,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAG,WAAW,CAACO,MAAM,CAAC,KAAO,WAAW,KAAO,IAAI,YAAc,2BAA2BS,MAAM,CAACC,MAAOrB,EAAIqB,MAAa,QAAEC,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIqB,MAAO,UAAWE,IAAME,WAAW,oBAAoB,GAAGrB,EAAG,eAAe,CAACO,MAAM,CAAC,MAAQ,SAAS,CAACP,EAAG,iBAAiB,CAACgB,MAAM,CAACC,MAAOrB,EAAIqB,MAAU,KAAEC,SAAS,SAAUC,GAAMvB,EAAIwB,KAAKxB,EAAIqB,MAAO,OAAQE,IAAME,WAAW,eAAe,CAACrB,EAAG,WAAW,CAACO,MAAM,CAAC,MAAQ,UAAU,CAACX,EAAI4B,GAAG,WAAWxB,EAAG,WAAW,CAACO,MAAM,CAAC,MAAQ,WAAW,CAACX,EAAI4B,GAAG,WAAW,IAAI,IAAI,CAACxB,EAAG,OAAO,CAACJ,EAAI4B,GAAG,SAAS,IACnxC,EAAkB,G,+oBCmCtB,OACEI,KAAM,cACNQ,OAAQ,CACNC,OAAQ,CACNC,QAAS,IAGXC,WAAY,CACVD,QAAS,KAGbE,MAAO,CACLX,KAAMY,OACNxB,MAAOyB,QAETC,SAAU,EAAZ,GACA,kCAEEC,QAlBF,WAuBI/C,KAAKgD,WAAa,GAElBhD,KAAKiD,qBACLjD,KAAKkD,IAAI,cAAelD,KAAKmD,UAE/BC,cA5BF,WA6BIpD,KAAKqD,KAAK,cAAerD,KAAKmD,UAEhCG,QAAS,CACPL,mBADJ,WAEMjD,KAAK0C,aAAe1C,KAAK0C,WAAWa,eAAiBvD,OAEvDmD,QAJJ,WAKMnD,KAAKgD,WAAa,GAClBhD,KAAKwD,eAEPA,YARJ,WASM,IAAN,YACM,GAAKxB,EAAL,CAIA,IAAN,EACM,OAAQA,GACN,KAAKhC,KAAKmC,aAAaC,KACrBqB,EAAe,CACbC,IAAK,EACLC,IAAK,IAEP,MACF,KAAK3D,KAAKmC,aAAaE,cACvB,KAAKrC,KAAKmC,aAAaG,gBACrBmB,EAAe,CACbxB,QAAS,GACTD,KAAM,SAER,MACF,QACEyB,EAAe,KAGnB,IAAN,IACA,uEACA,KAEMzD,KAAKgD,WAAWhB,GAAQ4B,EACxB5D,KAAK6D,MAAM,QAASD,MAGxBE,MAAO,CACL9B,KAAM,CACJ+B,QADN,WAEQ/D,KAAKwD,eAEPQ,WAAW,GAEbC,OAPJ,WASMjE,KAAKgD,WAAa,MCrH2V,I,YCO/WkB,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,gCC6Df,GACEnC,KAAM,OACNoC,WAAY,CACVC,UAAJ,OACIC,YAAJ,EACIC,OAAJ,QAEEC,OAAQ,CACV,QAEEC,KAVF,WAWI,MAAO,CACLzD,KAAM,CACJiB,KAAM,GACNyC,YAAa,GACb1C,KAAM,GACN2C,KAAM,GACNC,KAAM,GACN1C,QAAS,GACTb,MAAO,GACPwD,iBAAkB,IAEpB9D,OAAQ,GAER+D,MAAO,GACPC,MAAO,KAGXxB,QAAS,CACP,QADJ,yLAKA,aACA,iBACA,0BAPA,yCAGA,EAHA,KAGA,KACA,EAJA,KAIA,KAMA,aAEA,KACA,qBACA,QACA,QACA,aAGA,aAEA,2BAEA,cAvBA,kCAwBA,gCAxBA,iBAwBA,EAxBA,EAwBA,KACA,iBAzBA,wBA2BA,uEA3BA,yGA8BI,SA9BJ,2JA+BA,cA/BA,gCAgCA,0CAhCA,6CAkCA,0BAlCA,0GC3G4W,ICOxW,EAAY,eACd,EACAxD,EACAoC,GACA,EACA,KACA,KACA,MAIa,e,2CClBA,SAAS6C,EAAgBC,GACtC,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,ECDlB,SAASG,EAAsBH,EAAKtD,GACjD,GAAsB,qBAAX0D,QAA4BA,OAAOC,YAAYxC,OAAOmC,GAAjE,CACA,IAAIM,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiC9D,EAA7B+D,EAAKX,EAAII,OAAOC,cAAmBE,GAAM3D,EAAK+D,EAAGC,QAAQC,MAAON,GAAK,EAG5E,GAFAD,EAAKQ,KAAKlE,EAAGR,OAETM,GAAK4D,EAAKS,SAAWrE,EAAG,MAE9B,MAAOsE,GACPR,GAAK,EACLC,EAAKO,EACL,QACA,IACOT,GAAsB,MAAhBI,EAAG,WAAmBA,EAAG,YACpC,QACA,GAAIH,EAAI,MAAMC,GAIlB,OAAOH,G,kDCxBM,SAASW,IACtB,MAAM,IAAIC,UAAU,6ICGP,SAASC,EAAenB,EAAKtD,GAC1C,OAAO,EAAesD,IAAQ,EAAqBA,EAAKtD,IAAM,OAAA0E,EAAA,MAA2BpB,EAAKtD,IAAM,M,8uBCAtG,ICLI5B,EAAQoC,EDKZ,GACEH,KAAM,YACNoC,WAAY,CACVkC,WAAJ,QAEE9D,OAAQ,CACNC,OAAQ,CACNC,QAAS,IAGXC,WAAY,CACVD,QAAS,KAGb+B,KAdF,WAeI,MAAO,CACL8B,cAAe,IAGnB3D,MAAO,CACLX,KAAMY,OACNxB,MAAO,KACPa,QAASY,QAEXC,SAAU,EAAZ,KACA,kCADA,IAEIyD,cAFJ,WAGM,GACN,6CACA,8CAEQ,MAAO,GAEP,IAAR,mCACA,KAOQ,OANAC,EAAMC,SAAQ,SAAtB,SACA,kDADA,sBACA,EADA,KACA,EADA,KAEc5E,GACFI,EAAQ6D,KAAK,CAAzB,qBAGe7D,KAIbqB,QAAS,CACPoD,QADJ,SACA,GACM1G,KAAK6D,MAAM,QAAS8C,IAKtBC,UAPJ,WAQU5G,KAAKgC,OAAShC,KAAKmC,aAAaC,KAC9BpC,KAAKiC,QAAQyB,IAAM,IAAMuB,MAAMC,QAAQlF,KAAKoB,OAE9CpB,KAAK0G,QAAQ1G,KAAKoB,MAAQ,CAACpB,KAAKoB,OAAS,IACnD,gDAEUpB,KAAK0G,QAAQ1G,KAAKoB,MAAM,IAAM,MAExC,+CACS6D,MAAMC,QAAQlF,KAAKoB,QAAUpB,KAAK0G,QAAQ,KAEnD,IAAY,CAAC,SAAU,UAAW,UAAUG,QAAQ,OAApD,OAAoD,CAApD,cACU7G,KAAK0G,QAAQ,OAOnBI,iBAAkB,KAAtB,WACM9G,KAAKsG,kBACX,MAEExC,MAAO,CACL9B,KAAM,CACJ+B,QADN,WAEQ/D,KAAK4G,aAEP5C,WAAW,GAEb,cAPJ,SAOA,KAGY,EAAZ,QACQhE,KAAK8G,mBAEP9G,KAAK4G,YAED,EAAV,QACQ5G,KAAK0G,QAAQ1G,KAAKoB,MAAM2F,MAAM,EAAGC,KAGrC,cAnBJ,WAoBMhH,KAAK8G,qBAGThH,OAnGF,SAmGA,GACI,IAAJ,OACA,GACM6C,MAAO,CACLvB,MAAOpB,KAAKoB,OAEdH,GAAI,CACFgG,MAAOjH,KAAK0G,UAGpB,OAEA,oBACI,OAAQ1G,KAAKgC,MACX,KAAKkF,EAAMC,MACX,KAAKD,EAAME,MACTlD,EAAY,WACZ,MACF,KAAKgD,EAAMG,SACTnD,EAAY,WACZrB,OAAOyE,OAAOC,EAAW5E,MAAO,CAC9B6E,KAAM,EACNxF,KAAM,aAER,MACF,KAAKkF,EAAM9E,KACT8B,EAAY,cACZrB,OAAOyE,OAAOC,EAAW5E,MAAO,CAC9Be,IAAK1D,KAAKiC,QAAQyB,IAClBC,IAAK3D,KAAKiC,QAAQ0B,IAClB8D,SAAUzH,KAAKiC,QAAQyB,IAAM,IAE/B6D,EAAWhH,IAAMP,KAAKsG,cACtB,MACF,KAAKY,EAAM7E,cACX,KAAK6E,EAAM5E,gBACT,IAAR,gCACkC,UAAtBtC,KAAKiC,QAAQD,MACfkC,EAAYwD,EACtB,oBACA,iBACUC,EAAQ3H,KAAKuG,cAAcqB,KAAI,SAAzC,UACA,8BACcjF,MAAO,CACLpC,IAAKmB,EAAEN,MACPS,MAAOH,EAAEN,QAEzB,aAEA,+BACU8C,EAAY,YACZrB,OAAOyE,OAAOC,EAAW5E,MAAO,CAC9B8E,SAAUC,EACVG,UAAWH,IAEbC,EAAQ3H,KAAKuG,cAAcqB,KAAI,SAAzC,6BACA,QADA,aACA,QADA,MACA,eAGQ,MACF,SAIF,OAAOE,EAAE5D,EAAWqD,EAAYI,KExK6U,I,YDO7WzD,EAAY,eACd,EACApE,EACAoC,GACA,EACA,KACA,KACA,MAIa,OAAAgC,E,2CElBf,gBAEe,QACb6D,QADa,WAEX,MAAO,CACLC,KAAMhI,OAGVwE,KANa,WAOX,MAAO,CAILyD,UAAW,OAIXC,QAAS,OAGbpF,SAAU,CACR9B,SADQ,WAEN,QAAShB,KAAKmI,YAEhBA,WAJQ,WAKN,OAAOnI,KAAKiE,OAAOmE,OAAOpI,KAAKkI,WAGnCnF,QA1Ba,WA2BX/C,KAAKqI,cAEP/E,QAAS,CACPgF,cADO,WACmB,IAAZ/H,EAAY,uDAAN,KAClB,OAAOP,KAAKiE,OAAOmE,OAAO7H,IAK5B8H,WAPO,WAQLrI,KAAKuI,QAAUC,KAAKC,MAAMD,KAAKE,UAAU1I,KAAK2I,MAAM3I,KAAKiI,cAO3DW,SAfO,SAeEpE,GACPxE,KAAK2I,MAAM3I,KAAKiI,WAAaY,eAAa7I,KAAK2I,MAAM3I,KAAKiI,WAAYzD","file":"js/chunk-894abb30.223ab97f.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('content-header')]},proxy:true}])},[_c('el-row',{attrs:{\"type\":\"flex\",\"justify\":\"center\"}},[_c('lz-form',{ref:\"form\",attrs:{\"get-data\":_vm.getData,\"submit\":_vm.onSubmit,\"errors\":_vm.errors,\"form\":_vm.form,\"edit-mode\":_vm.editMode},on:{\"update:errors\":function($event){_vm.errors=$event},\"update:form\":function($event){_vm.form=$event}}},[_c('el-form-item',{attrs:{\"label\":\"类型\",\"required\":\"\",\"prop\":\"type\"}},[_c('el-radio-group',{model:{value:(_vm.form.type),callback:function ($$v) {_vm.$set(_vm.form, \"type\", $$v)},expression:\"form.type\"}},_vm._l((_vm.types),function(i){return _c('el-radio',{key:i.value,attrs:{\"label\":i.value}},[_vm._v(\"\\n \"+_vm._s(i.label)+\"\\n \")])}),1)],1),_c('el-form-item',{attrs:{\"label\":\"分类\",\"required\":\"\",\"prop\":\"category_id\"}},[_c('el-select',{attrs:{\"placeholder\":\"选择分类\",\"filterable\":\"\"},model:{value:(_vm.form.category_id),callback:function ($$v) {_vm.$set(_vm.form, \"category_id\", $$v)},expression:\"form.category_id\"}},_vm._l((_vm.cates),function(i){return _c('el-option',{key:i.id,attrs:{\"label\":i.name,\"value\":i.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"名称\",\"required\":\"\",\"prop\":\"name\"}},[_c('el-input',{model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"标识\",\"required\":\"\",\"prop\":\"slug\"}},[_c('el-input',{model:{value:(_vm.form.slug),callback:function ($$v) {_vm.$set(_vm.form, \"slug\", $$v)},expression:\"form.slug\"}})],1),_c('el-form-item',{attrs:{\"label\":\"简介\",\"prop\":\"desc\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.desc),callback:function ($$v) {_vm.$set(_vm.form, \"desc\", $$v)},expression:\"form.desc\"}})],1),_c('el-form-item',{attrs:{\"label\":\"选项\",\"prop\":\"options\"}},[_c('type-options',{attrs:{\"type\":_vm.form.type},model:{value:(_vm.form.options),callback:function ($$v) {_vm.$set(_vm.form, \"options\", $$v)},expression:\"form.options\"}})],1),_c('el-form-item',{attrs:{\"label\":\"值\",\"prop\":\"value\"}},[_c('type-input',{attrs:{\"type\":_vm.form.type,\"options\":_vm.form.options},model:{value:(_vm.form.value),callback:function ($$v) {_vm.$set(_vm.form, \"value\", $$v)},expression:\"form.value\"}})],1),_c('el-form-item',{attrs:{\"label\":\"验证规则\",\"prop\":\"validation_rules\"}},[_c('el-input',{model:{value:(_vm.form.validation_rules),callback:function ($$v) {_vm.$set(_vm.form, \"validation_rules\", $$v)},expression:\"form.validation_rules\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{attrs:{\"label-position\":\"top\"}},[(_vm.type === this.CONFIG_TYPES.FILE)?[_c('el-form-item',{attrs:{\"label\":\"最大上传数\"}},[_c('el-input-number',{attrs:{\"min\":1,\"max\":99},model:{value:(_vm.value.max),callback:function ($$v) {_vm.$set(_vm.value, \"max\", $$v)},expression:\"value.max\"}})],1),_c('el-form-item',{attrs:{\"label\":\"文件类型\"}},[_c('el-input',{attrs:{\"placeholder\":\"多个之间用英文逗号隔开\"},model:{value:(_vm.value.ext),callback:function ($$v) {_vm.$set(_vm.value, \"ext\", $$v)},expression:\"value.ext\"}})],1)]:(_vm.type === this.CONFIG_TYPES.SINGLE_SELECT || _vm.type === this.CONFIG_TYPES.MULTIPLE_SELECT)?[_c('el-form-item',{attrs:{\"label\":\"选项设置\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"rows\":\"4\",\"placeholder\":'配置示例:\\n值1=>文字1\\n值2=>文字2'},model:{value:(_vm.value.options),callback:function ($$v) {_vm.$set(_vm.value, \"options\", $$v)},expression:\"value.options\"}})],1),_c('el-form-item',{attrs:{\"label\":\"选择形式\"}},[_c('el-radio-group',{model:{value:(_vm.value.type),callback:function ($$v) {_vm.$set(_vm.value, \"type\", $$v)},expression:\"value.type\"}},[_c('el-radio',{attrs:{\"label\":\"input\"}},[_vm._v(\"单选/复选\")]),_c('el-radio',{attrs:{\"label\":\"select\"}},[_vm._v(\"下拉选择\")])],1)],1)]:[_c('span',[_vm._v(\"无\")])]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <el-form label-position=\"top\">\r\n <template v-if=\"type === this.CONFIG_TYPES.FILE\">\r\n <el-form-item label=\"最大上传数\">\r\n <el-input-number v-model=\"value.max\" :min=\"1\" :max=\"99\"/>\r\n </el-form-item>\r\n <el-form-item label=\"文件类型\">\r\n <el-input v-model=\"value.ext\" placeholder=\"多个之间用英文逗号隔开\"/>\r\n </el-form-item>\r\n </template>\r\n <template v-else-if=\"type === this.CONFIG_TYPES.SINGLE_SELECT || type === this.CONFIG_TYPES.MULTIPLE_SELECT\">\r\n <el-form-item label=\"选项设置\">\r\n <el-input\r\n type=\"textarea\"\r\n rows=\"4\"\r\n v-model=\"value.options\"\r\n :placeholder=\"'配置示例:\\n值1=>文字1\\n值2=>文字2'\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"选择形式\">\r\n <el-radio-group v-model=\"value.type\">\r\n <el-radio label=\"input\">单选/复选</el-radio>\r\n <el-radio label=\"select\">下拉选择</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </template>\r\n <template v-else>\r\n <span>无</span>\r\n </template>\r\n </el-form>\r\n</template>\r\n\r\n<script>\r\nimport { mapConstants } from '@/libs/constants'\r\nimport _pick from 'lodash/pick'\r\n\r\nexport default {\r\n name: 'TypeOptions',\r\n inject: {\r\n elForm: {\r\n default: '',\r\n },\r\n\r\n elFormItem: {\r\n default: '',\r\n },\r\n },\r\n props: {\r\n type: String,\r\n value: Object,\r\n },\r\n computed: {\r\n ...mapConstants(['CONFIG_TYPES']),\r\n },\r\n created() {\r\n /**\r\n * 存储类型对应的 options\r\n * 用来在切换类型后,恢复原来设置的值\r\n */\r\n this.optionsBak = {}\r\n\r\n this.registryToFormItem()\r\n this.$on('field-reset', this.onReset)\r\n },\r\n beforeDestroy() {\r\n this.$off('field-reset', this.onReset)\r\n },\r\n methods: {\r\n registryToFormItem() {\r\n this.elFormItem && (this.elFormItem.inputComponent = this)\r\n },\r\n onReset() {\r\n this.optionsBak = {}\r\n this.initOptions()\r\n },\r\n initOptions() {\r\n const type = this.type\r\n if (!type) {\r\n return\r\n }\r\n\r\n let defaultValue\r\n switch (type) {\r\n case this.CONFIG_TYPES.FILE:\r\n defaultValue = {\r\n max: 1,\r\n ext: '',\r\n }\r\n break\r\n case this.CONFIG_TYPES.SINGLE_SELECT:\r\n case this.CONFIG_TYPES.MULTIPLE_SELECT:\r\n defaultValue = {\r\n options: '',\r\n type: 'input',\r\n }\r\n break\r\n default:\r\n defaultValue = null\r\n }\r\n\r\n const v = defaultValue\r\n ? _pick(Object.assign({}, this.optionsBak[type] || defaultValue, this.value), Object.keys(defaultValue))\r\n : null\r\n // 存储类型对应的 options,用来还原\r\n this.optionsBak[type] = v\r\n this.$emit('input', v)\r\n },\r\n },\r\n watch: {\r\n type: {\r\n handler() {\r\n this.initOptions()\r\n },\r\n immediate: true,\r\n },\r\n $route() {\r\n // 路由变化会复用组件,清空一下\r\n this.optionsBak = {}\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeOptions.vue?vue&type=template&id=6444bbcd&\"\nimport script from \"./TypeOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeOptions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <el-card>\r\n <template #header>\r\n <content-header/>\r\n </template>\r\n <el-row type=\"flex\" justify=\"center\">\r\n <lz-form\r\n ref=\"form\"\r\n :get-data=\"getData\"\r\n :submit=\"onSubmit\"\r\n :errors.sync=\"errors\"\r\n :form.sync=\"form\"\r\n :edit-mode=\"editMode\"\r\n >\r\n <el-form-item label=\"类型\" required prop=\"type\">\r\n <el-radio-group v-model=\"form.type\">\r\n <el-radio\r\n v-for=\"i of types\"\r\n :key=\"i.value\"\r\n :label=\"i.value\"\r\n >\r\n {{ i.label }}\r\n </el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n <el-form-item label=\"分类\" required prop=\"category_id\">\r\n <el-select\r\n v-model=\"form.category_id\"\r\n placeholder=\"选择分类\"\r\n filterable\r\n >\r\n <el-option\r\n v-for=\"i of cates\"\r\n :key=\"i.id\"\r\n :label=\"i.name\"\r\n :value=\"i.id\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"名称\" required prop=\"name\">\r\n <el-input v-model=\"form.name\"/>\r\n </el-form-item>\r\n <el-form-item label=\"标识\" required prop=\"slug\">\r\n <el-input v-model=\"form.slug\"/>\r\n </el-form-item>\r\n <el-form-item label=\"简介\" prop=\"desc\">\r\n <el-input v-model=\"form.desc\" type=\"textarea\"/>\r\n </el-form-item>\r\n <el-form-item label=\"选项\" prop=\"options\">\r\n <type-options v-model=\"form.options\" :type=\"form.type\"/>\r\n </el-form-item>\r\n <el-form-item label=\"值\" prop=\"value\">\r\n <type-input\r\n v-model=\"form.value\"\r\n :type=\"form.type\"\r\n :options=\"form.options\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"验证规则\" prop=\"validation_rules\">\r\n <el-input v-model=\"form.validation_rules\"/>\r\n </el-form-item>\r\n </lz-form>\r\n </el-row>\r\n </el-card>\r\n</template>\r\n\r\n<script>\r\nimport LzForm from '@c/LzForm'\r\nimport {\r\n createConfig,\r\n editConfig,\r\n getConfigCategories, storeConfig, updateConfig,\r\n} from '@/api/configs'\r\nimport FormHelper from '@c/LzForm/FormHelper'\r\nimport _forIn from 'lodash/forIn'\r\nimport TypeOptions from '@v/configs/TypeOptions'\r\nimport TypeInput from '@v/configs/TypeInput'\r\nimport { toInt } from '@/libs/utils'\r\n\r\nexport default {\r\n name: 'Form',\r\n components: {\r\n TypeInput,\r\n TypeOptions,\r\n LzForm,\r\n },\r\n mixins: [\r\n FormHelper,\r\n ],\r\n data() {\r\n return {\r\n form: {\r\n type: '',\r\n category_id: '',\r\n name: '',\r\n slug: '',\r\n desc: '',\r\n options: {},\r\n value: '',\r\n validation_rules: '',\r\n },\r\n errors: {},\r\n\r\n types: [],\r\n cates: [],\r\n }\r\n },\r\n methods: {\r\n async getData() {\r\n const [\r\n { data: typeMap },\r\n { data: cates },\r\n ] = await Promise.all([\r\n createConfig(),\r\n getConfigCategories({ all: 1 }),\r\n ])\r\n\r\n this.cates = cates\r\n\r\n const types = []\r\n _forIn(typeMap, (value, key) => {\r\n types.push({\r\n value: key,\r\n label: value,\r\n })\r\n })\r\n this.types = types\r\n // 表单中类型,默认选择第一个\r\n this.form.type = types[0].value\r\n\r\n if (this.editMode) {\r\n const { data: form } = await editConfig(this.resourceId)\r\n this.fillForm(form)\r\n } else {\r\n this.form.category_id = toInt(this.$route.query.category_id, '')\r\n }\r\n },\r\n async onSubmit() {\r\n if (this.editMode) {\r\n await updateConfig(this.resourceId, this.form)\r\n } else {\r\n await storeConfig(this.form)\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=17cd4672&\"\nimport script from \"./Form.vue?vue&type=script&lang=js&\"\nexport * from \"./Form.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","<script>\r\nimport { mapConstants } from '@/libs/constants'\r\nimport FilePicker from '@c/FilePicker'\r\nimport _debounce from 'lodash/debounce'\r\n\r\nexport default {\r\n name: 'TypeInput',\r\n components: {\r\n FilePicker,\r\n },\r\n inject: {\r\n elForm: {\r\n default: '',\r\n },\r\n\r\n elFormItem: {\r\n default: '',\r\n },\r\n },\r\n data() {\r\n return {\r\n filePickerKey: 1,\r\n }\r\n },\r\n props: {\r\n type: String,\r\n value: null,\r\n options: Object,\r\n },\r\n computed: {\r\n ...mapConstants(['CONFIG_TYPES']),\r\n selectOptions() {\r\n if (\r\n (this.type !== this.CONFIG_TYPES.SINGLE_SELECT) &&\r\n (this.type !== this.CONFIG_TYPES.MULTIPLE_SELECT)\r\n ) {\r\n return []\r\n } else {\r\n const pairs = this.options.options.split('\\n')\r\n const options = []\r\n pairs.forEach((pair) => {\r\n const [value, label] = pair.split('=>').map((i) => i.trim())\r\n if (label) {\r\n options.push({ value, label })\r\n }\r\n })\r\n return options\r\n }\r\n },\r\n },\r\n methods: {\r\n onInput(val) {\r\n this.$emit('input', val)\r\n },\r\n /**\r\n * 当类型或者文件选择最大限制改变时,要改变值的类型\r\n */\r\n initValue() {\r\n if (this.type === this.CONFIG_TYPES.FILE) {\r\n if (this.options.max > 1 && !Array.isArray(this.value)) {\r\n // 如果是多选,且原来的值不是数组,则用数组包起来,空值则为空数组\r\n this.onInput(this.value ? [this.value] : [])\r\n } else if (this.options.max <= 1 && Array.isArray(this.value)) {\r\n // 如果是单选,且原来的值是数组,则选第一个,否则为 null\r\n this.onInput(this.value[0] || null)\r\n }\r\n } else if (this.type === this.CONFIG_TYPES.MULTIPLE_SELECT) {\r\n !Array.isArray(this.value) && this.onInput([])\r\n } else {\r\n if (['string', 'boolean', 'number'].indexOf(typeof this.value) === -1) {\r\n this.onInput(null)\r\n }\r\n }\r\n },\r\n /**\r\n * 重新渲染 FilePicker 组件\r\n */\r\n updateFilePicker: _debounce(function () {\r\n this.filePickerKey++\r\n }, 200),\r\n },\r\n watch: {\r\n type: {\r\n handler() {\r\n this.initValue()\r\n },\r\n immediate: true,\r\n },\r\n 'options.max'(newVal, oldVal) {\r\n // 如果变了之后,都还是多选,则不用更新\r\n // 这里条件取反\r\n if (!((newVal > 1) && (oldVal > 1))) {\r\n this.updateFilePicker()\r\n }\r\n this.initValue()\r\n // 多选时,如果数量变少了,则要去掉 value 中多出来的文件\r\n if ((newVal > 1) && (newVal < oldVal)) {\r\n this.onInput(this.value.slice(0, newVal))\r\n }\r\n },\r\n 'options.ext'() {\r\n this.updateFilePicker()\r\n },\r\n },\r\n render(h) {\r\n let component = null\r\n const renderData = {\r\n props: {\r\n value: this.value,\r\n },\r\n on: {\r\n input: this.onInput,\r\n },\r\n }\r\n let slots = null\r\n\r\n const TYPES = this.CONFIG_TYPES\r\n switch (this.type) {\r\n case TYPES.INPUT:\r\n case TYPES.OTHER:\r\n component = 'el-input'\r\n break\r\n case TYPES.TEXTAREA:\r\n component = 'el-input'\r\n Object.assign(renderData.props, {\r\n rows: 4,\r\n type: 'textarea',\r\n })\r\n break\r\n case TYPES.FILE:\r\n component = 'file-picker'\r\n Object.assign(renderData.props, {\r\n max: this.options.max,\r\n ext: this.options.ext,\r\n multiple: this.options.max > 1,\r\n })\r\n renderData.key = this.filePickerKey\r\n break\r\n case TYPES.SINGLE_SELECT:\r\n case TYPES.MULTIPLE_SELECT:\r\n const isMultiple = this.type === TYPES.MULTIPLE_SELECT\r\n if (this.options.type === 'input') {\r\n component = isMultiple\r\n ? 'el-checkbox-group'\r\n : 'el-radio-group'\r\n slots = this.selectOptions.map((i) => (\r\n h(isMultiple ? 'el-checkbox' : 'el-radio', {\r\n props: {\r\n key: i.value,\r\n label: i.value,\r\n },\r\n }, i.label)\r\n ))\r\n } else if (this.options.type === 'select') {\r\n component = 'el-select'\r\n Object.assign(renderData.props, {\r\n multiple: isMultiple,\r\n clearable: isMultiple,\r\n })\r\n slots = this.selectOptions.map((i) => (\r\n <el-option key={i.value} value={i.value} label={i.label}/>\r\n ))\r\n }\r\n break\r\n default:\r\n // do nothing\r\n }\r\n\r\n return h(component, renderData, slots)\r\n },\r\n}\r\n</script>\r\n","var render, staticRenderFns\nimport script from \"./TypeInput.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeInput.vue?vue&type=script&lang=js&\"","import { assignExists } from '@/libs/utils'\r\n\r\nexport default {\r\n provide() {\r\n return {\r\n view: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n /**\r\n * 保存表单数据的键名\r\n */\r\n formField: 'form',\r\n /**\r\n * 编辑时,路由中的动态值\r\n */\r\n idField: 'id',\r\n }\r\n },\r\n computed: {\r\n editMode() {\r\n return !!this.resourceId\r\n },\r\n resourceId() {\r\n return this.$route.params[this.idField]\r\n },\r\n },\r\n created() {\r\n this.backupForm()\r\n },\r\n methods: {\r\n getResourceId(key = 'id') {\r\n return this.$route.params[key]\r\n },\r\n /**\r\n * 备份表单原始数据,路由切换时,用来重置表单\r\n */\r\n backupForm() {\r\n this.formBak = JSON.parse(JSON.stringify(this.$data[this.formField]))\r\n },\r\n /**\r\n * 填充表单数据\r\n *\r\n * @param data\r\n */\r\n fillForm(data) {\r\n this.$data[this.formField] = assignExists(this.$data[this.formField], data)\r\n },\r\n },\r\n}\r\n"],"sourceRoot":""}