@longhongguo/form-create-ant-design-vue 3.2.61 → 3.2.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form-create.css +5 -0
- package/dist/form-create.esm.css +5 -0
- package/dist/form-create.esm.js +2 -2
- package/dist/form-create.esm.js.map +1 -1
- package/dist/form-create.js +2 -2
- package/dist/form-create.js.map +1 -1
- package/package.json +1 -1
- package/src/parsers/flex.js +31 -1
- package/src/style/index.css +5 -0
package/dist/form-create.css
CHANGED
|
@@ -491,6 +491,11 @@
|
|
|
491
491
|
._fd-tf-col:has(._fd-tf-col) {
|
|
492
492
|
width: auto !important;
|
|
493
493
|
}
|
|
494
|
+
|
|
495
|
+
/* Flex 容器子项 flex 样式 */
|
|
496
|
+
.ant-flex._fc-flex-container > .ant-form-item {
|
|
497
|
+
flex: var(--fc-child-flex) !important;
|
|
498
|
+
}
|
|
494
499
|
|
|
495
500
|
@font-face {
|
|
496
501
|
font-family: "fc-icon";
|
package/dist/form-create.esm.css
CHANGED
|
@@ -491,6 +491,11 @@
|
|
|
491
491
|
._fd-tf-col:has(._fd-tf-col) {
|
|
492
492
|
width: auto !important;
|
|
493
493
|
}
|
|
494
|
+
|
|
495
|
+
/* Flex 容器子项 flex 样式 */
|
|
496
|
+
.ant-flex._fc-flex-container > .ant-form-item {
|
|
497
|
+
flex: var(--fc-child-flex) !important;
|
|
498
|
+
}
|
|
494
499
|
|
|
495
500
|
@font-face {
|
|
496
501
|
font-family: "fc-icon";
|
package/dist/form-create.esm.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @longhongguo/form-create-ant-design-vue v3.2.
|
|
2
|
+
* @longhongguo/form-create-ant-design-vue v3.2.62
|
|
3
3
|
* (c) 2018-2025 xaboy
|
|
4
4
|
* Github https://github.com/xaboy/form-create
|
|
5
5
|
* Released under the MIT License.
|
|
6
6
|
*/
|
|
7
|
-
import e from"@form-create/component-antdv-upload/src/index";import t from"@form-create/component-antdv-frame/src/index";import l from"@form-create/component-antdv-group/src/index";import a from"@form-create/component-subform/src/index";import{openBlock as r,createElementBlock as i,createElementVNode as s,defineComponent as o,Fragment as n,createCommentVNode as c,normalizeClass as d,normalizeStyle as p,toDisplayString as u,renderList as h,resolveComponent as m,createVNode as f,reactive as y,markRaw as g,createBlock as v,resolveDynamicComponent as b,withCtx as w,createTextVNode as C,renderSlot as k,toRef as x,watch as S,nextTick as V}from"vue";import $,{hasProperty as F}from"@form-create/utils/lib/type";import I,{creatorFactory as P}from"@longhongguo/form-create-core/src/index";import O from"@form-create/utils/lib/mergeprops";import j from"@form-create/utils/lib/extend";import{invoke as A}from"@longhongguo/form-create-core/src/frame/util";import T from"@form-create/utils/lib/toarray";var E={name:"QuestionCircleOutlined"};const B={class:"anticon"};E.render=function(e,t,l,a,o,n){return r(),i("span",B,[...t[0]||(t[0]=[s("svg",{height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[s("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448s448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372s372 166.6 372 372s-166.6 372-372 372z",fill:"currentColor"}),s("path",{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7c-21.2 8.1-39.2 22.3-52.1 40.9c-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5c.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1 0 80 0a40 40 0 1 0-80 0z",fill:"currentColor"})],-1)])])};var R=o({name:"CusSelect",props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},sourceItems:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},maxTagCount:{type:Number,default:void 0},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},style:{type:[String,Object],default:()=>({width:"100%"})},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},allowClear:{type:Boolean,default:!1},bordered:{type:Boolean,default:!0}},emits:["update:modelValue","update:sourceItems","change"],computed:{currentValue:{get(){return Array.isArray(this.modelValue)?this.modelValue.map(e=>"object"!=typeof e||null===e||void 0===e.value&&void 0===e[this.valueKey]?{[this.valueKey]:e,[this.labelKey]:this.getLabel(e)}:e):null===this.modelValue||void 0===this.modelValue||""===this.modelValue?[]:"object"==typeof this.modelValue?[this.modelValue]:[{value:this.modelValue,label:this.getLabel(this.modelValue)}]},set(e){let t=[];null!=e&&(t=Array.isArray(e)?e.map(e=>"object"!=typeof e||null===e||void 0===e.value&&void 0===e[this.valueKey]?{[this.valueKey]:e,[this.labelKey]:this.getLabel(e)}:e):"object"==typeof e&&null!==e?[e]:[{[this.valueKey]:e,[this.labelKey]:this.getLabel(e)}]),this.$emit("update:modelValue",t),this.$emit("change",t)}},hasValue(){const e=this.currentValue;return Array.isArray(e)&&e.length>0},displayValue(){return this.hasValue?this.currentValue[0]:null},displayLabel(){if(!this.displayValue)return"";const e=this.displayValue;return"object"==typeof e&&null!==e?e[this.labelKey]||e.label||String(e[this.valueKey]||e.value||""):this.getLabel(e)},allSelectedItems(){const e=this.currentValue;return Array.isArray(e)&&0!==e.length?e.map(e=>"object"==typeof e&&null!==e?{value:e[this.valueKey]||e.value,label:e[this.labelKey]||e.label||String(e[this.valueKey]||e.value||"")}:{value:e,label:this.getLabel(e)}):[]},displayItems(){const e=this.allSelectedItems;return void 0===this.maxTagCount||null===this.maxTagCount?e:e.slice(0,this.maxTagCount)},remainingCount(){if(void 0===this.maxTagCount||null===this.maxTagCount)return 0;const e=this.allSelectedItems.length;return Math.max(0,e-this.maxTagCount)},showClear(){return this.allowClear&&this.hasValue&&!this.disabled}},methods:{findOptionByValue(e){return this.options&&0!==this.options.length?this.options.find(t=>{const l="object"==typeof t?t[this.valueKey]:t;return l===e||String(l)===String(e)}):null},getLabel(e){const t=this.findOptionByValue(e);return t?"object"==typeof t?t[this.labelKey]:t:String(e)},removeItem(e,t){if(this.disabled)return;t.stopPropagation();const l=this.currentValue;if(Array.isArray(l)){const t=l.filter(t=>{if("object"==typeof t&&null!==t){return(t[this.valueKey]||t.value)!==e}return t!==e}),a=this.sourceItems.filter(e=>!t.some(t=>t[this.valueKey]===e[this.valueKey]));this.$emit("update:sourceItems",a),this.currentValue=t}},clearValue(e){if(this.disabled)return;e.stopPropagation(),this.currentValue=[];const t=this.sourceItems.filter(e=>!this.currentValue.some(t=>t[this.valueKey]===e[this.valueKey]));this.$emit("update:sourceItems",t)}}});const K=["tabindex"],L=["title"],_={key:1,class:"fc-cus-select-selection-placeholder"},M={key:3,class:"fc-cus-select-arrow"},D=["tabindex"],N={class:"fc-cus-select-selection-overflow"},U=["title"],z={class:"fc-cus-select-selection-item-content"},Y=["onClick"],q={key:0,class:"fc-cus-select-selection-overflow-item",style:{opacity:"1"}},Q={class:"fc-cus-select-selection-item"},J={class:"fc-cus-select-selection-item-content"},W={key:1,class:"fc-cus-select-selection-placeholder"},H={key:1,class:"fc-cus-select-arrow"};R.render=function(e,t,l,a,o,m){return r(),i(n,null,[c(" 单个展示模式 "),e.multiple?(r(),i(n,{key:1},[c(" 多个展示模式 "),s("div",{class:d(["fc-cus-select fc-cus-select-multiple",{"fc-cus-select-disabled":e.disabled}]),style:p(e.style),tabindex:e.disabled?-1:0},[s("div",{class:d(["fc-cus-select-selector",{"fc-cus-select-selector-borderless":!e.bordered}])},[s("div",N,[c(" 显示的 tags "),(r(!0),i(n,null,h(e.displayItems,(l,a)=>(r(),i("div",{key:a,class:"fc-cus-select-selection-overflow-item",style:{opacity:"1"}},[s("span",{class:"fc-cus-select-selection-item",title:l.label},[s("span",z,u(l.label),1),s("span",{class:"fc-cus-select-selection-item-remove",onClick:t=>e.removeItem(l.value,t)},[...t[4]||(t[4]=[s("span",{role:"img","aria-label":"close",class:"anticon anticon-close"},[s("svg",{focusable:"false","data-icon":"close",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","fill-rule":"evenodd",viewBox:"64 64 896 896"},[s("path",{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"})])],-1)])],8,Y)],8,U)]))),128)),c(" 折叠提示 "),e.remainingCount>0?(r(),i("div",q,[s("span",Q,[s("span",J," +"+u(e.remainingCount),1)])])):c("v-if",!0),c(" 空值占位符 "),e.hasValue?c("v-if",!0):(r(),i("span",W,u(e.placeholder||"请选择"),1))]),e.showClear?(r(),i("span",{key:0,class:"fc-cus-select-clear",onClick:t[1]||(t[1]=(...t)=>e.clearValue&&e.clearValue(...t))},[...t[5]||(t[5]=[s("span",{role:"img","aria-label":"close-circle",class:"anticon anticon-close-circle"},[s("svg",{focusable:"false","data-icon":"close-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","fill-rule":"evenodd",viewBox:"64 64 896 896"},[s("path",{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"})])],-1)])])):(r(),i("span",H,[...t[6]||(t[6]=[s("span",{role:"img","aria-label":"down",class:"anticon anticon-down"},[s("svg",{focusable:"false","data-icon":"down",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},[s("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"})])],-1)])]))],2)],14,D)],2112)):(r(),i("div",{key:0,class:d(["fc-cus-select fc-cus-select-single",{"fc-cus-select-disabled":e.disabled}]),style:p(e.style),tabindex:e.disabled?-1:0},[s("div",{class:d(["fc-cus-select-selector",{"fc-cus-select-selector-borderless":!e.bordered}])},[e.displayValue?(r(),i("span",{key:0,class:"fc-cus-select-selection-item",title:e.displayLabel},u(e.displayLabel),9,L)):(r(),i("span",_,u(e.placeholder||"请选择"),1)),e.showClear?(r(),i("span",{key:2,class:"fc-cus-select-clear",onClick:t[0]||(t[0]=(...t)=>e.clearValue&&e.clearValue(...t))},[...t[2]||(t[2]=[s("span",{role:"img","aria-label":"close-circle",class:"anticon anticon-close-circle"},[s("svg",{focusable:"false","data-icon":"close-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","fill-rule":"evenodd",viewBox:"64 64 896 896"},[s("path",{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"})])],-1)])])):(r(),i("span",M,[...t[3]||(t[3]=[s("span",{role:"img","aria-label":"down",class:"anticon anticon-down"},[s("svg",{focusable:"false","data-icon":"down",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},[s("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"})])],-1)])]))],2)],14,K))],2112)};var G=o({name:"CusStoreSelect",components:{CusSelect:R},props:{formCreateInject:{type:Object,default:null},modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},maxTagCount:{type:Number,default:void 0},placeholder:{type:String,default:"请选择"},disabled:{type:Boolean,default:!1},style:{type:[String,Object],default:()=>({width:"100%"})},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},allowClear:{type:Boolean,default:!1},field:{type:String,default:""},bordered:{type:Boolean,default:!0},extraQuery:{type:Object,default:()=>({})},extraQueryFn:{type:Function,default:()=>{}}},emits:["update:modelValue","change"],data:()=>({messageId:0,pendingCallbacks:{},internalOptions:[],sourceItems:[]}),computed:{mergedOptions(){if(this.internalOptions.length>0){const e=new Map;return this.options.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),this.internalOptions.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),Array.from(e.values())}return this.options}},watch:{options:{immediate:!0,handler(e){0===this.internalOptions.length&&Array.isArray(e)&&e.length>0&&(this.internalOptions=[...e])}}},mounted(){window.addEventListener("message",this.handleMessage)},beforeUnmount(){window.removeEventListener("message",this.handleMessage)},methods:{serializeForPostMessage(e){if(null==e)return e;try{return JSON.parse(JSON.stringify(e))}catch(t){if(console.warn("CusStoreSelect: 数据序列化失败,尝试递归处理",t),Array.isArray(e))return 0===e.length?[]:e.map(e=>this.serializeForPostMessage(e));if("object"==typeof e){const t={};for(const l in e)if(Object.prototype.hasOwnProperty.call(e,l))try{t[l]=this.serializeForPostMessage(e[l])}catch(e){console.warn("CusStoreSelect: 跳过无法序列化的属性: "+l,e)}return t}return e}},handleClick(){if(this.disabled)return;const e=`store-select-${this.field||"default"}-${Date.now()}-${++this.messageId}`,t=Array.isArray(this.modelValue)?this.modelValue:[];let l=null;t.length>0&&(l=t);const a=null==l?null:this.serializeForPostMessage(l),r={...this.extraQuery};this.extraQueryFn&&Object.assign(r,this.extraQueryFn());const i={type:"OPEN_STORE_SELECT",field:this.field||"",multiple:this.multiple,currentValue:a,valueKey:this.valueKey,labelKey:this.labelKey,extraQuery:r,messageId:e};if(window.parent&&window.parent!==window)try{window.parent.postMessage(i,"*")}catch(e){console.error("CusStoreSelect: 发送消息失败",e)}else console.warn("CusStoreSelect: 当前不在 iframe 环境中,无法向父窗口发送消息");this.pendingCallbacks[e]=(e,t)=>{t&&Array.isArray(t)&&t.length>0&&this.mergeOptions(t),this.sourceItems=t,this.handleUpdate(e),this.handleChange(e)}},handleMessage(e){const t=e.data;if(t&&"STORE_SELECT_RESULT"===t.type){const{field:e,value:l,sourceItems:a,messageId:r}=t;if(e!==this.field)return;const i=this.pendingCallbacks[r];i&&(i(l,a),delete this.pendingCallbacks[r])}},mergeOptions(e){if(!Array.isArray(e)||0===e.length)return;const t=new Map;this.internalOptions.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),e.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),this.internalOptions=Array.from(t.values())},handleUpdate(e){this.$emit("update:modelValue",e),this.triggerValidate()},handleChange(e){this.$emit("change",e,this.sourceItems&&this.sourceItems.length>0?this.multiple?this.sourceItems:this.sourceItems[0]:this.multiple?[]:null)},triggerValidate(){this.$nextTick(()=>{this.$nextTick(()=>{try{if(this.formCreateInject&&this.formCreateInject.api&&this.field)return void this.formCreateInject.api.validateField(this.field).catch(()=>{});let e=this.$parent;for(;e;){if(e.$options&&"FormCreate"===e.$options.name&&e.fapi){this.field&&e.fapi.validateField&&e.fapi.validateField(this.field).catch(()=>{});break}e=e.$parent}}catch(e){console.warn("CusStoreSelect: 触发校验失败",e)}})})}}});G.render=function(e,t,l,a,s,o){const n=m("CusSelect");return r(),i("div",{onClick:t[1]||(t[1]=(...t)=>e.handleClick&&e.handleClick(...t))},[f(n,{"model-value":e.modelValue,options:e.mergedOptions,"source-items":e.sourceItems,"onUpdate:sourceItems":t[0]||(t[0]=t=>e.sourceItems=t),multiple:e.multiple,"max-tag-count":e.maxTagCount,placeholder:e.placeholder,disabled:e.disabled,style:p(e.style),valueKey:e.valueKey,labelKey:e.labelKey,allowClear:e.allowClear,bordered:e.bordered,"onUpdate:modelValue":e.handleUpdate,onChange:e.handleChange},null,8,["model-value","options","source-items","multiple","max-tag-count","placeholder","disabled","style","valueKey","labelKey","allowClear","bordered","onUpdate:modelValue","onChange"])])};var X=o({name:"CusUserSelect",components:{CusSelect:R},props:{formCreateInject:{type:Object,default:null},modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},maxTagCount:{type:Number,default:void 0},placeholder:{type:String,default:"请选择"},disabled:{type:Boolean,default:!1},style:{type:[String,Object],default:()=>({width:"100%"})},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},allowClear:{type:Boolean,default:!1},field:{type:String,default:""},bordered:{type:Boolean,default:!0},selectType:{type:[String,Number],default:null},extraQuery:{type:Object,default:()=>({})},extraQueryFn:{type:Function,default:()=>{}}},emits:["update:modelValue","change"],data:()=>({messageId:0,pendingCallbacks:{},internalOptions:[],sourceItems:[]}),computed:{mergedOptions(){if(this.internalOptions.length>0){const e=new Map;return this.options.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),this.internalOptions.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),Array.from(e.values())}return this.options}},watch:{options:{immediate:!0,handler(e){0===this.internalOptions.length&&Array.isArray(e)&&e.length>0&&(this.internalOptions=[...e])}}},mounted(){window.addEventListener("message",this.handleMessage)},beforeUnmount(){window.removeEventListener("message",this.handleMessage)},methods:{serializeForPostMessage(e){if(null==e)return e;try{return JSON.parse(JSON.stringify(e))}catch(t){if(console.warn("CusUserSelect: 数据序列化失败,尝试递归处理",t),Array.isArray(e))return 0===e.length?[]:e.map(e=>this.serializeForPostMessage(e));if("object"==typeof e){const t={};for(const l in e)if(Object.prototype.hasOwnProperty.call(e,l))try{t[l]=this.serializeForPostMessage(e[l])}catch(e){console.warn("CusUserSelect: 跳过无法序列化的属性: "+l,e)}return t}return e}},handleClick(){if(this.disabled)return;const e=`user-select-${this.field||"default"}-${Date.now()}-${++this.messageId}`,t=Array.isArray(this.modelValue)?this.modelValue:[];let l=null;t.length>0&&(l=t);const a=null==l?null:this.serializeForPostMessage(l),r={...this.extraQuery};this.extraQueryFn&&Object.assign(r,this.extraQueryFn());const i={type:"OPEN_USER_SELECT",field:this.field||"",multiple:this.multiple,currentValue:a,valueKey:this.valueKey,labelKey:this.labelKey,selectType:this.selectType,extraQuery:r,messageId:e};if(window.parent&&window.parent!==window)try{window.parent.postMessage(i,"*")}catch(e){console.error("CusUserSelect: 发送消息失败",e)}else console.warn("CusUserSelect: 当前不在 iframe 环境中,无法向父窗口发送消息");this.pendingCallbacks[e]=(e,t)=>{t&&Array.isArray(t)&&t.length>0&&this.mergeOptions(t),this.sourceItems=t,this.handleUpdate(e),this.handleChange(e)}},handleMessage(e){const t=e.data;if(t&&"USER_SELECT_RESULT"===t.type){const{field:e,value:l,sourceItems:a,messageId:r}=t;if(e!==this.field)return;const i=this.pendingCallbacks[r];i&&(i(l,a),delete this.pendingCallbacks[r])}},mergeOptions(e){if(!Array.isArray(e)||0===e.length)return;const t=new Map;this.internalOptions.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),e.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),this.internalOptions=Array.from(t.values())},handleUpdate(e){this.$emit("update:modelValue",e),this.triggerValidate()},handleChange(e){this.$emit("change",e,this.sourceItems&&this.sourceItems.length>0?this.multiple?this.sourceItems:this.sourceItems[0]:this.multiple?[]:null)},triggerValidate(){this.$nextTick(()=>{this.$nextTick(()=>{try{if(this.formCreateInject&&this.formCreateInject.api&&this.field)return void this.formCreateInject.api.validateField(this.field).catch(()=>{});let e=this.$parent;for(;e;){if(e.$options&&"FormCreate"===e.$options.name&&e.fapi){this.field&&e.fapi.validateField&&e.fapi.validateField(this.field).catch(()=>{});break}e=e.$parent}}catch(e){console.warn("CusUserSelect: 触发校验失败",e)}})})}}});X.render=function(e,t,l,a,s,o){const n=m("CusSelect");return r(),i("div",{onClick:t[1]||(t[1]=(...t)=>e.handleClick&&e.handleClick(...t))},[f(n,{"model-value":e.modelValue,options:e.mergedOptions,"source-items":e.sourceItems,"onUpdate:sourceItems":t[0]||(t[0]=t=>e.sourceItems=t),multiple:e.multiple,"max-tag-count":e.maxTagCount,placeholder:e.placeholder,disabled:e.disabled,style:p(e.style),valueKey:e.valueKey,labelKey:e.labelKey,allowClear:e.allowClear,bordered:e.bordered,"onUpdate:modelValue":e.handleUpdate,onChange:e.handleChange},null,8,["model-value","options","source-items","multiple","max-tag-count","placeholder","disabled","style","valueKey","labelKey","allowClear","bordered","onUpdate:modelValue","onChange"])])};var Z={name:"TableForm",emits:["change","add","delete","update:modelValue"],props:{formCreateInject:Object,modelValue:{type:Array,default:()=>[]},columns:{type:Array,required:!0,default:()=>[]},filterEmptyColumn:{type:Boolean,default:!0},deletable:{type:Boolean,default:!0},addable:{type:Boolean,default:!0},options:{type:Object,default:()=>y({submitBtn:!1,resetBtn:!1})},min:Number,max:Number,disabled:Boolean},watch:{modelValue:{handler(){this.updateTable()},deep:!0},"formCreateInject.preview":function(e){this.emptyRule.children[0].props.colspan=this.columns.length+(e?1:2)}},data(){return{rule:[],trs:[],fapi:{},Form:g(this.formCreateInject.form.$form()),copyTrs:"",oldValue:"",emptyRule:{type:"tr",_isEmpty:!0,native:!0,subRule:!0,children:[{type:"td",style:{textAlign:"center"},native:!0,subRule:!0,props:{colspan:this.columns.length+(this.formCreateInject.preview?1:2)},children:[this.formCreateInject.t("dataEmpty")||"暂无数据"]}]}}},methods:{formChange(){this.updateValue()},updateValue(){const e=this.trs.map((e,t)=>({...this.modelValue[t]||{},...this.fapi.getChildrenFormData(e)})).filter(e=>{if(!this.filterEmptyColumn)return!0;if(null==e)return!1;let t=!1;return Object.keys(e).forEach(l=>{t=t||void 0!==e[l]&&""!==e[l]&&null!==e[l]}),t}),t=JSON.stringify(e);t!==this.oldValue&&(this.oldValue=t,this.$emit("update:modelValue",e),this.$emit("change",e))},setRawData(e,t){const l=this.trs[e];this.fapi.setChildrenFormData(l,t,!0)},updateTable(){const e=JSON.stringify(this.modelValue);this.oldValue!==e&&(this.oldValue=e,this.trs=this.trs.splice(0,this.modelValue.length),this.modelValue.length?this.clearEmpty():this.addEmpty(),this.modelValue.forEach((e,t)=>{this.trs[t]||this.addRaw(),this.setRawData(t,e||{})}),this.rule[0].children[1].children=this.trs)},addEmpty(){this.trs.length&&this.trs.splice(0,this.trs.length),this.trs.push(this.emptyRule)},clearEmpty(){this.trs[0]&&this.trs[0]._isEmpty&&this.trs.splice(0,1)},delRaw(e){this.disabled||!this.deletable||this.min>0&&this.trs.length<=this.min||(this.trs.splice(e,1),this.updateValue(),this.trs.length?this.trs.forEach(e=>this.updateRaw(e)):this.addEmpty(),this.$emit("delete",e))},addRaw(e){if(e&&this.disabled)return;const t=this.formCreateInject.form.parseJson(this.copyTrs)[0];1===this.trs.length&&this.trs[0]._isEmpty&&this.trs.splice(0,1),this.trs.push(t),this.updateRaw(t),e&&(this.$emit("add",this.trs.length),this.updateValue())},updateRaw(e){const t=this.trs.indexOf(e);e.children[0].props.innerText=t+1,e.children[e.children.length-1].children[0].props.onClick=()=>{this.delRaw(t)}},loadRule(){const e=[{type:"th",native:!0,class:"_fc-tf-head-idx",props:{innerText:"#"}}];let t=[{type:"td",class:"_fc-tf-idx",native:!0,props:{innerText:"0"}}];this.columns.forEach(l=>{e.push({type:"th",native:!0,style:{...l.style||{},textAlign:l.align||"center"},class:l.required?"_fc-tf-head-required":"",props:{innerText:l.label||""}}),t.push({type:"td",native:!0,children:[...l.rule||[]]})}),e.push({type:"th",native:!0,class:"_fc-tf-edit fc-clock",props:{innerText:this.formCreateInject.t("operation")||"操作"}}),t.push({type:"td",native:!0,class:"_fc-tf-btn fc-clock",children:[{type:"i",native:!0,class:"fc-icon icon-delete",props:{}}]}),this.copyTrs=this.formCreateInject.form.toJson([{type:"tr",native:!0,subRule:!0,children:t}]),this.rule=[{type:"table",native:!0,class:"_fc-tf-table",props:{border:"1",cellspacing:"0",cellpadding:"0"},children:[{type:"thead",native:!0,children:[{type:"tr",native:!0,children:e}]},{type:"tbody",native:!0,children:this.trs}]}]}},created(){this.loadRule()},mounted(){this.updateTable()}};Z.render=function(e,t,l,a,o,n){const p=m("a-button");return r(),i("div",{class:d(["_fc-table-form",{"_fc-disabled":l.disabled}])},[(r(),v(b(o.Form),{option:l.options,rule:o.rule,extendOption:!0,disabled:l.disabled,onChange:n.formChange,api:o.fapi,"onUpdate:api":t[0]||(t[0]=e=>o.fapi=e),onEmitEvent:e.$emit},null,40,["option","rule","disabled","onChange","api","onEmitEvent"])),l.addable&&(!l.max||l.max>this.trs.length)?(r(),v(p,{key:0,type:"link",class:"fc-clock",onClick:t[1]||(t[1]=e=>n.addRaw(!0)),disabled:l.disabled},{default:w(()=>[t[2]||(t[2]=s("i",{class:"fc-icon icon-add-circle",style:{"font-weight":"700"}},null,-1)),C(" "+u(l.formCreateInject.t("add")||"添加"),1)]),_:1},8,["disabled"])):c("v-if",!0)],2)};var ee=o({name:"TableFormView",data:()=>({})});const te={class:"_fd-table-form"},le={key:0,class:"_fd-tf-wrap"},ae={key:1,class:"_fc-child-empty"};ee.render=function(e,t,l,a,s,o){return r(),i("div",te,[e.$slots.default?(r(),i("div",le,[k(e.$slots,"default")])):(r(),i("div",ae))])};var re=o({name:"TableFormColumnView",props:{label:String,align:String,width:[Number,String],color:String,required:Boolean},computed:{colStyle(){const e=this.width,t={width:$.Number(e)?e+"px":e&&"auto"!==e?e:"180px"};return this.color&&(t.color=this.color),t}},data:()=>({})});const ie={key:0,class:"_fd-tf-required"},se={class:"_fd-tf-con"};re.render=function(e,t,l,a,o,n){return r(),i("div",{class:"_fd-tf-col",style:p(e.colStyle)},[s("div",{class:"_fd-tf-title",style:p({textAlign:e.align||"center"})},[e.required?(r(),i("span",ie,"*")):c("v-if",!0),C(u(e.label||""),1)],4),s("div",se,[k(e.$slots,"default")])],4)};var oe=[e,t,l,a,E,R,G,X,Z,ee,re],ne={name:"checkbox",modelField:"value",mergeProp(e){const t=e.prop.props;F(t,"options")||(t.options=e.prop.options||[])}},ce={...ne,name:"radio"},de={...ne,name:"select",mergeProp(e){const t=e.prop.props;F(t,"options")||(t.options=e.prop.options||[]);const l=e.effectData("fetch");l&&!0===l.loading&&(t.disabled=!0,t.loading=!0)},render(e,t){const l=t.effectData("fetch");if(l&&!0===l.loading&&e.loading){const l={...e};return l.notFoundContent=e.loading,t.$render.defaultRender(t,l)}return t.$render.defaultRender(t,e)}},pe={name:"cascader",mergeProp(e){const t=e.prop.props;F(t,"options")||(t.options=e.prop.options||[]);const l=e.effectData("fetch");l&&!0===l.loading&&(t.disabled=!0,t.loading=!0)},render(e,t){const l=t.effectData("fetch");if(l&&!0===l.loading&&e.loading){const l={...e};return l.notFoundContent=e.loading,t.$render.defaultRender(t,l)}return t.$render.defaultRender(t,e)}};const ue={date:"YYYY-MM-DD",month:"YYYY-MM",week:"YYYY-wo",quarter:"YYYY-qQ",year:"YYYY"},he="datePicker";var me={name:he,maker:["date","month","week"].reduce((e,t)=>(e[t]=P(he,{type:t}),e),{dateRange:P(he,{type:"range"}),datetimeRange:P(he,e=>e.props({type:"range",showTime:!0}))}),modelField:"value",mergeProp(e){const t=e.prop.props,l=t.type||t.picker;t.valueFormat||(t.valueFormat=(ue[l]||ue.date)+(!t.showTime||l&&"date"!==l?"":" HH:mm:ss"))},render:(e,t)=>t.$render.vNode[(!0===t.prop.props.range?"range":"date")+"Picker"](t.prop,e)};var fe={name:"hidden",maker:{hidden:(e,t)=>P("hidden")("",e,t)},render:()=>[]},ye={name:"text",loadChildren:!1,mounted(e){var t,l;const a=e.rule.props||{},r=e.rule.bindField||a.bindField||(null===(t=e.prop.props)||void 0===t?void 0:t.bindField),i=e.rule.template||a.template||(null===(l=e.prop.props)||void 0===l?void 0:l.template);(i||r)&&setTimeout(()=>{if(e.$handle&&e.$handle.api)try{let t="";if(i){const l=e.$handle.api.formData();t=e.$handle.loadStrVar(i,t=>{const a=e.$handle.api.getValue(t);return void 0===a&&l&&void 0!==l[t]?l[t]:a},null)}else r&&(t=e.$handle.api.getValue(r)||"");null!=t&&(e.rule.children||(e.rule.children=[]),e.rule.children[0]=String(t),e.$handle.api.sync(e.rule),e.$handle.refresh())}catch(e){}},500)},renderChildren:(e,t)=>({default:()=>{var l;let a=null===(l=t.rule)||void 0===l?void 0:l.children;a||(a=e);return(Array.isArray(a)?a:[a]).filter(e=>null!=e).map(e=>$.String(e)?e:String(e)).join("")||""}}),mergeProp(e){var t,l,a;const r=e.rule.props||{},i=e.rule.bindField||r.bindField||(null===(t=e.prop.props)||void 0===t?void 0:t.bindField),s=e.rule.template||r.template||(null===(l=e.prop.props)||void 0===l?void 0:l.template);let o=e.rule.bindMode||r.bindMode||(null===(a=e.prop.props)||void 0===a?void 0:a.bindMode);if(o||(o=s?"template":i?"field":"static"),"field"===o&&i){const t={attr:i,to:"child",modify:!0,wait:300,watch:!0};e.rule.effect||(e.rule.effect={}),e.rule.effect.loadData||(e.rule.effect.loadData=[]);e.rule.effect.loadData.some(e=>e.attr===i&&"child"===e.to)||(e.rule.effect.loadData.push(t),e.$handle&&e.$handle.effect&&e.$handle.effect(e,"loaded"))}else if("template"===o&&s){const t={template:s,to:"child",modify:!0,wait:300,watch:!0};e.rule.effect||(e.rule.effect={}),e.rule.effect.loadData||(e.rule.effect.loadData=[]);if(!e.rule.effect.loadData.some(e=>e.template===s&&"child"===e.to)&&(e.rule.effect.loadData.push(t),e.$handle&&e.$handle.effect&&(e.$handle.effect(e,"loaded"),!e._textLoadDataWatched))){e._textLoadDataWatched=!0;const t=x(e.rule.effect,"loadData");e.watch.push(S(t,(t,l)=>{e.$handle.effect(e,"watch",{loadData:t})},{deep:!0}))}}null==e.rule.formCreateChild||e.rule.children||(e.rule.children=[e.rule.formCreateChild]),e.rule.children||(e.rule.children=[]),("field"===o&&i||"template"===o&&s)&&(!e.rule.children||Array.isArray(e.rule.children)&&0===e.rule.children.length)&&(e.rule.children="template"===o?[""]:[" "])},render(e,t){let l="";if(e&&"function"==typeof e.default)try{l=e.default()||""}catch(e){l=""}l=null==l||void 0===l?"":String(l);const a={...t.prop};a.props||(a.props={}),"text"===a.type&&(a.type="div"),delete a.props.innerHTML;return t.vNode.make("div",a,[l])}};var ge={name:"input",maker:["password","url","email","text","textarea","search"].reduce((e,t)=>(e[t]=P("input",{type:t}),e),{idate:P("input",{type:"date"})}),modelField:"value",render(e,t){let l=t.prop.props.type;return-1===["textarea","search","password"].indexOf(l)&&(l="input"),l={textarea:"aTextarea",search:"aInputSearch",password:"aInputPassword"}[l]||"aInput",t.$render.vNode.make(l,t.prop,e)}},ve={name:"timePicker",modelField:"value",mergeProp(e){const t=e.prop.props;t.valueFormat||(t.valueFormat="HH:mm:ss")},render:(e,t)=>t.$render.vNode["time"+(!0===t.prop.props.range?"Range":"")+"Picker"](t.prop,e)},be={name:"tree",modelField:"checkedKeys",mergeProp(e){const t=e.prop.props;t.fieldNames?t.fieldNames.key||(t.fieldNames.key="id"):t.fieldNames={key:"id"},t.checkedKeys=e.rule.value,t.checkable=!0}},we={name:"FcRow",render:(e,t)=>t.vNode.col({props:{span:24}},{default:()=>[t.vNode.row(t.prop,e)]})};var Ce=[ne,me,{...me,name:"rangePicker",maker:{},render:(e,t)=>t.$render.vNode.rangePicker(t.prop,e)},fe,ye,ge,ve,{...ve,name:"timeRangePicker",render:(e,t)=>t.$render.vNode.timeRangePicker(t.prop,e)},be,ce,de,pe,we,{name:"cusStoreSelect",modelField:"modelValue",toFormValue:(e,t)=>null==e||""===e?[]:Array.isArray(e)?e.map(e=>("object"!=typeof e||null===e||void 0===e.value&&e.label,e)):[e],toValue:(e,t)=>e,mergeProp(e){const t=e.prop.props;if(F(t,"options")||(t.options=e.prop.options||[]),F(t,"field")||(t.field=e.rule.field||""),void 0!==e.rule.value){const t=e.rule.value;null==t||""===t?e.rule.value=[]:Array.isArray(t)||(e.rule.value=[t])}},render(e,t){const l=t.$render.defaultRender(t,e);if(l&&l.props&&l.props.on){const e=l.props.on["update:modelValue"],a=()=>{V(()=>{V(()=>{try{const e=t.rule.field;if(e)return void t.$handle.api.validateField(e).catch(()=>{});const l=t.$handle.getFieldCtx(t.rule.field);l&&l.id&&t.$handle.$manager.validateField(l.id).catch(()=>{})}catch(e){console.warn("CusStoreSelect: 触发校验失败",e)}})})};l.props.on["update:modelValue"]=(...t)=>{e&&e(...t),a()};const r=l.props.on.change;l.props.on.change=r?(...e)=>{r(...e),a()}:a}return l}},{name:"cusUserSelect",modelField:"modelValue",toFormValue:(e,t)=>null==e||""===e?[]:Array.isArray(e)?e.map(e=>("object"!=typeof e||null===e||void 0===e.value&&e.label,e)):[e],toValue:(e,t)=>e,mergeProp(e){const t=e.prop.props;if(F(t,"options")||(t.options=e.prop.options||[]),F(t,"field")||(t.field=e.rule.field||""),F(t,"formCreateInject")||(t.formCreateInject=e.inject),void 0!==e.rule.value){const t=e.rule.value;null==t||""===t?e.rule.value=[]:Array.isArray(t)||(e.rule.value=[t])}},render(e,t){const l=t.$render.defaultRender(t,e);if(l&&l.props&&l.props.on){const e=l.props.on["update:modelValue"],a=()=>{V(()=>{V(()=>{try{const e=t.rule.field;if(e)return void t.$handle.api.validateField(e).catch(()=>{});const l=t.$handle.getFieldCtx(t.rule.field);l&&l.id&&t.$handle.$manager.validateField(l.id).catch(()=>{})}catch(e){console.warn("CusUserSelect: 触发校验失败",e)}})})};l.props.on["update:modelValue"]=(...t)=>{e&&e(...t),a()};const r=l.props.on.change;l.props.on.change=r?(...e)=>{r(...e),a()}:a}return l}},{name:"flex",mergeProp(e){var t;const l=e.rule.props||{},a=l.flexDirection||e.rule.flexDirection||"row",r=l.flexWrap||e.rule.flexWrap||"nowrap",i=l.justifyContent||e.rule.justifyContent||"flex-start",s=l.alignItems||e.rule.alignItems||"flex-start",o=l.alignContent||e.rule.alignContent||"flex-start",n="column"===a||"column-reverse"===a,c={"flex-start":"start","flex-end":"end",center:"center","space-between":"space-between","space-around":"space-around","space-evenly":"space-evenly"}[i]||"start",d={"flex-start":"start","flex-end":"end",center:"center",baseline:"baseline",stretch:"stretch"}[s]||"start";e.prop.props||(e.prop.props={}),e.prop.props.vertical=n,e.prop.props.justify=c,e.prop.props.align=d,void 0!==l.gap&&(e.prop.props.gap=l.gap);const p=e.rule.style||{},{display:u,flexDirection:h,flexWrap:m,justifyContent:f,alignItems:y,alignContent:g,...v}=p,b={display:u||"flex",width:"100%",flexWrap:r,...v};o&&"flex-start"!==o&&(b.alignContent=o);const w=e.prop.style||{},C=(null===(t=e.prop.props)||void 0===t?void 0:t.style)||{};e.prop.style={...w,...b},e.prop.props||(e.prop.props={}),e.prop.props.style={...C,...b},e.rule.children||(e.rule.children=[]),e.rule.children&&Array.isArray(e.rule.children)&&e.rule.children.forEach(e=>{e&&"object"==typeof e&&"DragTool"===!e.type&&"DragBox"===!e.type&&(void 0===e.col||null===e.col?e.col=!1:e.col&&"object"==typeof e.col&&!1!==e.col.show&&(e.col.show=!1))})},render(e,t){const l={...t.prop};"flex"===l.type&&(l.type="a-flex");const a=e||[];return t.vNode.col({props:{span:24}},{default:()=>[t.vNode.make("a-flex",l,a)]})}}];var ke={tooltip:"aTooltip",popover:"aPopover",button:"aButton",icon:"aIcon",slider:"aSlider",rate:"aRate",upload:"fcUpload",cascader:"aCascader",timePicker:"aTimePicker",timeRangePicker:"aTimeRangePicker",datePicker:"aDatePicker",rangePicker:"aRangePicker",switch:"aSwitch",select:"aSelect",checkbox:"aCheckboxGroup",radio:"aRadioGroup",input:"aInput",inputNumber:"aInputNumber",treeSelect:"aTreeSelect",search:"aInputSearch",inputPassword:"aInputPassword",textarea:"aTextarea",formItem:"aFormItem",form:"aForm",frame:"fcFrame",col:"aCol",row:"aRow",flex:"aFlex",tree:"aTree",autoComplete:"aAutoComplete",transfer:"aTransfer",group:"fcGroup",array:"fcGroup",subForm:"fcSubForm",object:"fcSubForm"};function xe(e,t){F(e,t)&&$.String(e[t])&&(e[t]={[t]:e[t],show:!0})}function Se(e){return!1===e}function Ve(e){const t={...e};return delete t.children,t}var $e={validate(){const e=this.form();return e?e.validate():new Promise(e=>e())},validateField(e){const t=this.form();return t?t.validateFields(e):new Promise(e=>e())},clearValidateState(e){const t=this.vm.refs[e.wrapRef];t&&t.clearValidate()},tidyOptions:e=>(["submitBtn","resetBtn","row","info","wrap","col","title"].forEach(t=>{!function(e,t){F(e,t)&&!$.Object(e[t])&&(e[t]={show:!!e[t]})}(e,t)}),e),tidyRule:({prop:e})=>(xe(e,"title"),xe(e,"info"),e),mergeProp(e){const t={info:{type:"popover",placement:"topLeft",icon:"QuestionCircleOutlined"},title:{},col:{span:24},wrap:{}};if(["info","wrap","col","title"].forEach(l=>{e.prop[l]=O([this.options[l]||{},e.prop[l]||{}],t[l])}),e.parent&&e.parent.rule){const t=e.parent.rule.type,l=e.parent.rule._menu;"flex"!==t&&"a-flex"!==t&&"flex"!==(null==l?void 0:l.name)||(e.prop.col=!1,e.rule&&(e.rule.col=!1))}if("upload"!==e.rule.type||e.prop.props.onPreview){if("upload"===e.rule.type&&e.prop.props.onPreview){const t=e.prop.props.onPreview,l=function(e){window.parent&&window.parent!==window&&window.parent.postMessage({type:"upload-preview",file:{url:e.url,name:e.name,uid:e.uid,size:e.size,type:e.type},timestamp:Date.now()},"*")};e.prop.props.onPreview=function(e){l(e),t&&"function"==typeof t&&t.apply(this,arguments)}}}else{const t=function(e){window.parent&&window.parent!==window&&window.parent.postMessage({type:"upload-preview",file:{url:e.url,name:e.name,uid:e.uid,size:e.size,type:e.type},timestamp:Date.now()},"*")};e.prop.props.onPreview=function(e){t(e)}}},getDefaultOptions:()=>({form:{hideRequiredMark:!1,layout:"horizontal",labelAlign:"right",labelCol:{span:3},wrapperCol:{span:21},validateOnRuleChange:!0},row:{gutter:0},submitBtn:{disabled:!1,loading:!1,type:"primary",innerText:"",show:!1,col:void 0,click:void 0},resetBtn:{disabled:!1,loading:!1,type:"default",innerText:"",show:!1,col:void 0,click:void 0}}),adapterValidate:(e,t)=>(e.validator=(e,l)=>new Promise((e,a)=>t(l,t=>{t?a(t):e()})),e),update(){const e=this.options.form;this.rule={props:{...e},on:{submit:e=>{e.preventDefault()}},style:e.style,type:"form"}},beforeRender(){const{key:e,ref:t,$handle:l}=this,a=this.options.form;j(this.rule,{key:e,ref:t,class:[a.className,a.class,"form-create",this.$handle.preview?"is-preview":""]}),j(this.rule.props,{model:l.formData})},render(e){return e.slotLen()&&!this.$handle.preview&&e.setSlot(void 0,()=>this.makeFormBtn()),this.$r(this.rule,Se(this.options.row.show)?e.getSlots():[this.makeRow(e)])},makeWrap(e,t){const l=e.prop,a=`${this.key}${e.key}`,r=l.col,i=this.isTitle(l)&&!1!==l.wrap.title,{layout:s,col:o}=this.rule.props,n=l.wrap.class;delete l.wrap.class,delete l.wrap.title;let c=!1;if(e.parent&&e.parent.rule){const t=e.parent.rule.type,l=e.parent.rule._menu;"flex"!==t&&"a-flex"!==t&&"flex"!==(null==l?void 0:l.name)||(c=!0)}const d=Se(l.wrap.show)?t:this.$r(O([l.wrap,{props:{...Ve(l.wrap||{}),hasFeedback:l.hasFeedback||!1,name:e.id,rules:e.injectValidate(),..."horizontal"!==s?{labelCol:{},wrapperCol:{}}:{}},class:this.$render.mergeClass(n||l.className,"fc-form-item"),key:a+"fi",ref:e.wrapRef,type:"formItem"}]),{default:()=>t,...i?{label:()=>this.makeInfo(l,a,e)}:{}});return"inline"===s||Se(o)||Se(r.show)||c?d:this.makeCol(l,a,[d])},isTitle(e){if(!1===this.options.form.title)return!1;const t=e.title;return!(!t.title&&!t.native||Se(t.show))},makeInfo(e,t,l){var a,r;const i={...e.title},s={...e.info};if(!1===this.options.form.title)return!1;if(!i.title&&!i.native||Se(i.show))return;const o="tooltip"===s.type;const n=this.getSlot("title"),c=[n?n({title:null===(a=l.refRule)||void 0===a||null===(a=a.__$title)||void 0===a?void 0:a.value,rule:l.rule,options:this.options}):null===(r=l.refRule)||void 0===r||null===(r=r.__$title)||void 0===r?void 0:r.value];if(!Se(s.show)&&(s.info||s.native)&&!Se(s.icon)){const e={type:s.type||"popover",props:Ve(s),key:t+"pop"};delete e.props.icon,delete e.props.show,delete e.props.info,delete e.props.align,delete e.props.native;const a=o?"title":"content";var d;if(s.info&&!F(e.props,a))e.props[a]=null===(d=l.refRule)||void 0===d||null===(d=d.__$info)||void 0===d?void 0:d.value;c["left"!==s.align?"unshift":"push"](this.$r(O([s,e]),{[i.slot||"default"]:()=>this.$r({type:!0===s.icon?"QuestionCircleOutlined":s.icon||"",props:{type:!0===s.icon?"QuestionCircleOutlined":s.icon},key:t+"i"})}))}const p=O([i,{props:Ve(i),key:t+"tit",class:"fc-form-title",type:i.type||"span"}]);return delete p.props.show,delete p.props.title,delete p.props.native,this.$r(p,c)},makeCol(e,t,l){const a=e.col;return this.$r({class:this.$render.mergeClass(a.class,"fc-form-col"),type:"col",props:a||{span:24},key:t+"col"},l)},makeRow(e){const t=this.options.row||{};return this.$r({type:"row",props:t,class:this.$render.mergeClass(t.class,"fc-form-row"),key:this.key+"row"},e)},makeFormBtn(){let e=[];if(Se(this.options.submitBtn.show)||e.push(this.makeSubmitBtn()),Se(this.options.resetBtn.show)||e.push(this.makeResetBtn()),!e.length)return;let{labelCol:t,wrapperCol:l,layout:a}=this.rule.props;"horizontal"!==a&&(t=l={});const r=this.$r({type:"formItem",class:"fc-form-item fc-form-footer",key:this.key+"fb",props:{labelCol:t,wrapperCol:l,label:" ",colon:!1}},e);return"inline"===a?r:this.$r({type:"col",class:"fc-form-col",props:{span:24},key:this.key+"fc"},[r])},makeResetBtn(){const e={...this.options.resetBtn},t=e.innerText||this.$handle.api.t("reset")||"重置";return delete e.innerText,delete e.click,delete e.col,delete e.show,this.$r({type:"button",props:e,class:"fc-reset-btn",style:{width:e.width,marginLeft:"10px"},on:{click:()=>{const e=this.$handle.api;this.options.resetBtn.click?this.options.resetBtn.click(e):e.resetFields()}},key:this.key+"b2"},[t])},makeSubmitBtn(){const e={...this.options.submitBtn},t=e.innerText||this.$handle.api.t("submit")||"提交";return delete e.innerText,delete e.click,delete e.col,delete e.show,this.$r({type:"button",props:e,class:"fc-submit-btn",style:{width:e.width},on:{click:()=>{const e=this.$handle.api;this.options.submitBtn.click?this.options.submitBtn.click(e):e.submit().catch(()=>{})}},key:this.key+"b1"},[t])}};const Fe={};var Ie;function Pe(e,t){return $.Boolean(e)?e={show:e}:$.Undef(e)||$.Object(e)||(e={show:t}),e}function Oe(e,t){return{formEl:()=>t.$manager.form(),wrapEl(e){const l=t.getFieldCtx(e);if(l)return t.vm.refs[l.wrapRef]},validate:l=>new Promise((a,r)=>{const i=e.children,s=[t.$manager.validate()];i.filter(e=>!e.isScope).forEach(e=>{s.push(e.validate())}),Promise.all(s).then(()=>{a(!0),l&&l(!0)}).catch(a=>{r(a),l&&l(a),t.vm.emit("validate-fail",a,{api:e}),t.emitEvent("validate-fail",a,{api:e})})}),validateField:(l,a)=>new Promise((r,i)=>{const s=t.getFieldCtx(l);if(!s)return;const o=t.subForm[s.id],n=[t.$manager.validateField(s.id)];T(o).filter(e=>!e.isScope).forEach(e=>{n.push(e.validate())}),Promise.all(n).then(()=>{r(null),a&&a(null)}).catch(r=>{i(r),a&&a(r),t.vm.emit("validate-field-fail",r,{field:l,api:e})})}),clearValidateState(l,a=!0){e.helper.tidyFields(l).forEach(e=>{a&&this.clearSubValidateState(e),t.getCtxs(e).forEach(e=>{t.$manager.clearValidateState(e)})})},clearSubValidateState(l){e.helper.tidyFields(l).forEach(e=>{t.getCtxs(e).forEach(e=>{const l=t.subForm[e.id];l&&(Array.isArray(l)?l.forEach(e=>{e.clearValidateState()}):l&&l.clearValidateState())})})},btn:{loading:(t=!0)=>{e.submitBtnProps({loading:!!t})},disabled:(t=!0)=>{e.submitBtnProps({disabled:!!t})},show:(t=!0)=>{e.submitBtnProps({show:!!t})}},resetBtn:{loading:(t=!0)=>{e.resetBtnProps({loading:!!t})},disabled:(t=!0)=>{e.resetBtnProps({disabled:!!t})},show:(t=!0)=>{e.resetBtnProps({show:!!t})}},submitBtnProps:(l={})=>{let a=Pe(t.options.submitBtn,!0);j(a,l),t.options.submitBtn=a,e.refreshOptions()},resetBtnProps:(l={})=>{let a=Pe(t.options.resetBtn,!1);j(a,l),t.options.resetBtn=a,e.refreshOptions()},submit:(l,a)=>new Promise((r,i)=>{(!1===t.options.validateOnSubmit?Promise.resolve():e.validate()).then(()=>{let a=e.formData();t.beforeSubmit(a).then(()=>{$.Function(l)&&A(()=>l(a,e)),$.Function(t.options.onSubmit)&&A(()=>t.options.onSubmit(a,e)),t.vm.emit("submit",a,e),r(a)}).catch(e=>{})}).catch((...t)=>{$.Function(a)&&A(()=>a(e,...t)),i(...t)})}),request:t=>("string"==typeof t&&(t={action:t}),e.fetch(t)),throttle(e,t){let l=0;return function(...a){const r=this,i=Date.now();i-l>=(t||0)&&(l=i,e.call(r,...a))}},debounce(e,t){let l=null;return function(...a){const r=this;null!==l&&clearTimeout(l),l=setTimeout(()=>{e.call(r,...a)},t||0)}}}}!function(e){["treeSelect","upload","frame","autoComplete","cascader","datePicker","frame","inputNumber","inputPassword","radio","rate","switch","rate","slider","timePicker"].reduce((e,t)=>(e[t]=P(t),e),e),e.auto=e.autoComplete,e.number=e.inputNumber,e.time=e.timePicker,e.password=e.inputPassword}(Fe),function(e){e.sliderRange=P("slider",{range:!0})}(Fe),function(e){const t={frameInputs:["input",0],frameFiles:["file",0],frameImages:["image",0],frameInputOne:["input",1],frameFileOne:["file",1],frameImageOne:["image",1]};Object.keys(t).reduce((e,l)=>(e[l]=P("frame",e=>e.props({type:t[l][0],maxLength:t[l][1]})),e),e),e.frameInput=e.frameInputs,e.frameFile=e.frameFiles,e.frameImage=e.frameImages}(Fe),function(e){const t={image:["image",0],file:["file",0],uploadFileOne:["file",1],uploadImageOne:["image",1]};Object.keys(t).reduce((e,l)=>(e[l]=P("upload",e=>e.props({uploadType:t[l][0],maxLength:t[l][1]})),e),e),e.uploadImage=e.image,e.uploadFile=e.file}(Fe),(Ie=Fe).selectMultiple=P("select",{mode:"multiple"}),Ie.selectTags=P("select",{mode:"tags"}),Ie.selectCombobox=P("select",{mode:"combobox"}),function(e){e.cusStoreSelect=P("cusStoreSelect"),e.storeSelect=e.cusStoreSelect}(Fe),function(e){e.cusUserSelect=P("cusUserSelect"),e.userSelect=e.cusUserSelect}(Fe),function(e){e.text=P("text")}(Fe),function(e){e.flex=P("flex")}(Fe);var je={autoComplete:"value",cascader:"value",inputNumber:"value",inputPassword:"value",textarea:"value",rate:"value",slider:"value",treeSelect:"value",switch:"checked",cusStoreSelect:"modelValue",cusUserSelect:"modelValue"};const Ae={name:"required",load(e,t,l){const a=function(e){return $.Boolean(e)?{required:e}:$.String(e)?{message:e}:$.Undef(e)?{required:!1}:$.Function(e)?{validator:e}:$.Object(e)?e:{}}(e.getValue());if(!1===a.required)e.clearProp(),l.clearValidateState([t.field]);else{var r;const i={required:!0,validator:(e,t)=>new Promise((e,l)=>{$.empty(t)?l(i.message):e()}),...a},s=null===(r=t.__fc__.refRule)||void 0===r||null===(r=r.__$title)||void 0===r?void 0:r.value;if(i.message){const e=i.message.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);e&&(i.message=l.t(e[1],{title:s}))}else i.message=l.t("required",{title:s})||s+("en"===l.getLocale()?" is required":"不能为空");e.getProp().validate=[i]}l.sync(t)},watch(...e){Ae.load(...e)}};function Te(e){e.componentAlias(ke),Object.keys(je).forEach(t=>{e.setModelField(t,je[t])}),oe.forEach(t=>{e.component(t.name,t)}),e.register(Ae),Ce.forEach(t=>{e.parser(t)}),Object.keys(Fe).forEach(t=>{e.maker[t]=Fe[t]}),"undefined"!=typeof window&&window.antd&&e.useApp((e,t)=>{t.use(window.antd)})}const Ee=I({ui:'"ant-design-vue"',version:'"3.2.61"',manager:$e,install:Te,extendApi:Oe,attrs:{normal:["col","wrap"],array:["className"],key:["title","info"]}});"undefined"!=typeof window&&(window.formCreate=Ee);const Be=Ee.maker;export{Ee as default,Be as maker};
|
|
7
|
+
import e from"@form-create/component-antdv-upload/src/index";import t from"@form-create/component-antdv-frame/src/index";import l from"@form-create/component-antdv-group/src/index";import a from"@form-create/component-subform/src/index";import{openBlock as r,createElementBlock as s,createElementVNode as i,defineComponent as o,Fragment as n,createCommentVNode as c,normalizeClass as d,normalizeStyle as p,toDisplayString as u,renderList as h,resolveComponent as m,createVNode as f,reactive as y,markRaw as g,createBlock as v,resolveDynamicComponent as b,withCtx as w,createTextVNode as C,renderSlot as k,toRef as x,watch as S,nextTick as V}from"vue";import $,{hasProperty as F}from"@form-create/utils/lib/type";import I,{creatorFactory as P}from"@longhongguo/form-create-core/src/index";import O from"@form-create/utils/lib/mergeprops";import j from"@form-create/utils/lib/extend";import{invoke as A}from"@longhongguo/form-create-core/src/frame/util";import T from"@form-create/utils/lib/toarray";var E={name:"QuestionCircleOutlined"};const B={class:"anticon"};E.render=function(e,t,l,a,o,n){return r(),s("span",B,[...t[0]||(t[0]=[i("svg",{height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[i("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448s448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372s372 166.6 372 372s-166.6 372-372 372z",fill:"currentColor"}),i("path",{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7c-21.2 8.1-39.2 22.3-52.1 40.9c-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5c.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1 0 80 0a40 40 0 1 0-80 0z",fill:"currentColor"})],-1)])])};var R=o({name:"CusSelect",props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},sourceItems:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},maxTagCount:{type:Number,default:void 0},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},style:{type:[String,Object],default:()=>({width:"100%"})},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},allowClear:{type:Boolean,default:!1},bordered:{type:Boolean,default:!0}},emits:["update:modelValue","update:sourceItems","change"],computed:{currentValue:{get(){return Array.isArray(this.modelValue)?this.modelValue.map(e=>"object"!=typeof e||null===e||void 0===e.value&&void 0===e[this.valueKey]?{[this.valueKey]:e,[this.labelKey]:this.getLabel(e)}:e):null===this.modelValue||void 0===this.modelValue||""===this.modelValue?[]:"object"==typeof this.modelValue?[this.modelValue]:[{value:this.modelValue,label:this.getLabel(this.modelValue)}]},set(e){let t=[];null!=e&&(t=Array.isArray(e)?e.map(e=>"object"!=typeof e||null===e||void 0===e.value&&void 0===e[this.valueKey]?{[this.valueKey]:e,[this.labelKey]:this.getLabel(e)}:e):"object"==typeof e&&null!==e?[e]:[{[this.valueKey]:e,[this.labelKey]:this.getLabel(e)}]),this.$emit("update:modelValue",t),this.$emit("change",t)}},hasValue(){const e=this.currentValue;return Array.isArray(e)&&e.length>0},displayValue(){return this.hasValue?this.currentValue[0]:null},displayLabel(){if(!this.displayValue)return"";const e=this.displayValue;return"object"==typeof e&&null!==e?e[this.labelKey]||e.label||String(e[this.valueKey]||e.value||""):this.getLabel(e)},allSelectedItems(){const e=this.currentValue;return Array.isArray(e)&&0!==e.length?e.map(e=>"object"==typeof e&&null!==e?{value:e[this.valueKey]||e.value,label:e[this.labelKey]||e.label||String(e[this.valueKey]||e.value||"")}:{value:e,label:this.getLabel(e)}):[]},displayItems(){const e=this.allSelectedItems;return void 0===this.maxTagCount||null===this.maxTagCount?e:e.slice(0,this.maxTagCount)},remainingCount(){if(void 0===this.maxTagCount||null===this.maxTagCount)return 0;const e=this.allSelectedItems.length;return Math.max(0,e-this.maxTagCount)},showClear(){return this.allowClear&&this.hasValue&&!this.disabled}},methods:{findOptionByValue(e){return this.options&&0!==this.options.length?this.options.find(t=>{const l="object"==typeof t?t[this.valueKey]:t;return l===e||String(l)===String(e)}):null},getLabel(e){const t=this.findOptionByValue(e);return t?"object"==typeof t?t[this.labelKey]:t:String(e)},removeItem(e,t){if(this.disabled)return;t.stopPropagation();const l=this.currentValue;if(Array.isArray(l)){const t=l.filter(t=>{if("object"==typeof t&&null!==t){return(t[this.valueKey]||t.value)!==e}return t!==e}),a=this.sourceItems.filter(e=>!t.some(t=>t[this.valueKey]===e[this.valueKey]));this.$emit("update:sourceItems",a),this.currentValue=t}},clearValue(e){if(this.disabled)return;e.stopPropagation(),this.currentValue=[];const t=this.sourceItems.filter(e=>!this.currentValue.some(t=>t[this.valueKey]===e[this.valueKey]));this.$emit("update:sourceItems",t)}}});const K=["tabindex"],_=["title"],L={key:1,class:"fc-cus-select-selection-placeholder"},M={key:3,class:"fc-cus-select-arrow"},D=["tabindex"],N={class:"fc-cus-select-selection-overflow"},U=["title"],z={class:"fc-cus-select-selection-item-content"},Y=["onClick"],q={key:0,class:"fc-cus-select-selection-overflow-item",style:{opacity:"1"}},Q={class:"fc-cus-select-selection-item"},J={class:"fc-cus-select-selection-item-content"},W={key:1,class:"fc-cus-select-selection-placeholder"},H={key:1,class:"fc-cus-select-arrow"};R.render=function(e,t,l,a,o,m){return r(),s(n,null,[c(" 单个展示模式 "),e.multiple?(r(),s(n,{key:1},[c(" 多个展示模式 "),i("div",{class:d(["fc-cus-select fc-cus-select-multiple",{"fc-cus-select-disabled":e.disabled}]),style:p(e.style),tabindex:e.disabled?-1:0},[i("div",{class:d(["fc-cus-select-selector",{"fc-cus-select-selector-borderless":!e.bordered}])},[i("div",N,[c(" 显示的 tags "),(r(!0),s(n,null,h(e.displayItems,(l,a)=>(r(),s("div",{key:a,class:"fc-cus-select-selection-overflow-item",style:{opacity:"1"}},[i("span",{class:"fc-cus-select-selection-item",title:l.label},[i("span",z,u(l.label),1),i("span",{class:"fc-cus-select-selection-item-remove",onClick:t=>e.removeItem(l.value,t)},[...t[4]||(t[4]=[i("span",{role:"img","aria-label":"close",class:"anticon anticon-close"},[i("svg",{focusable:"false","data-icon":"close",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","fill-rule":"evenodd",viewBox:"64 64 896 896"},[i("path",{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"})])],-1)])],8,Y)],8,U)]))),128)),c(" 折叠提示 "),e.remainingCount>0?(r(),s("div",q,[i("span",Q,[i("span",J," +"+u(e.remainingCount),1)])])):c("v-if",!0),c(" 空值占位符 "),e.hasValue?c("v-if",!0):(r(),s("span",W,u(e.placeholder||"请选择"),1))]),e.showClear?(r(),s("span",{key:0,class:"fc-cus-select-clear",onClick:t[1]||(t[1]=(...t)=>e.clearValue&&e.clearValue(...t))},[...t[5]||(t[5]=[i("span",{role:"img","aria-label":"close-circle",class:"anticon anticon-close-circle"},[i("svg",{focusable:"false","data-icon":"close-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","fill-rule":"evenodd",viewBox:"64 64 896 896"},[i("path",{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"})])],-1)])])):(r(),s("span",H,[...t[6]||(t[6]=[i("span",{role:"img","aria-label":"down",class:"anticon anticon-down"},[i("svg",{focusable:"false","data-icon":"down",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},[i("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"})])],-1)])]))],2)],14,D)],2112)):(r(),s("div",{key:0,class:d(["fc-cus-select fc-cus-select-single",{"fc-cus-select-disabled":e.disabled}]),style:p(e.style),tabindex:e.disabled?-1:0},[i("div",{class:d(["fc-cus-select-selector",{"fc-cus-select-selector-borderless":!e.bordered}])},[e.displayValue?(r(),s("span",{key:0,class:"fc-cus-select-selection-item",title:e.displayLabel},u(e.displayLabel),9,_)):(r(),s("span",L,u(e.placeholder||"请选择"),1)),e.showClear?(r(),s("span",{key:2,class:"fc-cus-select-clear",onClick:t[0]||(t[0]=(...t)=>e.clearValue&&e.clearValue(...t))},[...t[2]||(t[2]=[i("span",{role:"img","aria-label":"close-circle",class:"anticon anticon-close-circle"},[i("svg",{focusable:"false","data-icon":"close-circle",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","fill-rule":"evenodd",viewBox:"64 64 896 896"},[i("path",{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"})])],-1)])])):(r(),s("span",M,[...t[3]||(t[3]=[i("span",{role:"img","aria-label":"down",class:"anticon anticon-down"},[i("svg",{focusable:"false","data-icon":"down",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},[i("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"})])],-1)])]))],2)],14,K))],2112)};var G=o({name:"CusStoreSelect",components:{CusSelect:R},props:{formCreateInject:{type:Object,default:null},modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},maxTagCount:{type:Number,default:void 0},placeholder:{type:String,default:"请选择"},disabled:{type:Boolean,default:!1},style:{type:[String,Object],default:()=>({width:"100%"})},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},allowClear:{type:Boolean,default:!1},field:{type:String,default:""},bordered:{type:Boolean,default:!0},extraQuery:{type:Object,default:()=>({})},extraQueryFn:{type:Function,default:()=>{}}},emits:["update:modelValue","change"],data:()=>({messageId:0,pendingCallbacks:{},internalOptions:[],sourceItems:[]}),computed:{mergedOptions(){if(this.internalOptions.length>0){const e=new Map;return this.options.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),this.internalOptions.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),Array.from(e.values())}return this.options}},watch:{options:{immediate:!0,handler(e){0===this.internalOptions.length&&Array.isArray(e)&&e.length>0&&(this.internalOptions=[...e])}}},mounted(){window.addEventListener("message",this.handleMessage)},beforeUnmount(){window.removeEventListener("message",this.handleMessage)},methods:{serializeForPostMessage(e){if(null==e)return e;try{return JSON.parse(JSON.stringify(e))}catch(t){if(console.warn("CusStoreSelect: 数据序列化失败,尝试递归处理",t),Array.isArray(e))return 0===e.length?[]:e.map(e=>this.serializeForPostMessage(e));if("object"==typeof e){const t={};for(const l in e)if(Object.prototype.hasOwnProperty.call(e,l))try{t[l]=this.serializeForPostMessage(e[l])}catch(e){console.warn("CusStoreSelect: 跳过无法序列化的属性: "+l,e)}return t}return e}},handleClick(){if(this.disabled)return;const e=`store-select-${this.field||"default"}-${Date.now()}-${++this.messageId}`,t=Array.isArray(this.modelValue)?this.modelValue:[];let l=null;t.length>0&&(l=t);const a=null==l?null:this.serializeForPostMessage(l),r={...this.extraQuery};this.extraQueryFn&&Object.assign(r,this.extraQueryFn());const s={type:"OPEN_STORE_SELECT",field:this.field||"",multiple:this.multiple,currentValue:a,valueKey:this.valueKey,labelKey:this.labelKey,extraQuery:r,messageId:e};if(window.parent&&window.parent!==window)try{window.parent.postMessage(s,"*")}catch(e){console.error("CusStoreSelect: 发送消息失败",e)}else console.warn("CusStoreSelect: 当前不在 iframe 环境中,无法向父窗口发送消息");this.pendingCallbacks[e]=(e,t)=>{t&&Array.isArray(t)&&t.length>0&&this.mergeOptions(t),this.sourceItems=t,this.handleUpdate(e),this.handleChange(e)}},handleMessage(e){const t=e.data;if(t&&"STORE_SELECT_RESULT"===t.type){const{field:e,value:l,sourceItems:a,messageId:r}=t;if(e!==this.field)return;const s=this.pendingCallbacks[r];s&&(s(l,a),delete this.pendingCallbacks[r])}},mergeOptions(e){if(!Array.isArray(e)||0===e.length)return;const t=new Map;this.internalOptions.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),e.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),this.internalOptions=Array.from(t.values())},handleUpdate(e){this.$emit("update:modelValue",e),this.triggerValidate()},handleChange(e){this.$emit("change",e,this.sourceItems&&this.sourceItems.length>0?this.multiple?this.sourceItems:this.sourceItems[0]:this.multiple?[]:null)},triggerValidate(){this.$nextTick(()=>{this.$nextTick(()=>{try{if(this.formCreateInject&&this.formCreateInject.api&&this.field)return void this.formCreateInject.api.validateField(this.field).catch(()=>{});let e=this.$parent;for(;e;){if(e.$options&&"FormCreate"===e.$options.name&&e.fapi){this.field&&e.fapi.validateField&&e.fapi.validateField(this.field).catch(()=>{});break}e=e.$parent}}catch(e){console.warn("CusStoreSelect: 触发校验失败",e)}})})}}});G.render=function(e,t,l,a,i,o){const n=m("CusSelect");return r(),s("div",{onClick:t[1]||(t[1]=(...t)=>e.handleClick&&e.handleClick(...t))},[f(n,{"model-value":e.modelValue,options:e.mergedOptions,"source-items":e.sourceItems,"onUpdate:sourceItems":t[0]||(t[0]=t=>e.sourceItems=t),multiple:e.multiple,"max-tag-count":e.maxTagCount,placeholder:e.placeholder,disabled:e.disabled,style:p(e.style),valueKey:e.valueKey,labelKey:e.labelKey,allowClear:e.allowClear,bordered:e.bordered,"onUpdate:modelValue":e.handleUpdate,onChange:e.handleChange},null,8,["model-value","options","source-items","multiple","max-tag-count","placeholder","disabled","style","valueKey","labelKey","allowClear","bordered","onUpdate:modelValue","onChange"])])};var X=o({name:"CusUserSelect",components:{CusSelect:R},props:{formCreateInject:{type:Object,default:null},modelValue:{type:Array,default:()=>[]},options:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},maxTagCount:{type:Number,default:void 0},placeholder:{type:String,default:"请选择"},disabled:{type:Boolean,default:!1},style:{type:[String,Object],default:()=>({width:"100%"})},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},allowClear:{type:Boolean,default:!1},field:{type:String,default:""},bordered:{type:Boolean,default:!0},selectType:{type:[String,Number],default:null},extraQuery:{type:Object,default:()=>({})},extraQueryFn:{type:Function,default:()=>{}}},emits:["update:modelValue","change"],data:()=>({messageId:0,pendingCallbacks:{},internalOptions:[],sourceItems:[]}),computed:{mergedOptions(){if(this.internalOptions.length>0){const e=new Map;return this.options.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),this.internalOptions.forEach(t=>{const l="object"==typeof t?t[this.valueKey]:t;e.set(l,t)}),Array.from(e.values())}return this.options}},watch:{options:{immediate:!0,handler(e){0===this.internalOptions.length&&Array.isArray(e)&&e.length>0&&(this.internalOptions=[...e])}}},mounted(){window.addEventListener("message",this.handleMessage)},beforeUnmount(){window.removeEventListener("message",this.handleMessage)},methods:{serializeForPostMessage(e){if(null==e)return e;try{return JSON.parse(JSON.stringify(e))}catch(t){if(console.warn("CusUserSelect: 数据序列化失败,尝试递归处理",t),Array.isArray(e))return 0===e.length?[]:e.map(e=>this.serializeForPostMessage(e));if("object"==typeof e){const t={};for(const l in e)if(Object.prototype.hasOwnProperty.call(e,l))try{t[l]=this.serializeForPostMessage(e[l])}catch(e){console.warn("CusUserSelect: 跳过无法序列化的属性: "+l,e)}return t}return e}},handleClick(){if(this.disabled)return;const e=`user-select-${this.field||"default"}-${Date.now()}-${++this.messageId}`,t=Array.isArray(this.modelValue)?this.modelValue:[];let l=null;t.length>0&&(l=t);const a=null==l?null:this.serializeForPostMessage(l),r={...this.extraQuery};this.extraQueryFn&&Object.assign(r,this.extraQueryFn());const s={type:"OPEN_USER_SELECT",field:this.field||"",multiple:this.multiple,currentValue:a,valueKey:this.valueKey,labelKey:this.labelKey,selectType:this.selectType,extraQuery:r,messageId:e};if(window.parent&&window.parent!==window)try{window.parent.postMessage(s,"*")}catch(e){console.error("CusUserSelect: 发送消息失败",e)}else console.warn("CusUserSelect: 当前不在 iframe 环境中,无法向父窗口发送消息");this.pendingCallbacks[e]=(e,t)=>{t&&Array.isArray(t)&&t.length>0&&this.mergeOptions(t),this.sourceItems=t,this.handleUpdate(e),this.handleChange(e)}},handleMessage(e){const t=e.data;if(t&&"USER_SELECT_RESULT"===t.type){const{field:e,value:l,sourceItems:a,messageId:r}=t;if(e!==this.field)return;const s=this.pendingCallbacks[r];s&&(s(l,a),delete this.pendingCallbacks[r])}},mergeOptions(e){if(!Array.isArray(e)||0===e.length)return;const t=new Map;this.internalOptions.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),e.forEach(e=>{const l="object"==typeof e?e[this.valueKey]:e;t.set(l,e)}),this.internalOptions=Array.from(t.values())},handleUpdate(e){this.$emit("update:modelValue",e),this.triggerValidate()},handleChange(e){this.$emit("change",e,this.sourceItems&&this.sourceItems.length>0?this.multiple?this.sourceItems:this.sourceItems[0]:this.multiple?[]:null)},triggerValidate(){this.$nextTick(()=>{this.$nextTick(()=>{try{if(this.formCreateInject&&this.formCreateInject.api&&this.field)return void this.formCreateInject.api.validateField(this.field).catch(()=>{});let e=this.$parent;for(;e;){if(e.$options&&"FormCreate"===e.$options.name&&e.fapi){this.field&&e.fapi.validateField&&e.fapi.validateField(this.field).catch(()=>{});break}e=e.$parent}}catch(e){console.warn("CusUserSelect: 触发校验失败",e)}})})}}});X.render=function(e,t,l,a,i,o){const n=m("CusSelect");return r(),s("div",{onClick:t[1]||(t[1]=(...t)=>e.handleClick&&e.handleClick(...t))},[f(n,{"model-value":e.modelValue,options:e.mergedOptions,"source-items":e.sourceItems,"onUpdate:sourceItems":t[0]||(t[0]=t=>e.sourceItems=t),multiple:e.multiple,"max-tag-count":e.maxTagCount,placeholder:e.placeholder,disabled:e.disabled,style:p(e.style),valueKey:e.valueKey,labelKey:e.labelKey,allowClear:e.allowClear,bordered:e.bordered,"onUpdate:modelValue":e.handleUpdate,onChange:e.handleChange},null,8,["model-value","options","source-items","multiple","max-tag-count","placeholder","disabled","style","valueKey","labelKey","allowClear","bordered","onUpdate:modelValue","onChange"])])};var Z={name:"TableForm",emits:["change","add","delete","update:modelValue"],props:{formCreateInject:Object,modelValue:{type:Array,default:()=>[]},columns:{type:Array,required:!0,default:()=>[]},filterEmptyColumn:{type:Boolean,default:!0},deletable:{type:Boolean,default:!0},addable:{type:Boolean,default:!0},options:{type:Object,default:()=>y({submitBtn:!1,resetBtn:!1})},min:Number,max:Number,disabled:Boolean},watch:{modelValue:{handler(){this.updateTable()},deep:!0},"formCreateInject.preview":function(e){this.emptyRule.children[0].props.colspan=this.columns.length+(e?1:2)}},data(){return{rule:[],trs:[],fapi:{},Form:g(this.formCreateInject.form.$form()),copyTrs:"",oldValue:"",emptyRule:{type:"tr",_isEmpty:!0,native:!0,subRule:!0,children:[{type:"td",style:{textAlign:"center"},native:!0,subRule:!0,props:{colspan:this.columns.length+(this.formCreateInject.preview?1:2)},children:[this.formCreateInject.t("dataEmpty")||"暂无数据"]}]}}},methods:{formChange(){this.updateValue()},updateValue(){const e=this.trs.map((e,t)=>({...this.modelValue[t]||{},...this.fapi.getChildrenFormData(e)})).filter(e=>{if(!this.filterEmptyColumn)return!0;if(null==e)return!1;let t=!1;return Object.keys(e).forEach(l=>{t=t||void 0!==e[l]&&""!==e[l]&&null!==e[l]}),t}),t=JSON.stringify(e);t!==this.oldValue&&(this.oldValue=t,this.$emit("update:modelValue",e),this.$emit("change",e))},setRawData(e,t){const l=this.trs[e];this.fapi.setChildrenFormData(l,t,!0)},updateTable(){const e=JSON.stringify(this.modelValue);this.oldValue!==e&&(this.oldValue=e,this.trs=this.trs.splice(0,this.modelValue.length),this.modelValue.length?this.clearEmpty():this.addEmpty(),this.modelValue.forEach((e,t)=>{this.trs[t]||this.addRaw(),this.setRawData(t,e||{})}),this.rule[0].children[1].children=this.trs)},addEmpty(){this.trs.length&&this.trs.splice(0,this.trs.length),this.trs.push(this.emptyRule)},clearEmpty(){this.trs[0]&&this.trs[0]._isEmpty&&this.trs.splice(0,1)},delRaw(e){this.disabled||!this.deletable||this.min>0&&this.trs.length<=this.min||(this.trs.splice(e,1),this.updateValue(),this.trs.length?this.trs.forEach(e=>this.updateRaw(e)):this.addEmpty(),this.$emit("delete",e))},addRaw(e){if(e&&this.disabled)return;const t=this.formCreateInject.form.parseJson(this.copyTrs)[0];1===this.trs.length&&this.trs[0]._isEmpty&&this.trs.splice(0,1),this.trs.push(t),this.updateRaw(t),e&&(this.$emit("add",this.trs.length),this.updateValue())},updateRaw(e){const t=this.trs.indexOf(e);e.children[0].props.innerText=t+1,e.children[e.children.length-1].children[0].props.onClick=()=>{this.delRaw(t)}},loadRule(){const e=[{type:"th",native:!0,class:"_fc-tf-head-idx",props:{innerText:"#"}}];let t=[{type:"td",class:"_fc-tf-idx",native:!0,props:{innerText:"0"}}];this.columns.forEach(l=>{e.push({type:"th",native:!0,style:{...l.style||{},textAlign:l.align||"center"},class:l.required?"_fc-tf-head-required":"",props:{innerText:l.label||""}}),t.push({type:"td",native:!0,children:[...l.rule||[]]})}),e.push({type:"th",native:!0,class:"_fc-tf-edit fc-clock",props:{innerText:this.formCreateInject.t("operation")||"操作"}}),t.push({type:"td",native:!0,class:"_fc-tf-btn fc-clock",children:[{type:"i",native:!0,class:"fc-icon icon-delete",props:{}}]}),this.copyTrs=this.formCreateInject.form.toJson([{type:"tr",native:!0,subRule:!0,children:t}]),this.rule=[{type:"table",native:!0,class:"_fc-tf-table",props:{border:"1",cellspacing:"0",cellpadding:"0"},children:[{type:"thead",native:!0,children:[{type:"tr",native:!0,children:e}]},{type:"tbody",native:!0,children:this.trs}]}]}},created(){this.loadRule()},mounted(){this.updateTable()}};Z.render=function(e,t,l,a,o,n){const p=m("a-button");return r(),s("div",{class:d(["_fc-table-form",{"_fc-disabled":l.disabled}])},[(r(),v(b(o.Form),{option:l.options,rule:o.rule,extendOption:!0,disabled:l.disabled,onChange:n.formChange,api:o.fapi,"onUpdate:api":t[0]||(t[0]=e=>o.fapi=e),onEmitEvent:e.$emit},null,40,["option","rule","disabled","onChange","api","onEmitEvent"])),l.addable&&(!l.max||l.max>this.trs.length)?(r(),v(p,{key:0,type:"link",class:"fc-clock",onClick:t[1]||(t[1]=e=>n.addRaw(!0)),disabled:l.disabled},{default:w(()=>[t[2]||(t[2]=i("i",{class:"fc-icon icon-add-circle",style:{"font-weight":"700"}},null,-1)),C(" "+u(l.formCreateInject.t("add")||"添加"),1)]),_:1},8,["disabled"])):c("v-if",!0)],2)};var ee=o({name:"TableFormView",data:()=>({})});const te={class:"_fd-table-form"},le={key:0,class:"_fd-tf-wrap"},ae={key:1,class:"_fc-child-empty"};ee.render=function(e,t,l,a,i,o){return r(),s("div",te,[e.$slots.default?(r(),s("div",le,[k(e.$slots,"default")])):(r(),s("div",ae))])};var re=o({name:"TableFormColumnView",props:{label:String,align:String,width:[Number,String],color:String,required:Boolean},computed:{colStyle(){const e=this.width,t={width:$.Number(e)?e+"px":e&&"auto"!==e?e:"180px"};return this.color&&(t.color=this.color),t}},data:()=>({})});const se={key:0,class:"_fd-tf-required"},ie={class:"_fd-tf-con"};re.render=function(e,t,l,a,o,n){return r(),s("div",{class:"_fd-tf-col",style:p(e.colStyle)},[i("div",{class:"_fd-tf-title",style:p({textAlign:e.align||"center"})},[e.required?(r(),s("span",se,"*")):c("v-if",!0),C(u(e.label||""),1)],4),i("div",ie,[k(e.$slots,"default")])],4)};var oe=[e,t,l,a,E,R,G,X,Z,ee,re],ne={name:"checkbox",modelField:"value",mergeProp(e){const t=e.prop.props;F(t,"options")||(t.options=e.prop.options||[])}},ce={...ne,name:"radio"},de={...ne,name:"select",mergeProp(e){const t=e.prop.props;F(t,"options")||(t.options=e.prop.options||[]);const l=e.effectData("fetch");l&&!0===l.loading&&(t.disabled=!0,t.loading=!0)},render(e,t){const l=t.effectData("fetch");if(l&&!0===l.loading&&e.loading){const l={...e};return l.notFoundContent=e.loading,t.$render.defaultRender(t,l)}return t.$render.defaultRender(t,e)}},pe={name:"cascader",mergeProp(e){const t=e.prop.props;F(t,"options")||(t.options=e.prop.options||[]);const l=e.effectData("fetch");l&&!0===l.loading&&(t.disabled=!0,t.loading=!0)},render(e,t){const l=t.effectData("fetch");if(l&&!0===l.loading&&e.loading){const l={...e};return l.notFoundContent=e.loading,t.$render.defaultRender(t,l)}return t.$render.defaultRender(t,e)}};const ue={date:"YYYY-MM-DD",month:"YYYY-MM",week:"YYYY-wo",quarter:"YYYY-qQ",year:"YYYY"},he="datePicker";var me={name:he,maker:["date","month","week"].reduce((e,t)=>(e[t]=P(he,{type:t}),e),{dateRange:P(he,{type:"range"}),datetimeRange:P(he,e=>e.props({type:"range",showTime:!0}))}),modelField:"value",mergeProp(e){const t=e.prop.props,l=t.type||t.picker;t.valueFormat||(t.valueFormat=(ue[l]||ue.date)+(!t.showTime||l&&"date"!==l?"":" HH:mm:ss"))},render:(e,t)=>t.$render.vNode[(!0===t.prop.props.range?"range":"date")+"Picker"](t.prop,e)};var fe={name:"hidden",maker:{hidden:(e,t)=>P("hidden")("",e,t)},render:()=>[]},ye={name:"text",loadChildren:!1,mounted(e){var t,l;const a=e.rule.props||{},r=e.rule.bindField||a.bindField||(null===(t=e.prop.props)||void 0===t?void 0:t.bindField),s=e.rule.template||a.template||(null===(l=e.prop.props)||void 0===l?void 0:l.template);(s||r)&&setTimeout(()=>{if(e.$handle&&e.$handle.api)try{let t="";if(s){const l=e.$handle.api.formData();t=e.$handle.loadStrVar(s,t=>{const a=e.$handle.api.getValue(t);return void 0===a&&l&&void 0!==l[t]?l[t]:a},null)}else r&&(t=e.$handle.api.getValue(r)||"");null!=t&&(e.rule.children||(e.rule.children=[]),e.rule.children[0]=String(t),e.$handle.api.sync(e.rule),e.$handle.refresh())}catch(e){}},500)},renderChildren:(e,t)=>({default:()=>{var l;let a=null===(l=t.rule)||void 0===l?void 0:l.children;a||(a=e);return(Array.isArray(a)?a:[a]).filter(e=>null!=e).map(e=>$.String(e)?e:String(e)).join("")||""}}),mergeProp(e){var t,l,a;const r=e.rule.props||{},s=e.rule.bindField||r.bindField||(null===(t=e.prop.props)||void 0===t?void 0:t.bindField),i=e.rule.template||r.template||(null===(l=e.prop.props)||void 0===l?void 0:l.template);let o=e.rule.bindMode||r.bindMode||(null===(a=e.prop.props)||void 0===a?void 0:a.bindMode);if(o||(o=i?"template":s?"field":"static"),"field"===o&&s){const t={attr:s,to:"child",modify:!0,wait:300,watch:!0};e.rule.effect||(e.rule.effect={}),e.rule.effect.loadData||(e.rule.effect.loadData=[]);e.rule.effect.loadData.some(e=>e.attr===s&&"child"===e.to)||(e.rule.effect.loadData.push(t),e.$handle&&e.$handle.effect&&e.$handle.effect(e,"loaded"))}else if("template"===o&&i){const t={template:i,to:"child",modify:!0,wait:300,watch:!0};e.rule.effect||(e.rule.effect={}),e.rule.effect.loadData||(e.rule.effect.loadData=[]);if(!e.rule.effect.loadData.some(e=>e.template===i&&"child"===e.to)&&(e.rule.effect.loadData.push(t),e.$handle&&e.$handle.effect&&(e.$handle.effect(e,"loaded"),!e._textLoadDataWatched))){e._textLoadDataWatched=!0;const t=x(e.rule.effect,"loadData");e.watch.push(S(t,(t,l)=>{e.$handle.effect(e,"watch",{loadData:t})},{deep:!0}))}}null==e.rule.formCreateChild||e.rule.children||(e.rule.children=[e.rule.formCreateChild]),e.rule.children||(e.rule.children=[]),("field"===o&&s||"template"===o&&i)&&(!e.rule.children||Array.isArray(e.rule.children)&&0===e.rule.children.length)&&(e.rule.children="template"===o?[""]:[" "])},render(e,t){let l="";if(e&&"function"==typeof e.default)try{l=e.default()||""}catch(e){l=""}l=null==l||void 0===l?"":String(l);const a={...t.prop};a.props||(a.props={}),"text"===a.type&&(a.type="div"),delete a.props.innerHTML;return t.vNode.make("div",a,[l])}};var ge={name:"input",maker:["password","url","email","text","textarea","search"].reduce((e,t)=>(e[t]=P("input",{type:t}),e),{idate:P("input",{type:"date"})}),modelField:"value",render(e,t){let l=t.prop.props.type;return-1===["textarea","search","password"].indexOf(l)&&(l="input"),l={textarea:"aTextarea",search:"aInputSearch",password:"aInputPassword"}[l]||"aInput",t.$render.vNode.make(l,t.prop,e)}},ve={name:"timePicker",modelField:"value",mergeProp(e){const t=e.prop.props;t.valueFormat||(t.valueFormat="HH:mm:ss")},render:(e,t)=>t.$render.vNode["time"+(!0===t.prop.props.range?"Range":"")+"Picker"](t.prop,e)},be={name:"tree",modelField:"checkedKeys",mergeProp(e){const t=e.prop.props;t.fieldNames?t.fieldNames.key||(t.fieldNames.key="id"):t.fieldNames={key:"id"},t.checkedKeys=e.rule.value,t.checkable=!0}},we={name:"FcRow",render:(e,t)=>t.vNode.col({props:{span:24}},{default:()=>[t.vNode.row(t.prop,e)]})};var Ce=[ne,me,{...me,name:"rangePicker",maker:{},render:(e,t)=>t.$render.vNode.rangePicker(t.prop,e)},fe,ye,ge,ve,{...ve,name:"timeRangePicker",render:(e,t)=>t.$render.vNode.timeRangePicker(t.prop,e)},be,ce,de,pe,we,{name:"cusStoreSelect",modelField:"modelValue",toFormValue:(e,t)=>null==e||""===e?[]:Array.isArray(e)?e.map(e=>("object"!=typeof e||null===e||void 0===e.value&&e.label,e)):[e],toValue:(e,t)=>e,mergeProp(e){const t=e.prop.props;if(F(t,"options")||(t.options=e.prop.options||[]),F(t,"field")||(t.field=e.rule.field||""),void 0!==e.rule.value){const t=e.rule.value;null==t||""===t?e.rule.value=[]:Array.isArray(t)||(e.rule.value=[t])}},render(e,t){const l=t.$render.defaultRender(t,e);if(l&&l.props&&l.props.on){const e=l.props.on["update:modelValue"],a=()=>{V(()=>{V(()=>{try{const e=t.rule.field;if(e)return void t.$handle.api.validateField(e).catch(()=>{});const l=t.$handle.getFieldCtx(t.rule.field);l&&l.id&&t.$handle.$manager.validateField(l.id).catch(()=>{})}catch(e){console.warn("CusStoreSelect: 触发校验失败",e)}})})};l.props.on["update:modelValue"]=(...t)=>{e&&e(...t),a()};const r=l.props.on.change;l.props.on.change=r?(...e)=>{r(...e),a()}:a}return l}},{name:"cusUserSelect",modelField:"modelValue",toFormValue:(e,t)=>null==e||""===e?[]:Array.isArray(e)?e.map(e=>("object"!=typeof e||null===e||void 0===e.value&&e.label,e)):[e],toValue:(e,t)=>e,mergeProp(e){const t=e.prop.props;if(F(t,"options")||(t.options=e.prop.options||[]),F(t,"field")||(t.field=e.rule.field||""),F(t,"formCreateInject")||(t.formCreateInject=e.inject),void 0!==e.rule.value){const t=e.rule.value;null==t||""===t?e.rule.value=[]:Array.isArray(t)||(e.rule.value=[t])}},render(e,t){const l=t.$render.defaultRender(t,e);if(l&&l.props&&l.props.on){const e=l.props.on["update:modelValue"],a=()=>{V(()=>{V(()=>{try{const e=t.rule.field;if(e)return void t.$handle.api.validateField(e).catch(()=>{});const l=t.$handle.getFieldCtx(t.rule.field);l&&l.id&&t.$handle.$manager.validateField(l.id).catch(()=>{})}catch(e){console.warn("CusUserSelect: 触发校验失败",e)}})})};l.props.on["update:modelValue"]=(...t)=>{e&&e(...t),a()};const r=l.props.on.change;l.props.on.change=r?(...e)=>{r(...e),a()}:a}return l}},{name:"flex",mergeProp(e){var t;const l=e.rule.props||{},a=l.flexDirection||e.rule.flexDirection||"row",r=l.flexWrap||e.rule.flexWrap||"nowrap",s=l.justifyContent||e.rule.justifyContent||"flex-start",i=l.alignItems||e.rule.alignItems||"flex-start",o=l.alignContent||e.rule.alignContent||"flex-start",n="column"===a||"column-reverse"===a,c={"flex-start":"start","flex-end":"end",center:"center","space-between":"space-between","space-around":"space-around","space-evenly":"space-evenly"}[s]||"start",d={"flex-start":"start","flex-end":"end",center:"center",baseline:"baseline",stretch:"stretch"}[i]||"start";e.prop.props||(e.prop.props={}),e.prop.props.vertical=n,e.prop.props.justify=c,e.prop.props.align=d,void 0!==l.gap&&(e.prop.props.gap=l.gap);const p=e.rule.style||{},{display:u,flexDirection:h,flexWrap:m,justifyContent:f,alignItems:y,alignContent:g,...v}=p,b={display:u||"flex",flexWrap:r,...v};o&&"flex-start"!==o&&(b.alignContent=o);const w=e.prop.style||{},C=(null===(t=e.prop.props)||void 0===t?void 0:t.style)||{};e.prop.style={...w,...b},e.prop.props||(e.prop.props={}),e.prop.props.style={...C,...b},e.rule.children||(e.rule.children=[]),e.rule.children&&Array.isArray(e.rule.children)&&e.rule.children.forEach(e=>{e&&"object"==typeof e&&"DragTool"===!e.type&&"DragBox"===!e.type&&(void 0===e.col||null===e.col?e.col=!1:e.col&&"object"==typeof e.col&&!1!==e.col.show&&(e.col.show=!1))})},render(e,t){var l,a;const r={...t.prop};"flex"===r.type&&(r.type="a-flex");const s=null!==(l=null===(a=t.rule.props)||void 0===a?void 0:a.childFlex)&&void 0!==l?l:t.rule.childFlex;if(null!=s&&""!==s){r.props||(r.props={}),r.class||(r.class=[]),Array.isArray(r.class)||(r.class=[r.class]),r.class.push("_fc-flex-container");const e=String(s).trim();r.props.style||(r.props.style={}),r.props.style["--fc-child-flex"]=e,r.style||(r.style={}),r.style["--fc-child-flex"]=e}const i=e||[];return t.vNode.col({props:{span:24}},{default:()=>[t.vNode.make("a-flex",r,i)]})}}];var ke={tooltip:"aTooltip",popover:"aPopover",button:"aButton",icon:"aIcon",slider:"aSlider",rate:"aRate",upload:"fcUpload",cascader:"aCascader",timePicker:"aTimePicker",timeRangePicker:"aTimeRangePicker",datePicker:"aDatePicker",rangePicker:"aRangePicker",switch:"aSwitch",select:"aSelect",checkbox:"aCheckboxGroup",radio:"aRadioGroup",input:"aInput",inputNumber:"aInputNumber",treeSelect:"aTreeSelect",search:"aInputSearch",inputPassword:"aInputPassword",textarea:"aTextarea",formItem:"aFormItem",form:"aForm",frame:"fcFrame",col:"aCol",row:"aRow",flex:"aFlex",tree:"aTree",autoComplete:"aAutoComplete",transfer:"aTransfer",group:"fcGroup",array:"fcGroup",subForm:"fcSubForm",object:"fcSubForm"};function xe(e,t){F(e,t)&&$.String(e[t])&&(e[t]={[t]:e[t],show:!0})}function Se(e){return!1===e}function Ve(e){const t={...e};return delete t.children,t}var $e={validate(){const e=this.form();return e?e.validate():new Promise(e=>e())},validateField(e){const t=this.form();return t?t.validateFields(e):new Promise(e=>e())},clearValidateState(e){const t=this.vm.refs[e.wrapRef];t&&t.clearValidate()},tidyOptions:e=>(["submitBtn","resetBtn","row","info","wrap","col","title"].forEach(t=>{!function(e,t){F(e,t)&&!$.Object(e[t])&&(e[t]={show:!!e[t]})}(e,t)}),e),tidyRule:({prop:e})=>(xe(e,"title"),xe(e,"info"),e),mergeProp(e){const t={info:{type:"popover",placement:"topLeft",icon:"QuestionCircleOutlined"},title:{},col:{span:24},wrap:{}};if(["info","wrap","col","title"].forEach(l=>{e.prop[l]=O([this.options[l]||{},e.prop[l]||{}],t[l])}),e.parent&&e.parent.rule){const t=e.parent.rule.type,l=e.parent.rule._menu;"flex"!==t&&"a-flex"!==t&&"flex"!==(null==l?void 0:l.name)||(e.prop.col=!1,e.rule&&(e.rule.col=!1))}if("upload"!==e.rule.type||e.prop.props.onPreview){if("upload"===e.rule.type&&e.prop.props.onPreview){const t=e.prop.props.onPreview,l=function(e){window.parent&&window.parent!==window&&window.parent.postMessage({type:"upload-preview",file:{url:e.url,name:e.name,uid:e.uid,size:e.size,type:e.type},timestamp:Date.now()},"*")};e.prop.props.onPreview=function(e){l(e),t&&"function"==typeof t&&t.apply(this,arguments)}}}else{const t=function(e){window.parent&&window.parent!==window&&window.parent.postMessage({type:"upload-preview",file:{url:e.url,name:e.name,uid:e.uid,size:e.size,type:e.type},timestamp:Date.now()},"*")};e.prop.props.onPreview=function(e){t(e)}}},getDefaultOptions:()=>({form:{hideRequiredMark:!1,layout:"horizontal",labelAlign:"right",labelCol:{span:3},wrapperCol:{span:21},validateOnRuleChange:!0},row:{gutter:0},submitBtn:{disabled:!1,loading:!1,type:"primary",innerText:"",show:!1,col:void 0,click:void 0},resetBtn:{disabled:!1,loading:!1,type:"default",innerText:"",show:!1,col:void 0,click:void 0}}),adapterValidate:(e,t)=>(e.validator=(e,l)=>new Promise((e,a)=>t(l,t=>{t?a(t):e()})),e),update(){const e=this.options.form;this.rule={props:{...e},on:{submit:e=>{e.preventDefault()}},style:e.style,type:"form"}},beforeRender(){const{key:e,ref:t,$handle:l}=this,a=this.options.form;j(this.rule,{key:e,ref:t,class:[a.className,a.class,"form-create",this.$handle.preview?"is-preview":""]}),j(this.rule.props,{model:l.formData})},render(e){return e.slotLen()&&!this.$handle.preview&&e.setSlot(void 0,()=>this.makeFormBtn()),this.$r(this.rule,Se(this.options.row.show)?e.getSlots():[this.makeRow(e)])},makeWrap(e,t){const l=e.prop,a=`${this.key}${e.key}`,r=l.col,s=this.isTitle(l)&&!1!==l.wrap.title,{layout:i,col:o}=this.rule.props,n=l.wrap.class;delete l.wrap.class,delete l.wrap.title;let c=!1;if(e.parent&&e.parent.rule){const t=e.parent.rule.type,l=e.parent.rule._menu;"flex"!==t&&"a-flex"!==t&&"flex"!==(null==l?void 0:l.name)||(c=!0)}const d=Se(l.wrap.show)?t:this.$r(O([l.wrap,{props:{...Ve(l.wrap||{}),hasFeedback:l.hasFeedback||!1,name:e.id,rules:e.injectValidate(),..."horizontal"!==i?{labelCol:{},wrapperCol:{}}:{}},class:this.$render.mergeClass(n||l.className,"fc-form-item"),key:a+"fi",ref:e.wrapRef,type:"formItem"}]),{default:()=>t,...s?{label:()=>this.makeInfo(l,a,e)}:{}});return"inline"===i||Se(o)||Se(r.show)||c?d:this.makeCol(l,a,[d])},isTitle(e){if(!1===this.options.form.title)return!1;const t=e.title;return!(!t.title&&!t.native||Se(t.show))},makeInfo(e,t,l){var a,r;const s={...e.title},i={...e.info};if(!1===this.options.form.title)return!1;if(!s.title&&!s.native||Se(s.show))return;const o="tooltip"===i.type;const n=this.getSlot("title"),c=[n?n({title:null===(a=l.refRule)||void 0===a||null===(a=a.__$title)||void 0===a?void 0:a.value,rule:l.rule,options:this.options}):null===(r=l.refRule)||void 0===r||null===(r=r.__$title)||void 0===r?void 0:r.value];if(!Se(i.show)&&(i.info||i.native)&&!Se(i.icon)){const e={type:i.type||"popover",props:Ve(i),key:t+"pop"};delete e.props.icon,delete e.props.show,delete e.props.info,delete e.props.align,delete e.props.native;const a=o?"title":"content";var d;if(i.info&&!F(e.props,a))e.props[a]=null===(d=l.refRule)||void 0===d||null===(d=d.__$info)||void 0===d?void 0:d.value;c["left"!==i.align?"unshift":"push"](this.$r(O([i,e]),{[s.slot||"default"]:()=>this.$r({type:!0===i.icon?"QuestionCircleOutlined":i.icon||"",props:{type:!0===i.icon?"QuestionCircleOutlined":i.icon},key:t+"i"})}))}const p=O([s,{props:Ve(s),key:t+"tit",class:"fc-form-title",type:s.type||"span"}]);return delete p.props.show,delete p.props.title,delete p.props.native,this.$r(p,c)},makeCol(e,t,l){const a=e.col;return this.$r({class:this.$render.mergeClass(a.class,"fc-form-col"),type:"col",props:a||{span:24},key:t+"col"},l)},makeRow(e){const t=this.options.row||{};return this.$r({type:"row",props:t,class:this.$render.mergeClass(t.class,"fc-form-row"),key:this.key+"row"},e)},makeFormBtn(){let e=[];if(Se(this.options.submitBtn.show)||e.push(this.makeSubmitBtn()),Se(this.options.resetBtn.show)||e.push(this.makeResetBtn()),!e.length)return;let{labelCol:t,wrapperCol:l,layout:a}=this.rule.props;"horizontal"!==a&&(t=l={});const r=this.$r({type:"formItem",class:"fc-form-item fc-form-footer",key:this.key+"fb",props:{labelCol:t,wrapperCol:l,label:" ",colon:!1}},e);return"inline"===a?r:this.$r({type:"col",class:"fc-form-col",props:{span:24},key:this.key+"fc"},[r])},makeResetBtn(){const e={...this.options.resetBtn},t=e.innerText||this.$handle.api.t("reset")||"重置";return delete e.innerText,delete e.click,delete e.col,delete e.show,this.$r({type:"button",props:e,class:"fc-reset-btn",style:{width:e.width,marginLeft:"10px"},on:{click:()=>{const e=this.$handle.api;this.options.resetBtn.click?this.options.resetBtn.click(e):e.resetFields()}},key:this.key+"b2"},[t])},makeSubmitBtn(){const e={...this.options.submitBtn},t=e.innerText||this.$handle.api.t("submit")||"提交";return delete e.innerText,delete e.click,delete e.col,delete e.show,this.$r({type:"button",props:e,class:"fc-submit-btn",style:{width:e.width},on:{click:()=>{const e=this.$handle.api;this.options.submitBtn.click?this.options.submitBtn.click(e):e.submit().catch(()=>{})}},key:this.key+"b1"},[t])}};const Fe={};var Ie;function Pe(e,t){return $.Boolean(e)?e={show:e}:$.Undef(e)||$.Object(e)||(e={show:t}),e}function Oe(e,t){return{formEl:()=>t.$manager.form(),wrapEl(e){const l=t.getFieldCtx(e);if(l)return t.vm.refs[l.wrapRef]},validate:l=>new Promise((a,r)=>{const s=e.children,i=[t.$manager.validate()];s.filter(e=>!e.isScope).forEach(e=>{i.push(e.validate())}),Promise.all(i).then(()=>{a(!0),l&&l(!0)}).catch(a=>{r(a),l&&l(a),t.vm.emit("validate-fail",a,{api:e}),t.emitEvent("validate-fail",a,{api:e})})}),validateField:(l,a)=>new Promise((r,s)=>{const i=t.getFieldCtx(l);if(!i)return;const o=t.subForm[i.id],n=[t.$manager.validateField(i.id)];T(o).filter(e=>!e.isScope).forEach(e=>{n.push(e.validate())}),Promise.all(n).then(()=>{r(null),a&&a(null)}).catch(r=>{s(r),a&&a(r),t.vm.emit("validate-field-fail",r,{field:l,api:e})})}),clearValidateState(l,a=!0){e.helper.tidyFields(l).forEach(e=>{a&&this.clearSubValidateState(e),t.getCtxs(e).forEach(e=>{t.$manager.clearValidateState(e)})})},clearSubValidateState(l){e.helper.tidyFields(l).forEach(e=>{t.getCtxs(e).forEach(e=>{const l=t.subForm[e.id];l&&(Array.isArray(l)?l.forEach(e=>{e.clearValidateState()}):l&&l.clearValidateState())})})},btn:{loading:(t=!0)=>{e.submitBtnProps({loading:!!t})},disabled:(t=!0)=>{e.submitBtnProps({disabled:!!t})},show:(t=!0)=>{e.submitBtnProps({show:!!t})}},resetBtn:{loading:(t=!0)=>{e.resetBtnProps({loading:!!t})},disabled:(t=!0)=>{e.resetBtnProps({disabled:!!t})},show:(t=!0)=>{e.resetBtnProps({show:!!t})}},submitBtnProps:(l={})=>{let a=Pe(t.options.submitBtn,!0);j(a,l),t.options.submitBtn=a,e.refreshOptions()},resetBtnProps:(l={})=>{let a=Pe(t.options.resetBtn,!1);j(a,l),t.options.resetBtn=a,e.refreshOptions()},submit:(l,a)=>new Promise((r,s)=>{(!1===t.options.validateOnSubmit?Promise.resolve():e.validate()).then(()=>{let a=e.formData();t.beforeSubmit(a).then(()=>{$.Function(l)&&A(()=>l(a,e)),$.Function(t.options.onSubmit)&&A(()=>t.options.onSubmit(a,e)),t.vm.emit("submit",a,e),r(a)}).catch(e=>{})}).catch((...t)=>{$.Function(a)&&A(()=>a(e,...t)),s(...t)})}),request:t=>("string"==typeof t&&(t={action:t}),e.fetch(t)),throttle(e,t){let l=0;return function(...a){const r=this,s=Date.now();s-l>=(t||0)&&(l=s,e.call(r,...a))}},debounce(e,t){let l=null;return function(...a){const r=this;null!==l&&clearTimeout(l),l=setTimeout(()=>{e.call(r,...a)},t||0)}}}}!function(e){["treeSelect","upload","frame","autoComplete","cascader","datePicker","frame","inputNumber","inputPassword","radio","rate","switch","rate","slider","timePicker"].reduce((e,t)=>(e[t]=P(t),e),e),e.auto=e.autoComplete,e.number=e.inputNumber,e.time=e.timePicker,e.password=e.inputPassword}(Fe),function(e){e.sliderRange=P("slider",{range:!0})}(Fe),function(e){const t={frameInputs:["input",0],frameFiles:["file",0],frameImages:["image",0],frameInputOne:["input",1],frameFileOne:["file",1],frameImageOne:["image",1]};Object.keys(t).reduce((e,l)=>(e[l]=P("frame",e=>e.props({type:t[l][0],maxLength:t[l][1]})),e),e),e.frameInput=e.frameInputs,e.frameFile=e.frameFiles,e.frameImage=e.frameImages}(Fe),function(e){const t={image:["image",0],file:["file",0],uploadFileOne:["file",1],uploadImageOne:["image",1]};Object.keys(t).reduce((e,l)=>(e[l]=P("upload",e=>e.props({uploadType:t[l][0],maxLength:t[l][1]})),e),e),e.uploadImage=e.image,e.uploadFile=e.file}(Fe),(Ie=Fe).selectMultiple=P("select",{mode:"multiple"}),Ie.selectTags=P("select",{mode:"tags"}),Ie.selectCombobox=P("select",{mode:"combobox"}),function(e){e.cusStoreSelect=P("cusStoreSelect"),e.storeSelect=e.cusStoreSelect}(Fe),function(e){e.cusUserSelect=P("cusUserSelect"),e.userSelect=e.cusUserSelect}(Fe),function(e){e.text=P("text")}(Fe),function(e){e.flex=P("flex")}(Fe);var je={autoComplete:"value",cascader:"value",inputNumber:"value",inputPassword:"value",textarea:"value",rate:"value",slider:"value",treeSelect:"value",switch:"checked",cusStoreSelect:"modelValue",cusUserSelect:"modelValue"};const Ae={name:"required",load(e,t,l){const a=function(e){return $.Boolean(e)?{required:e}:$.String(e)?{message:e}:$.Undef(e)?{required:!1}:$.Function(e)?{validator:e}:$.Object(e)?e:{}}(e.getValue());if(!1===a.required)e.clearProp(),l.clearValidateState([t.field]);else{var r;const s={required:!0,validator:(e,t)=>new Promise((e,l)=>{$.empty(t)?l(s.message):e()}),...a},i=null===(r=t.__fc__.refRule)||void 0===r||null===(r=r.__$title)||void 0===r?void 0:r.value;if(s.message){const e=s.message.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);e&&(s.message=l.t(e[1],{title:i}))}else s.message=l.t("required",{title:i})||i+("en"===l.getLocale()?" is required":"不能为空");e.getProp().validate=[s]}l.sync(t)},watch(...e){Ae.load(...e)}};function Te(e){e.componentAlias(ke),Object.keys(je).forEach(t=>{e.setModelField(t,je[t])}),oe.forEach(t=>{e.component(t.name,t)}),e.register(Ae),Ce.forEach(t=>{e.parser(t)}),Object.keys(Fe).forEach(t=>{e.maker[t]=Fe[t]}),"undefined"!=typeof window&&window.antd&&e.useApp((e,t)=>{t.use(window.antd)})}const Ee=I({ui:'"ant-design-vue"',version:'"3.2.62"',manager:$e,install:Te,extendApi:Oe,attrs:{normal:["col","wrap"],array:["className"],key:["title","info"]}});"undefined"!=typeof window&&(window.formCreate=Ee);const Be=Ee.maker;export{Ee as default,Be as maker};
|
|
8
8
|
//# sourceMappingURL=form-create.esm.js.map
|