@form-create/arco-design
Version:
arco-design动态表单|form-create is a form generation component that can generate dynamic rendering, data collection, verification and submission functions through JSON. Supports 5 UI frameworks, and supports the generation of any Vue components. Built-in 20 k
7 lines • 96.6 kB
JavaScript
/*!
* @form-create/arco-design v3.1.29
* (c) 2018-2024 xaboy
* Github https://github.com/xaboy/form-create
* Released under the MIT License.
*/
import{defineComponent as e,toRef as t,createVNode as n,resolveComponent as r,mergeProps as i,openBlock as o,createElementBlock as a,createElementVNode as u,isVNode as c,nextTick as s,markRaw as l,watch as f,Fragment as d,reactive as p,getCurrentInstance as h,provide as m,inject as v,toRefs as g,onMounted as y,onBeforeUnmount as b,onUpdated as _,computed as x,withDirectives as w,resolveDirective as k,createApp as C,h as $,ref as O}from"vue";function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function F(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach((function(t){V(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function j(e){return j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},j(e)}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function A(e,t){return A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},A(e,t)}function P(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function I(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var i=E(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return P(this,n)}}function B(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return D(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return D(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function T(e,t){return Object.keys(e).reduce((function(n,r){return t&&-1!==t.indexOf(r)||n.push(e[r]),n}),[])}var N=e({name:"fcRadio",inheritAttrs:!1,props:{formCreateInject:Object,modelValue:{type:[String,Number,Boolean],default:""}},emits:["update:modelValue","fc.el"],setup:function(e,n){var r=t(e.formCreateInject,"options",[]);return{options:function(){return Array.isArray(r.value)?r.value:[]},value:t(e,"modelValue"),onInput:function(e){n.emit("update:modelValue",e)}}},render:function(){var e,t,o=this;return n(r("ARadioGroup"),i(this.$attrs,{modelValue:this.value,"onUpdate:modelValue":this.onInput,ref:"el"}),F({default:function(){return[o.options().map((function(e,t){return n(r("ARadio"),i(e,{key:t+"-"+e.value}),{default:function(){return[e.label||e.value||""]}})})),null===(e=(t=o.$slots).default)||void 0===e?void 0:e.call(t)]}},T(this.$slots,["default"])))},mounted:function(){this.$emit("fc.el",this.$refs.el)}}),L=e({name:"fcCheckbox",inheritAttrs:!1,props:{formCreateInject:Object,modelValue:{type:Array,default:function(){return[]}}},emits:["update:modelValue","fc.el"],setup:function(e,n){var r=t(e.formCreateInject,"options",[]);return{options:function(){return Array.isArray(r.value)?r.value:[]},value:t(e,"modelValue"),onInput:function(e){n.emit("update:modelValue",e)}}},render:function(){var e,t,o=this;return n(r("ACheckboxGroup"),i(this.$attrs,{modelValue:this.value,"onUpdate:modelValue":this.onInput,ref:"el"}),F({default:function(){return[o.options().map((function(e,t){return n(r("ACheckbox"),i(e,{key:t+"-"+e.value}),{default:function(){return[e.label||e.value||""]}})})),null===(e=(t=o.$slots).default)||void 0===e?void 0:e.call(t)]}},T(this.$slots,["default"])))},mounted:function(){this.$emit("fc.el",this.$refs.el)}});function M(e){return Array.isArray(e)?e:[null,void 0,""].indexOf(e)>-1?[]:[e]}function U(e){e=e||new Map;var t={$on:function(t,n){var r=e.get(t);r&&r.push(n)||e.set(t,[n])},$once:function(e,n){n._once=!0,t.$on(e,n)},$off:function(t,n){var r=e.get(t);r&&r.splice(r.indexOf(n)>>>0,1)},$emit:function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];(e.get(n)||[]).slice().map((function(e){e._once&&(t.$off(n,e),delete e._once),e.apply(void 0,i)})),(e.get("*")||[]).slice().map((function(e){e(n,i)}))}};return t}function q(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}q("._fc-frame ._fc-files img{display:inline-block;height:100%;vertical-align:top;width:100%}._fc-frame ._fc-upload-cover{background:rgba(0,0,0,.6);bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}._fc-frame ._fc-upload-cover ._fc-frame-icon{color:#fff;font-size:16px;margin:0 2px}._fc-frame ._fc-files:hover ._fc-upload-cover{opacity:1}._fc-frame .ant-upload{display:block}._fc-frame ._fc-frame-icon,._fc-frame ._fc-upload-btn{cursor:pointer}._fc-frame._fc-disabled ._fc-frame-icon,._fc-frame._fc-disabled ._fc-upload-btn{color:#999;cursor:not-allowed!important}._fc-files,._fc-frame ._fc-upload-btn{background:#fff;border:1px solid #c0ccda;border-radius:4px;box-shadow:2px 2px 5px rgba(0,0,0,.1);box-sizing:border-box;display:inline-block;height:80px;line-height:80px;margin-right:8px;overflow:hidden;position:relative;text-align:center;width:80px}._fc-frame ._fc-upload-cover svg{color:#fff;cursor:pointer;font-size:20px;margin:0 2px}");var H={name:"IconFolder"},G={viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:"arco-icon arco-icon-folder","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter"},Y=[u("path",{d:"M6 13h18l-2.527-3.557a1.077 1.077 0 0 0-.88-.443H7.06C6.474 9 6 9.448 6 10v3Zm0 0h33.882c1.17 0 2.118.895 2.118 2v21c0 1.105-.948 3-2.118 3H8.118C6.948 39 6 38.105 6 37V13Z"},null,-1)];H.render=function(e,t,n,r,i,u){return o(),a("svg",G,Y)};var J={name:"IconDelete"},W={viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:"arco-icon arco-icon-delete","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter"},K=[u("path",{d:"M5 11h5.5m0 0v29a1 1 0 0 0 1 1h25a1 1 0 0 0 1-1V11m-27 0H16m21.5 0H43m-5.5 0H32m-16 0V7h16v4m-16 0h16M20 18v15m8-15v15"},null,-1)];J.render=function(e,t,n,r,i,u){return o(),a("svg",W,K)};var Z={name:"IconCloseCircle"},z={viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:"arco-icon arco-icon-close-circle","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter"},X=[u("path",{d:"m17.643 17.643 6.364 6.364m0 0 6.364 6.364m-6.364-6.364 6.364-6.364m-6.364 6.364-6.364 6.364M42 24c0 9.941-8.059 18-18 18S6 33.941 6 24 14.059 6 24 6s18 8.059 18 18Z"},null,-1)];Z.render=function(e,t,n,r,i,u){return o(),a("svg",z,X)};var Q={name:"IconEye"},ee={viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:"arco-icon arco-icon-eye","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter"},te=[u("path",{"clip-rule":"evenodd",d:"M24 37c6.627 0 12.627-4.333 18-13-5.373-8.667-11.373-13-18-13-6.627 0-12.627 4.333-18 13 5.373 8.667 11.373 13 18 13Z"},null,-1),u("path",{d:"M29 24a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z"},null,-1)];Q.render=function(e,t,n,r,i,u){return o(),a("svg",ee,te)};var ne={name:"IconFile"},re={viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:"arco-icon arco-icon-file","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter"},ie=[u("path",{d:"M16 21h16m-16 8h10m11 13H11a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h21l7 7v27a2 2 0 0 1-2 2Z"},null,-1)];function oe(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!c(e)}ne.render=function(e,t,n,r,i,u){return o(),a("svg",re,ie)};var ae=e({name:"fcFrame",props:{type:{type:String,default:"input"},field:String,helper:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},src:{type:String,required:!0},icon:{type:String,default:"icon-folder"},width:{type:[Number,String],default:500},height:{type:String,default:"370px"},maxLength:{type:Number,default:0},okBtnText:{type:String,default:"确定"},closeBtnText:{type:String,default:"关闭"},modalTitle:String,handleIcon:{type:[String,Boolean],default:void 0},title:String,allowRemove:{type:Boolean,default:!0},onOpen:{type:Function,default:function(){}},onOk:{type:Function,default:function(){}},onCancel:{type:Function,default:function(){}},onLoad:{type:Function,default:function(){}},onBeforeRemove:{type:Function,default:function(){}},onRemove:{type:Function,default:function(){}},onHandle:Function,modal:{type:Object,default:function(){return{}}},srcKey:[String,Number],modelValue:[Array,String,Number,Object],previewMask:void 0,footer:{type:Boolean,default:!0},reload:{type:Boolean,default:!0},closeBtn:{type:Boolean,default:!0},okBtn:{type:Boolean,default:!0},formCreateInject:Object},emits:["update:modelValue","change"],components:{IconFolder:H,IconEye:Q},data:function(){return{fileList:M(this.modelValue),previewVisible:!1,frameVisible:!1,previewImage:"",bus:new U}},watch:{modelValue:function(e){this.fileList=M(e)}},methods:{close:function(){this.closeModal(!0)},closeModal:function(e){this.bus.$emit(e?"$close":"$ok"),this.reload&&(this.bus.$off("$ok"),this.bus.$off("$close")),this.frameVisible=!1},handleCancel:function(){this.previewVisible=!1},showModal:function(){this.disabled||!1===this.onOpen()||(this.frameVisible=!0)},input:function(){var e=this.fileList,t=1===this.maxLength?e[0]||"":e;this.$emit("update:modelValue",t),this.$emit("change",t)},makeInput:function(){var e=this,t=r(this.icon),i={append:function(){return n(t,{class:"_fc-frame-icon",onClick:e.showModal},null)}};return this.fileList.length&&!this.disabled&&(i.suffix=function(){return n(Z,{class:"_fc-frame-icon",onClick:function(){e.fileList=[],e.input()}},null)}),n(r("AInput"),{readonly:!0,modelValue:this.fileList.map((function(t){return e.getSrc(t)})).toString(),key:1},i)},makeGroup:function(e){return(!this.maxLength||this.fileList.length<this.maxLength)&&e.push(this.makeBtn()),n("div",{key:2},[e])},makeItem:function(e,t){return n("div",{class:"_fc-files",key:"3"+e},[t])},valid:function(e){var t=this.formCreateInject.field||this.field;if(t&&e!==t)throw new Error("[frame]无效的字段值")},makeIcons:function(e,t){if(!1!==this.handleIcon||!0===this.allowRemove){var r=[];return("file"!==this.type&&!1!==this.handleIcon||"file"===this.type&&this.handleIcon)&&r.push(this.makeHandleIcon(e,t)),this.allowRemove&&r.push(this.makeRemoveIcon(e,t)),n("div",{class:"_fc-upload-cover",key:4},[r])}},makeHandleIcon:function(e,t){var i=this,o=r(!0===this.handleIcon||void 0===this.handleIcon?"icon-eye":this.handleIcon);return n(o,{onClick:function(){return i.handleClick(e)},key:"5"+t},null)},makeRemoveIcon:function(e,t){var r=this;return n(J,{onClick:function(){return r.handleRemove(e)},key:"6"+t},null)},makeFiles:function(){var e=this;return this.makeGroup(this.fileList.map((function(t,r){return e.makeItem(r,[n(ne,{onClick:function(){return e.handleClick(t)}},null),e.makeIcons(t,r)])})))},makeImages:function(){var e=this;return this.makeGroup(this.fileList.map((function(t,r){return e.makeItem(r,[n("img",{src:e.getSrc(t)},null),e.makeIcons(t,r)])})))},makeBtn:function(){var e=this,t=r(this.icon);return n("div",{class:"_fc-upload-btn",onClick:function(){return e.showModal()},key:7},[n(t,{class:"_fc-frame-icon"},null)])},handleClick:function(e){if(this.onHandle)return this.onHandle(e);this.previewImage=this.getSrc(e),this.previewVisible=!0},handleRemove:function(e){this.disabled||!1!==this.onBeforeRemove(e)&&(this.fileList.splice(this.fileList.indexOf(e),1),this.input(),this.onRemove(e))},getSrc:function(e){return this.srcKey?e[this.srcKey]:e},frameLoad:function(e){var t=this;this.onLoad(e);try{!0===this.helper&&(e.form_create_helper={api:this.formCreateInject.api,close:function(e){t.valid(e),t.closeModal()},set:function(e,n){t.valid(e),t.disabled||t.$emit("update:modelValue",n)},get:function(e){return t.valid(e),t.modelValue},onOk:function(e){return t.bus.$on("$ok",e)},onClose:function(e){return t.bus.$on("$close",e)}})}catch(e){console.error(e)}},makeFooter:function(){var e=this,t=this.$props,i=t.okBtnText,o=t.closeBtnText,a=t.closeBtn,u=t.okBtn,c=[];return t.footer?(a&&c.push(n(r("AButton"),{onClick:function(){return!1!==e.onCancel()&&e.closeModal(!0)}},oe(o)?o:{default:function(){return[o]}})),u&&c.push(n(r("AButton"),{type:"primary",onClick:function(){return!1!==e.onOk()&&e.closeModal()}},oe(i)?i:{default:function(){return[i]}})),c):c}},render:function(){var e,t=this,o=this.type;e="input"===o?this.makeInput():"image"===o?this.makeImages():this.makeFiles();var a=this.$props,u=a.width,c=void 0===u?"30%":u,l=a.height,f=a.src,d=a.title,p=a.modalTitle;return s((function(){t.$refs.frame&&t.frameLoad(t.$refs.frame.contentWindow||{})})),n("div",{class:{"_fc-frame":!0,"_fc-disabled":this.disabled}},[e,n(r("aModal"),{mask:this.previewMask,title:p,visible:this.previewVisible,onCancel:function(){return t.previewVisible=!1},footer:null},{default:function(){return[n("img",{style:"width: 100%",src:t.previewImage},null)]}}),n(r("aModal"),i(F({width:c,title:d},this.modal),{visible:this.frameVisible,onCancel:function(){return t.closeModal(!0)}}),{default:function(){return[t.frameVisible||!t.reload?n("iframe",{ref:"frame",src:f,frameborder:"0",style:{height:l,border:"0 none",width:"100%"}},null):null]},footer:function(){return t.makeFooter()}})])},beforeMount:function(){var e=this.formCreateInject,t=e.name,n=e.field,r=e.api;t&&r.on("fc:closeModal:"+t,this.close),n&&r.on("fc:closeModal:"+n,this.close)},beforeUnmount:function(){var e=this.formCreateInject,t=e.name,n=e.field,r=e.api;t&&r.off("fc:closeModal:"+t,this.close),n&&r.off("fc:closeModal:"+n,this.close)}}),ue={type:function(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"},Undef:function(e){return null==e},Element:function(e){return"object"===j(e)&&null!==e&&1===e.nodeType&&!ue.Object(e)},trueArray:function(e){return Array.isArray(e)&&e.length>0},Function:function(e){var t=this.getType(e);return"Function"===t||"AsyncFunction"===t},getType:function(e){var t=Object.prototype.toString.call(e);return/^\[object (.*)\]$/.exec(t)[1]},empty:function(e){return null==e||(!(!Array.isArray(e)||!Array.isArray(e)||e.length)||"string"==typeof e&&!e)}};function ce(e,t){return{}.hasOwnProperty.call(e,t)}function se(e,t,n){e[t]=n}function le(e,t){delete e[t]}function fe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=!1;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=t[i];if((r=Array.isArray(o))||ue.Object(o)){var a=void 0===e[i];if(r)r=!1,a&&se(e,i,[]);else if(o._clone&&void 0!==n){if(!n){se(e,i,o._clone());continue}o=o.getRule(),a&&se(e,i,{})}else a&&se(e,i,{});e[i]=fe(e[i],o,n)}else se(e,i,o),ue.Undef(o)||(ue.Undef(o.__json)||(e[i].__json=o.__json),ue.Undef(o.__origin)||(e[i].__origin=o.__origin))}return void 0!==n&&Array.isArray(e)?e.filter((function(e){return!e||!e.__ctrl})):e}function de(e){return fe({},{value:e}).value}["Date","Object","String","Boolean","Array","Number"].forEach((function(e){ue[e]=function(t){return ue.type(t,e)}}));var pe=Object.assign||function(e){for(var t,n=1;n<arguments.length;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&se(e,r,t[r]);return e};function he(){return pe.apply(this,arguments)}function me(e){return"object"!==j(e)||null===e?e:e instanceof Array?B(e):F({},e)}q('._fc-group{display:flex;flex-direction:column;justify-content:center;min-height:38px;width:100%}._fc-group-disabled ._fc-group-add,._fc-group-disabled ._fc-group-btn{cursor:not-allowed}._fc-group-handle{background-color:#fff;border:1px dashed #d9d9d9;border-radius:15px;bottom:-15px;display:flex;flex-direction:row;padding:3px 8px;position:absolute;right:30px}._fc-group-btn{cursor:pointer}._fc-group-idx{align-items:center;background:#eee;border-radius:15px;bottom:-15px;display:flex;font-weight:700;height:30px;justify-content:center;left:10px;position:absolute;width:30px}._fc-group-handle ._fc-group-btn+._fc-group-btn{margin-left:7px}._fc-group-container{border:1px dashed #d9d9d9;border-radius:5px;display:flex;flex-direction:column;margin:5px 5px 25px;padding:20px 20px 25px;position:relative}._fc-group-arrow{height:20px;position:relative;width:20px}._fc-group-arrow:before{border-left:2px solid #999;border-top:2px solid #999;content:"";height:9px;left:5px;position:absolute;top:8px;transform:rotate(45deg);width:9px}._fc-group-arrow._fc-group-down{transform:rotate(180deg)}._fc-group-plus-minus{cursor:pointer;height:20px;position:relative;width:20px}._fc-group-plus-minus:after,._fc-group-plus-minus:before{background-color:#409eff;content:"";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%}._fc-group-plus-minus:before{transform:translate(-50%,-50%) rotate(90deg)}._fc-group-plus-minus._fc-group-minus:before{display:none}._fc-group-plus-minus._fc-group-minus:after{background-color:#f56c6c}._fc-group-add{border:1px solid rgba(64,158,255,.5);border-radius:15px;cursor:pointer;height:25px;width:25px}._fc-group-add._fc-group-plus-minus:after,._fc-group-add._fc-group-plus-minus:before{width:50%}');var ve=e({name:"fcGroup",props:{field:String,rule:Array,expand:Number,options:Object,button:{type:Boolean,default:!0},max:{type:Number,default:0},min:{type:Number,default:0},modelValue:{type:Array,default:function(){return[]}},defaultValue:Object,sortBtn:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},syncDisabled:{type:Boolean,default:!0},onBeforeRemove:{type:Function,default:function(){}},onBeforeAdd:{type:Function,default:function(){}},formCreateInject:Object,parse:Function},data:function(){return{len:0,cacheRule:{},cacheValue:{},sort:[],form:l(this.formCreateInject.form.$form())}},emits:["update:modelValue","change","itemMounted","remove","add"],watch:{rule:{handler:function(e,t){var n=this;Object.keys(this.cacheRule).forEach((function(r){var i=n.cacheRule[r];if(i.$f){var o=i.$f.formData();if(e===t)i.$f.deferSyncValue((function(){fe(i.rule,e),i.$f.setValue(o)}),!0);else{var a=i.$f.formData();i.$f.once("reloading",(function(){i.$f.setValue(a)})),i.rule=de(e)}}}))},deep:!0},disabled:function(e){if(this.syncDisabled){var t=this.cacheRule;Object.keys(t).forEach((function(n){t[n].$f.disabled(e)}))}},expand:function(e){var t=e-this.modelValue.length;t>0&&this.expandRule(t)},modelValue:{handler:function(e){var t=this;e=e||[];var n=Object.keys(this.sort),r=n.length,i=r-e.length;if(i<0){for(var o=i;o<0;o++)this.addRule(e.length+o,!0);for(var a=0;a<r;a++)this.setValue(n[a],e[a])}else{if(i>0)for(var u=0;u<i;u++)this.removeRule(n[r-u-1]);e.forEach((function(r,i){t.setValue(n[i],e[i])}))}},deep:!0}},methods:{_value:function(e){return e&&ce(e,this.field)?e[this.field]:e},cache:function(e,t){this.cacheValue[e]=JSON.stringify(t)},input:function(e){this.$emit("update:modelValue",e),this.$emit("change",e)},formData:function(e,t){var n=this,r=this.cacheRule,i=this.sort;if(i.filter((function(e){return r[e].$f})).length===i.length){var o=i.map((function(r){var i=e===r?t:F({},n.cacheRule[r].$f.form),o=n.field?i[n.field]||null:i;return n.cache(r,o),o}));this.input(o)}},setValue:function(e,t){var n=this.field;n&&(t=V({},n,this._value(t))),this.cacheValue[e]!==JSON.stringify(n?t[n]:t)&&this.cache(e,t)},addRule:function(e,t){var n=this,r=this.formCreateInject.form.copyRules(this.rule||[]),i=this.options?F({},this.options):{submitBtn:!1,resetBtn:!1};if(this.defaultValue){i.formData||(i.formData={});var o=de(this.defaultValue);he(i.formData,this.field?V({},this.field,o):o)}this.parse&&this.parse({rule:r,options:i,index:this.sort.length}),this.cacheRule[++this.len]={rule:r,options:i},t&&s((function(){return n.$emit("add",r,Object.keys(n.cacheRule).length-1)}))},add$f:function(e,t,n){var r=this;this.cacheRule[t].$f=n,s((function(){r.syncDisabled&&n.disabled(r.disabled),r.$emit("itemMounted",n,Object.keys(r.cacheRule).indexOf(t))}))},removeRule:function(e,t){var n=this,r=Object.keys(this.cacheRule).indexOf(e);delete this.cacheRule[e],delete this.cacheValue[e],t&&s((function(){return n.$emit("remove",r)}))},add:function(e){if(!this.disabled&&!1!==this.onBeforeAdd(this.modelValue)){var t=B(this.modelValue);t.push(this.defaultValue?de(this.defaultValue):this.field?null:{}),this.input(t)}},del:function(e,t){if(!this.disabled&&!1!==this.onBeforeRemove(this.modelValue,e)){this.removeRule(t,!0);var n=B(this.modelValue);n.splice(e,1),this.input(n)}},addIcon:function(e){return n("div",{class:"_fc-group-btn _fc-group-plus-minus",onClick:this.add},null)},delIcon:function(e,t){var r=this;return n("div",{class:"_fc-group-btn _fc-group-plus-minus _fc-group-minus",onClick:function(){return r.del(e,t)}},null)},sortUpIcon:function(e){var t=this;return n("div",{class:"_fc-group-btn _fc-group-arrow _fc-group-up",onClick:function(){return t.changeSort(e,-1)}},null)},sortDownIcon:function(e){var t=this;return n("div",{class:"_fc-group-btn _fc-group-arrow _fc-group-down",onClick:function(){return t.changeSort(e,1)}},null)},changeSort:function(e,t){var n=this.sort[e];this.sort[e]=this.sort[e+t],this.sort[e+t]=n,this.formData(0)},makeIcon:function(e,t,n){var r=this;if(this.$slots.button)return this.$slots.button({total:e,index:t,vm:this,key:n,del:function(){return r.del(t,n)},add:this.add});var i=[];return(!this.max||e<this.max)&&e===t+1&&i.push(this.addIcon(n)),e>this.min&&i.push(this.delIcon(t,n)),this.sortBtn&&t&&i.push(this.sortUpIcon(t)),this.sortBtn&&t!==e-1&&i.push(this.sortDownIcon(t)),i},emitEvent:function(e,t,n,r){this.$emit.apply(this,[e].concat(B(t),[this.cacheRule[r].$f,n]))},expandRule:function(e){for(var t=0;t<e;t++)this.addRule(t)}},created:function(){var e=this;f((function(){return F({},e.cacheRule)}),(function(t){e.sort=Object.keys(t)}),{immediate:!0});for(var t=(this.expand||0)-this.modelValue.length,n=0;n<this.modelValue.length;n++)this.addRule(n);t>0&&this.expandRule(t)},render:function(){var e=this,t=this.sort,r=this.button,o=this.form,a=this.disabled,u=0===t.length?this.$slots.default?this.$slots.default({vm:this,add:this.add}):n("div",{key:"a_def",class:"_fc-group-plus-minus _fc-group-add fc-clock",onClick:this.add},null):t.map((function(u,c){var s=e.cacheRule[u],l=s.rule,f=s.options,d=r&&!a?e.makeIcon(t.length,c,u):[];return n("div",{class:"_fc-group-container",key:u},[n(o,i({key:u},{"onUpdate:modelValue":function(t){return e.formData(u,t)},"onEmit-event":function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return e.emitEvent(t,r,c,u)},"onUpdate:api":function(t){return e.add$f(c,u,t)},inFor:!0,modelValue:e.field?V({},e.field,e._value(e.modelValue[c])):e.modelValue[c],rule:l,option:f,extendOption:!0}),null),n("div",{class:"_fc-group-idx"},[c+1]),d.length?n("div",{class:"_fc-group-handle fc-clock"},[d]):null])}));return n("div",{key:"con",class:"_fc-group "+(a?"_fc-group-disabled":"")},[u])}}),ge=function(e,t){return{url:e,name:ye(e),status:"done",uid:t+1}},ye=function(e){return(""+e).split("/").pop()},be=function(e){return{url:e.url,file:e}},_e=e({name:"fcUpload",inheritAttrs:!1,formCreateParser:{toFormValue:function(e){return M(e)},toValue:function(e,t){return 1===t.prop.props.limit?e[0]||"":e}},props:{modelValue:{type:Array,default:function(){return[]}},onSuccess:{type:Function,required:!0},onPreview:Function,modalTitle:String,previewMask:void 0},emits:["update:modelValue","success","fc.el"],data:function(){return{previewImage:"",previewVisible:!1,uploadList:this.modelValue.map(ge).map(be)}},watch:{modelValue:function(e){this.uploadList=e.map(ge).map(be)}},methods:{handleChange:function(e){this.onSuccess.apply(this,arguments);var t=this.uploadList;e.url&&t.push({url:e.url,file:e}),this.input(t)},input:function(e){this.$emit("update:modelValue",e.map((function(e){return e.url})))},inputRemove:function(e){e.length<this.uploadList.length&&this.input(e)},handlePreview:function(e){this.onPreview?this.onPreview.apply(this,arguments):(this.previewImage=e.url,this.previewVisible=!0)}},render:function(){var e=this;return n(d,null,[n(r("AUpload"),i({"list-type":"picture-card"},this.$attrs,{onPreview:this.handlePreview,onSuccess:this.handleChange,ref:"upload",fileList:this.uploadList,"onUpdate:fileList":this.inputRemove}),this.$slots),n(r("aModal"),{mask:this.previewMask,title:this.modalTitle,visible:this.previewVisible,onCancel:function(){return e.previewVisible=!1},footer:null},{default:function(){return[n("img",{style:"width: 100%",src:e.previewImage},null)]}})])},mounted:function(){this.$emit("fc.el",this.$refs.upload)}}),xe=e({name:"fcSubForm",props:{rule:Array,options:{type:Object,default:function(){return p({submitBtn:!1,resetBtn:!1})}},modelValue:{type:Object,default:function(){return{}}},disabled:{type:Boolean,default:!1},syncDisabled:{type:Boolean,default:!0},formCreateInject:Object},data:function(){return{cacheValue:{},subApi:{},form:l(this.formCreateInject.form.$form())}},emits:["fc:subform","update:modelValue","change","itemMounted"],watch:{disabled:function(e){this.syncDisabled&&this.subApi.disabled(e)},modelValue:function(e){this.setValue(e)}},methods:{formData:function(e){this.cacheValue=JSON.stringify(e),this.$emit("update:modelValue",e),this.$emit("change",e)},setValue:function(e){var t=JSON.stringify(e);this.cacheValue!==t&&(this.cacheValue=t,this.subApi.coverValue(e||{}))},add$f:function(e){var t=this;this.subApi=e,s((function(){t.syncDisabled&&e.disabled(t.disabled),t.$emit("itemMounted",e)}))}},render:function(){var e=this.form;return n(e,{"onUpdate:modelValue":this.formData,modelValue:this.modelValue,"onEmit-event":this.$emit,"onUpdate:api":this.add$f,rule:this.rule,option:this.options,extendOption:!0},null)}}),we={name:"IconInfoCircle"},ke={viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:"arco-icon arco-icon-info-circle","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter"},Ce=[u("path",{d:"M24 20v14m0-16v-4m18 10c0 9.941-8.059 18-18 18S6 33.941 6 24 14.059 6 24 6s18 8.059 18 18Z"},null,-1)];we.render=function(e,t,n,r,i,u){return o(),a("svg",ke,Ce)};var $e=[_e,xe,ve,N,L,ae,we],Oe={name:"select",mergeProp:function(e){var t=e.prop.props;ce(t,"options")||(t.options=e.prop.options||[])}},Se=function e(t,n){if(t&&t!==n)return t.props.formCreateInject?t.props.formCreateInject:t.parent?e(t.parent,n):void 0};function Fe(t,n,r){return e({name:"FormCreate",components:n,directives:r,props:{rule:{type:Array,required:!0,default:function(){return[]}},option:{type:Object,default:function(){return{}}},extendOption:Boolean,modelValue:Object,disabled:Boolean,api:Object,name:String,subForm:{type:Boolean,default:!0},inFor:Boolean},emits:["update:api","update:modelValue","mounted","submit","change","emit-event","control","remove-rule","remove-field","sync","reload","repeat-field","update","validate-field-fail","validate-fail"],render:function(){return this.fc.render()},setup:function(e){var n=h();m("parentFC",n);var r=v("parentFC",null),i=g(e),o=i.rule,a=i.modelValue,u=i.subForm,c=i.inFor,s=p({ctxInject:{},destroyed:!1,isShow:!0,unique:1,renderRule:B(o.value||[]),updateValue:JSON.stringify(a.value||{})}),d=new t(n),x=d.api(),w=c.value,k=function(){var e=Se(n,r);if(e)if(w){var t=M(e.getSubForm()),i=t.indexOf(x);i>-1&&t.splice(i,1)}else e.subForm()};return y((function(){d.mounted()})),b((function(){k(),s.destroyed=!0,d.unmount()})),_((function(){d.updated()})),f(u,(function(e){e?function(){if(r){var e,t=Se(n,r);t&&(w?(e=M(t.getSubForm())).push(x):e=x,t.subForm(e))}}():k()}),{immediate:!0}),f((function(){return B(o.value)}),(function(e){d.$handle.isBreakWatch()||e.length===s.renderRule.length&&e.every((function(e){return s.renderRule.indexOf(e)>-1}))||(d.$handle.reloadRule(o.value),n.setupState.renderRule())})),f((function(){return e.option}),(function(){d.initOptions(),x.refresh()}),{deep:!0}),f(a,(function(e){JSON.stringify(e||{})!==s.updateValue&&(x.config.forceCoverValue?x.coverValue(e||{}):x.setValue(e||{}))}),{deep:!0}),f((function(){return e.disabled}),(function(e){x.disabled(!!e)})),F(F({fc:l(d),parent:r?l(r):r,fapi:l(x)},g(s)),{},{refresh:function(){++s.unique},renderRule:function(){s.renderRule=B(o.value||[])},updateValue:function(e){s.destroyed||(s.updateValue=JSON.stringify(e),n.emit("update:modelValue",e))}})},created:function(){var e=h();e.setupState.fc.init(),e.emit("update:api",e.setupState.fapi),e.props.disabled&&e.setupState.fapi.disabled(!0)}})}var je=["props"],Re=["class","style","directives"],Ve=["on"],Ee=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=[].concat(je,B(r.normal||[])),o=[].concat(Re,B(r.array||[])),a=[].concat(Ve,B(r.functional||[])),u=r.props||[];return t.reduce((function(t,n){for(var r in n)if(t[r])if(u.indexOf(r)>-1)t[r]=e([n[r]],t[r]);else if(i.indexOf(r)>-1)t[r]=F(F({},t[r]),n[r]);else if(o.indexOf(r)>-1){var c=t[r]instanceof Array?t[r]:[t[r]],s=n[r]instanceof Array?n[r]:[n[r]];t[r]=[].concat(B(c),B(s))}else if(a.indexOf(r)>-1)for(var l in n[r])if(t[r][l]){var f=t[r][l]instanceof Array?t[r][l]:[t[r][l]],d=n[r][l]instanceof Array?n[r][l]:[n[r][l]];t[r][l]=[].concat(B(f),B(d))}else t[r][l]=n[r][l];else if("hook"===r)for(var p in n[r])t[r][p]?t[r][p]=Ae(t[r][p],n[r][p]):t[r][p]=n[r][p];else t[r]=n[r];else i.indexOf(r)>-1||a.indexOf(r)>-1||u.indexOf(r)>-1?t[r]=F({},n[r]):o.indexOf(r)>-1?t[r]=n[r]instanceof Array?B(n[r]):"object"===j(n[r])?F({},n[r]):n[r]:t[r]=n[r];return t}),n)},Ae=function(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}},Pe=["type","slot","emitPrefix","value","name","native","hidden","display","inject","options","emit","link","prefix","suffix","update","sync","optionsTo","key","slotUpdate","computed","preview","component","cache","modelEmit"],Ie=["validate","children","control"],Be=["effect"];function De(){return[].concat(Pe,B(je),B(Re),B(Ve),Ie,Be)}function Te(e,t,n){return"[form-create ".concat(e,"]: ").concat(t)+(n?"\n\nrule: "+JSON.stringify(n.getRule?n.getRule():n):"")}function Ne(e,t){console.error(Te("err",e,t))}function Le(e){var t=e.replace(/([A-Z])/g,"-$1").toLocaleLowerCase();return 0===t.indexOf("-")&&(t=t.substr(1)),t}var Me="[[FORM-CREATE-PREFIX-",Ue="-FORM-CREATE-SUFFIX]]";function qe(e,t){return JSON.stringify(fe([],e,!0),(function(e,t){if(!t||!0!==t._isVue){if("function"!==j(t))return t;if(t.__json)return t.__json;if(t.__origin&&(t=t.__origin),!t.__emit)return Me+t+Ue}}),t)}function He(e){return new Function("return "+e)()}function Ge(e,t){if(e&&ue.String(e)&&e.length>4){var n=e.trim(),r=!1;try{if(n.indexOf(Ue)>0&&0===n.indexOf(Me))n=n.replace(Ue,"").replace(Me,""),r=!0;else if(0===n.indexOf("$FN:"))n=n.replace("$FN:",""),r=!0;else{if(0===n.indexOf("$GLOBAL:")){var i=n.replace("$GLOBAL:","");return n=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t[0].api.getGlobalEvent(i);if(r)return r.call.apply(r,[this].concat(t))},n.__json=e,n.__inject=!0,n}if(0===n.indexOf("$FNX:"))return(n=He("function($inject){"+n.replace("$FNX:","")+"}")).__json=e,n.__inject=!0,n;t||0!==n.indexOf("function")||"function"===n||(r=!0)}if(!r)return e;var o=He(-1===n.indexOf("function")&&0!==n.indexOf("(")?"function "+n:n);return o.__json=e,o}catch(e){return void Ne("解析失败:".concat(n,"\n\nerr: ").concat(e))}}return e}function Ye(e,t){return JSON.parse(e,(function(e,n){return ue.Undef(n)||!n.indexOf?n:Ge(n,t)}))}function Je(e,t){return{value:e,enumerable:!1,configurable:!1,writable:!!t}}function We(e,t){return Ke([e],t||!1)[0]}function Ke(e,t){return fe([],B(e),t||!1)}function Ze(e,t){return Ee(Array.isArray(t)?t:[t],e,{array:Ie,normal:Be}),e}function ze(e){var t=ue.Function(e.getRule)?e.getRule():e;return t.type||(t.type="input"),t}function Xe(e,t){Object.defineProperties(e,Object.keys(t).reduce((function(e,n){return e[n]={get:function(){return t[n]()}},e}),{}))}function Qe(e){return e.__fc__||(e.__origin__?e.__origin__.__fc__:null)}function et(e,t){try{t=e()}catch(e){!function(e){Ne(e.toString()),console.error(e)}(e)}return t}function tt(){var e={},t=function(e){return e||"default"};return{setSlot:function(n,r){n=t(n),!r||Array.isArray(r)&&r.length||(e[n]||(e[n]=[]),e[n].push(r))},getSlot:function(n,r){n=t(n);var i=[];return(e[n]||[]).forEach((function(e){if(Array.isArray(e))i.push.apply(i,B(e));else if(ue.Function(e)){var t=e.apply(void 0,B(r||[]));Array.isArray(t)?i.push.apply(i,B(t)):i.push(t)}else ue.Undef(e)||i.push(e)})),i},getSlots:function(){var t=this,n={};return Object.keys(e).forEach((function(e){n[e]=function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return t.getSlot(e,r)}})),n},slotLen:function(n){return n=t(n),e[n]?e[n].length:0},mergeBag:function(e){var t=this;if(!e)return this;var n=ue.Function(e.getSlots)?e.getSlots():e;return Array.isArray(e)||c(e)?this.setSlot(void 0,(function(){return e})):Object.keys(n).forEach((function(e){t.setSlot(e,n[e])})),this}}}function nt(e){var t=F({},e.props||{});return Object.keys(e.on||{}).forEach((function(n){var r,i="on".concat((r=n).replace(r[0],r[0].toLocaleUpperCase()));Array.isArray(t[i])?t[i]=[].concat(B(t[i]),[e.on[n]]):t[i]?t[i]=[t[i],e.on[n]]:t[i]=e.on[n]})),t.key=e.key,t.ref=e.ref,t.class=e.class,t.style=e.style,t.slot&&delete t.slot,t}function rt(e,t){return Object.setPrototypeOf(e,t),e}function it(e,t){return function(n,r,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=new ot(e,n,r,i,o);return t&&(ue.Function(t)?t(a):a.props(t)),a}}function ot(e,t,n,r,i){this._data=he({props:{},on:{},options:[],children:[],hidden:!1,display:!0,value:void 0},{type:e,title:t,field:n,value:r,props:i||{}}),this.event=this.on}function at(e){e.forEach((function(e){ot.prototype[e]=function(t){return Ze(this._data,V({},e,arguments.length<2?t:V({},t,arguments[1]))),this}}))}he(ot.prototype,{getRule:function(){return this._data},setProp:function(e,t){return se(this._data,e,t),this},modelField:function(e){return this._data.modelField=e,this},_clone:function(){var e=new this.constructor;return e._data=We(this._data),e}}),at(De());var ut=it("");function ct(e,t,n){var r=ut("",t);return r._data.type=e,r._data.title=n,r}function st(){return{create:ct,factory:it}}function lt(e){var t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}function ft(e){if("undefined"!=typeof XMLHttpRequest){var t,n=new XMLHttpRequest,r=e.action;n.onerror=function(t){e.onError(t)},n.onload=function(){if(n.status<200||n.status>=300)return e.onError(function(e,t,n){var r="fail to ".concat(e," ").concat(n.status,"'"),i=new Error(r);return i.status=n.status,i.url=e,i}(r,0,n),lt(n));e.onSuccess(lt(n))},n.open(e.method||"get",r,!0),e.data&&("json"!==(e.dataType||"").toLowerCase()?(t=new FormData,Object.keys(e.data).map((function(n){t.append(n,e.data[n])}))):(t=JSON.stringify(e.data),n.setRequestHeader("content-type","application/json"))),e.withCredentials&&"withCredentials"in n&&(n.withCredentials=!0);var i=e.headers||{};Object.keys(i).forEach((function(e){null!==i[e]&&n.setRequestHeader(e,i[e])})),n.send(t)}}function dt(e){return de(e)}function pt(e){function t(t){return ue.Undef(t)?t=e.fields():Array.isArray(t)||(t=[t]),t}function n(n,r,i){t(n).forEach((function(t){e.getCtxs(t).forEach((function(t){se(t.rule,r,i),e.$render.clearCache(t)}))}))}function r(){var t=e.subForm;return Object.keys(t).reduce((function(e,n){var r=t[n];return r?(Array.isArray(r)?e.push.apply(e,B(r)):e.push(r),e):e}),[])}var i={get config(){return e.options},set config(t){e.fc.options.value=t},get options(){return e.options},set options(t){e.fc.options.value=t},get form(){return e.form},get rule(){return e.rules},get parent(){return e.vm.setupState.parent&&e.vm.setupState.parent.setupState.fapi},get top(){return i.parent?i.parent.top:i},get children(){return r()},formData:function(n){return t(n).reduce((function(t,n){var r=e.getFieldCtx(n);return r?(t[r.field]=dt(r.rule.value),t):t}),{})},getValue:function(t){var n=e.getFieldCtx(t);if(n)return dt(n.rule.value)},coverValue:function(t){var n=F({},t||{});e.deferSyncValue((function(){i.fields().forEach((function(r){var i=e.fieldCtx[r];if(i){var o=ce(t,r);i.forEach((function(e){e.rule.value=o?t[r]:void 0})),delete n[r]}})),he(e.appendData,n)}))},setValue:function(t){var n=t;arguments.length>=2&&(n=V({},t,arguments[1])),e.deferSyncValue((function(){Object.keys(n).forEach((function(t){var r=e.fieldCtx[t];if(!r)return e.appendData[t]=n[t];r.forEach((function(e){e.rule.value=n[t]}))}))}))},removeField:function(t){var n=e.getCtx(t);return e.deferSyncValue((function(){e.getCtxs(t).forEach((function(e){e.rm()}))}),!0),n?n.origin:void 0},removeRule:function(e){var t=e&&Qe(e);if(t)return t.rm(),t.origin},fields:function(){return e.fields()},append:function(t,n,r){var i,o=e.sort.length-1,a=e.getCtx(n);if(a)if(r){if(i=a.getPending("children",a.rule.children),!Array.isArray(i))return;o=a.rule.children.length-1}else o=a.root.indexOf(a.origin),i=a.root;else i=e.rules;i.splice(o+1,0,t)},prepend:function(t,n,r){var i,o=0,a=e.getCtx(n);if(a)if(r){if(i=a.getPending("children",a.rule.children),!Array.isArray(i))return}else o=a.root.indexOf(a.origin),i=a.root;else i=e.rules;i.splice(o,0,t)},hidden:function(t,r){n(r,"hidden",!!t),e.refresh()},hiddenStatus:function(t){var n=e.getCtx(t);if(n)return!!n.rule.hidden},display:function(t,r){n(r,"display",!!t),e.refresh()},displayStatus:function(t){var n=e.getCtx(t);if(n)return!!n.rule.display},disabled:function(n,r){t(r).forEach((function(t){e.getCtxs(t).forEach((function(e){se(e.rule.props,"disabled",!!n)}))})),e.refresh()},all:function(t){return Object.keys(e.ctxs).map((function(n){var r=e.ctxs[n];return t?r.origin:r.rule}))},model:function(t){return e.fields().reduce((function(n,r){var i=e.fieldCtx[r][0];return n[r]=t?i.origin:i.rule,n}),{})},component:function(t){return Object.keys(e.nameCtx).reduce((function(n,r){var i=e.nameCtx[r].map((function(e){return t?e.origin:e.rule}));return n[r]=1===i.length?i[0]:i,n}),{})},bind:function(){return i.form},reload:function(t){e.reloadRule(t)},updateOptions:function(t){e.fc.updateOptions(t),i.refresh()},onSubmit:function(e){i.updateOptions({onSubmit:e})},sync:function(t){if(Array.isArray(t))t.forEach((function(e){return i.sync(e)}));else{var n=ue.Object(t)?Qe(t):e.getCtxs(t);n&&((n=Array.isArray(n)?n:[n]).forEach((function(t){if(!t.deleted){var n=e.subForm[t.id];n&&(Array.isArray(n)?n.forEach((function(e){e.refresh()})):n&&n.refresh()),e.$render.clearCache(t)}})),e.refresh())}},refresh:function(){r().forEach((function(e){e.refresh()})),e.$render.clearCacheAll(),e.refresh()},refreshOptions:function(){e.$manager.updateOptions(e.options),i.refresh()},hideForm:function(t){e.vm.setupState.isShow=!t},changeStatus:function(){return e.changeStatus},clearChangeStatus:function(){e.changeStatus=!1},updateRule:function(t,n){e.getCtxs(t).forEach((function(e){he(e.rule,n)}))},updateRules:function(e){Object.keys(e).forEach((function(t){i.updateRule(t,e[t])}))},mergeRule:function(t,n){e.getCtxs(t).forEach((function(e){Ze(e.rule,n)}))},mergeRules:function(e){Object.keys(e).forEach((function(t){i.mergeRule(t,e[t])}))},getRule:function(t,n){var r=e.getCtx(t);if(r)return n?r.origin:r.rule},setEffect:function(t,n,r){var i=e.getCtx(t);i&&n&&("$"===n[0]&&(n=n.substr(1)),ce(i.rule,"$"+n)&&se(i.rule,"$"+n,r),ce(i.rule,"effect")||(i.rule.effect={}),se(i.rule.effect,n,r))},clearEffectData:function(t,n){var r=e.getCtx(t);r&&(n&&"$"===n[0]&&(n=n.substr(1)),r.clearEffectData(n),i.sync(t))},updateValidate:function(e,t,r){r?i.mergeRule(e,{validate:t}):n(e,"validate",t)},updateValidates:function(e,t){Object.keys(e).forEach((function(n){i.updateValidate(n,e[n],t)}))},refreshValidate:function(){i.refresh()},resetFields:function(n){t(n).forEach((function(t){e.getCtxs(t).forEach((function(t){e.$render.clearCache(t),t.rule.value=dt(t.defaultValue)}))}))},method:function(e,t){var n=i.el(e);if(!n||!n[t])throw new Error(Te("err","".concat(t,"方法不存在")));return function(){return n[t].apply(n,arguments)}},exec:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return et((function(){return i.method(e,t).apply(void 0,r)}))},toJson:function(e){return qe(i.rule,e)},trigger:function(e,t){for(var n=i.el(e),r=arguments.length,o=new Array(r>2?r-2:0),a=2;a<r;a++)o[a-2]=arguments[a];n&&n.$emit.apply(n,[t].concat(o))},el:function(t){var n=e.getCtx(t);if(n)return n.el||e.vm.refs[n.ref]},closeModal:function(t){e.bus.$emit("fc:closeModal:"+t)},getSubForm:function(t){var n=e.getCtx(t);return n?e.subForm[n.id]:void 0},getChildrenRuleList:function(t){var n="object"===j(t),r=n?Qe(t):e.getCtx(t),o=r?r.rule:n?t:i.getRule(t);if(!o)return[];var a,u=[];return(a=r?r.loadChildrenPending():o.children)&&a.forEach((function(e){"object"===j(e)&&(e.field&&u.push(e),u.push.apply(u,B(i.getChildrenRuleList(e))))})),u},getChildrenFormData:function(e){return i.getChildrenRuleList(e).reduce((function(e,t){return e[t.field]=dt(t.value),e}),{})},setChildrenFormData:function(e,t,n){i.getChildrenRuleList(e).forEach((function(e){ce(t,e.field)?e.value=t[e.field]:n&&(e.value=void 0)}))},getGlobalEvent:function(e){var t=i.options.globalEvent[e];if(t)return"object"===j(t)&&(t=t.handle),Ge(t)},getGlobalData:function(t){return new Promise((function(n,r){var o=i.options.globalData[t];o||n(e.fc.loadData[t]),"fetch"===o.type?function(e){return new Promise((function(t,n){ft(F(F({},e),{},{onSuccess:function(n){var r=function(e){return e},i=Ge(e.parse);ue.Function(i)?r=i:i&&ue.String(i)&&(r=function(e){return i.split(".").forEach((function(t){e&&(e=e[t])})),e}),t(r(n))},onError:function(e){n(e)}}))}))}(o).then((function(e){n({res:e,config:o})})).catch(r):n(o.data)}))},nextTick:function(t){e.bus.$once("next-tick",t),e.refresh()},nextRefresh:function(t){e.nextRefresh(),t&&et(t)},deferSyncValue:function(t,n){e.deferSyncValue(t,n)},emit:function(t){for(var n,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];(n=e.vm).emit.apply(n,[t].concat(i))},helper:{tidyFields:t,props:n}};return["on","once","off","set"].forEach((function(t){i[t]=function(){var n;(n=e.bus)["$".concat(t)].apply(n,arguments)}})),i.changeValue=i.changeField=i.setValue,i}function ht(e){return mt(e.replace(/(-[a-z])/g,(function(e){return e.replace("-","").toLocaleUpperCase()})))}function mt(e){return e.replace(e[0],e[0].toLowerCase())}var vt=0;function gt(){var e=370+ ++vt;return"F"+Math.random().toString(36).substr(3,3)+Number("".concat(Date.now())).toString(36)+e.toString(36)+"c"}function yt(e,t,n){var r,i=e;return(t||"").split(".").forEach((function(e){r&&(i[r]&&"object"==j(i[r])||(i[r]={}),i=i[r]),r=e})),i[r]=n,i}var bt=1;function _t(e){he(this,{$handle:e,fc:e.fc,vm:e.vm,$manager:e.$manager,vNode:new e.fc.CreateNode(e.vm),id:bt++}),Xe(this,{options:function(){return e.options},sort:function(){return e.sort}}),this.initCache(),this.initRender()}!function(e){he(e.prototype,{initCache:function(){this.clearCacheAll()},clearCache:function(e){e.rule.cache||this.cache[e.id]&&((!0===this.cache[e.id].use||this.cache[e.id].parent)&&this.$handle.refresh(),this.cache[e.id]=null)},clearCacheAll:function(){this.cache={}},setCache:function(e,t,n){this.cache[e.id]={vnode:t,use:!1,parent:n,slot:e.rule.slot}},getCache:function(e){var t=this.cache[e.id];if(t)return t.use=!0,t.vnode}})}(_t),function(e){he(e.prototype,{initRender:function(){this.cacheConfig={}},getTypeSlot:function(e){return function t(n){if(n){var r=void 0;return e.rule.field&&(r=n.slots["field-"+Le(e.rule.field)]||n.slots["field-"+e.rule.field]),r||(r=n.slots["type-"+Le(e.type)]||n.slots["type-"+e.type]),r||t(n.setupState.parent)}}(this.vm)},render:function(){var e=this;if(this.vm.setupState.isShow){this.$manager.beforeRender();var t=tt();return this.sort.forEach((function(n){e.renderSlot(t,e.$handle.ctxs[n])})),this.$manager.render(t)}},renderSlot:function(e,t,n){if(this.isFragment(t)){t.initProp(),this.mergeGlobal(t),t.initNone();var r=this.renderChildren(t.loadChildrenPending(),t),i=r.default;i&&e.setSlot(t.rule.slot,(function(){return i()})),delete r.default,e.mergeBag(r)}else e.setSlot(t.rule.slot,this.renderCtx(t,n))},mergeGlobal:function(e){var t=this;this.$handle.options.global&&(this.cacheConfig[e.trueType]||(this.cacheConfig[e.trueType]=x((function(){var n=t.$handle.options.global;return Ze({},[n["*"],n[e.originType]||n[e.type]||n[e.type]||{}])}))),e.prop=Ze({},[this.cacheConfig[e.trueType].value,e.prop]))},setOptions:function(e){var t=e.loadPending({key:"options",origin:e.prop.options,def:[]});e.prop.options=t,e.prop.optionsTo&&t&&yt(e.prop,e.prop.optionsTo,t)},deepSet:function(e){var t=e.rule.deep;t&&Object.keys(t).sort((function(e,t){return e.length<t.length?-1:1})).forEach((function(n){yt(e.prop,n,t[n])}))},parseSide:function(e,t){return ue.Object(e)?Ze({props:{formCreateInject:t.prop.props.formCreateInject}},e):e},renderSides:function(e,t,n){var r=t[n?"rule":"prop"];return[this.renderRule(this.parseSide(r.prefix,t)),e,this.renderRule(this.parseSide(r.suffix,t))]},renderId:function(e,t){var n=this,r=this.$handle["field"===t?"fieldCtx":"nameCtx"][e];return r?r.map((function(e){return n.renderCtx(e,e.parent)})):void 0},renderCtx:function(e,t){var n=this;try{if("hidden"===e.type)return;var r=e.rule;if(!this.cache[e.id]||this.cache[e.id].slot!==r.slot){var i;e.initProp(),this.mergeGlobal(e),e.initNone(),this.$manager.tidyRule(e),this.deepSet(e),this.setOptions(e),this.ctxProp(e);var o=e.prop;o.preview=!!(ce(o,"preview")?o.preview:this.options.preview),o.props.formCreateInject=this.injectProp(e);var a=!1!==o.cache,u=o.preview;if(o.hidden)return void this.setCache(e,void 0,t);i=function(){for(var i=arguments.length,c=new Array(i),s=0;s<i;s++)c[s]=arguments[s];var l={rule:r,prop:o,preview:u,api:n.$handle.api,model:o.model||{},slotValue:c};c.length&&r.slotUpdate&&et((function(){return r.slotUpdate(l)}));var f={},d=e.loadChildrenPending();e.parser.renderChildren?f=e.parser.renderChildren(d,e):!1!==e.parser.loadChildren&&(f=n.renderChildren(d,e));var p,h=n.getTypeSlot(e);return h?(l.children=f,p=h(l)):p=u?e.parser.preview(me(f),e):e.parser.render(me(f),e),p=n.renderSides(p,e),!e.input&&ue.Undef(o.native)||!0===o.native||(p=n.$manager.makeWrap(e,p)),e.none&&(p=Array.isArray(p)?p.map((function(e){return e&&e.__v_isVNode?n.none(e):e})):n.none(p)),a&&!Object.keys(f).length&&n.setCache(e,(function(){return p}),t),p},this.setCache(e,i,t)}return function(){var t=n.getCache(e);if(t)return t.apply(void 0,arguments);if(!n.cache[e.id]){var r=n.renderCtx(e,e.parent);return r?r():void 0}}}catch(e){return void console.error(e)}},none:function(e){if(e)return Array.isArray(e.props.class)?e.props.class.push("fc-none"):e.props.class=[e.props.class,"fc-none"],e},getModelField:function(e){return e.rule.modelField||e.parser.modelField||this.fc.modelFields[this.vNode.aliasMap[e.type]]||this.fc.modelFields[e.type]||this.fc.modelFields[e.originType]||"modelValue"},isFragment:function(e){return"fragment"===e.type||"template"===e.type},injectProp:function(e){var t=this,n=this.vm.setupState;n.ctxInject[e.id]||(n.ctxInject[e.id]={api:this.$handle.api,form:this.fc.create,subForm:function(n){t.$handle.addSubForm(e,n)},getSubForm:function(){return t.$handle.subForm[e.id]},options:[],children:[],preview:!1,id:e.id,field:e.field,rule:e.rule,input:e.input});var r=n.ctxInject[e.id];return he(r,{preview:e.prop.preview,options:e.prop.options,children:e.loadChildrenPending()}),r},ctxProp:function(e,t){var n=this,r=e.ref,i=e.key,o=e.rule;this.$manager.mergeProp(e,t),e.parser.mergeProp(e,t);var a=[{ref:r,key:o.key||"".concat(i,"fc"),slot:void 0,on:{vnodeMounted:function(t){t.el.__rule__=e.rule,n.onMounted(e,t.el)},"fc.el":function(t){e.exportEl=t,t&&((t.$el||t).__rule__=e.rule)}}}];if(!t&&e.input){var u=this.getModelField(e),c={callback:function(t){n.onInput(e,t)},value:this.$handle.getFormData(e)};a.push({on:F(V({},"update:".concat(u),c.callback),e.prop.modelEmit?V({},e.prop.modelEmit,(function(){return n.onEmitInput(e)})):{}),props:V({},u,c.value)}),e.prop.model=c}return Ee(a,e.prop),e.prop},onMounted:function(e,t){e.el=this.vm.refs[e.ref]||t,e.parser.mounted(e),this.$handle.effect(e,"mounted")},onInput:function(e,t){e.prop.modelEmit?this.$handle.onBaseInput(e,t):this.$handle.onInput(e,t)},onEmitInput:function(e){this.$handle.setValue(e,e.parser.toValue(e.modelValu