@hoenergy/hoenergy-template-pc 1.1.43 → 1.1.45
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/components/data/form/searchForm/src/BasicForm.vue.d.ts +6 -0
- package/dist/components/data/form/searchForm/src/props.d.ts +3 -0
- package/dist/components/data/form/searchForm/src/types/form.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1222 -1210
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/data/form/searchForm/preview.vue +3 -2
- package/src/components/data/form/searchForm/src/BasicForm.vue +7 -1
- package/src/components/data/form/searchForm/src/props.ts +3 -0
- package/src/components/data/form/searchForm/src/types/form.ts +1 -0
|
@@ -70,6 +70,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
70
70
|
type: NumberConstructor;
|
|
71
71
|
default: number;
|
|
72
72
|
};
|
|
73
|
+
otherSlotSpan: {
|
|
74
|
+
type: import('vue').PropType<number | string>;
|
|
75
|
+
};
|
|
73
76
|
}>, {
|
|
74
77
|
formElRef: Ref<any, any>;
|
|
75
78
|
formModel: any;
|
|
@@ -170,6 +173,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
170
173
|
type: NumberConstructor;
|
|
171
174
|
default: number;
|
|
172
175
|
};
|
|
176
|
+
otherSlotSpan: {
|
|
177
|
+
type: import('vue').PropType<number | string>;
|
|
178
|
+
};
|
|
173
179
|
}>> & Readonly<{
|
|
174
180
|
onReset?: ((...args: any[]) => any) | undefined;
|
|
175
181
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
package/dist/index.js
CHANGED
|
@@ -128,7 +128,7 @@ async function fetchTableData(params: Record<string, any>) {
|
|
|
128
128
|
totalPages: 10,
|
|
129
129
|
list: tableData,
|
|
130
130
|
}
|
|
131
|
-
}`,previewProps:{title:"示例表格",columns:[{title:"姓名",key:"name",width:100},{title:"年龄",key:"age"},{title:"地址",key:"address"}],dataSource:[{name:"张三",age:18,address:"北京"},{name:"李四",age:20,address:"上海"},{name:"王五",age:22,address:"广州"}],toolbarShow:!0},previewPath:"data/table/FormaxTable/preview.vue",package:"data",category:"table",key:"FormaxTable",conKey:"DCFormaxTable",image:"DCFormaxTable.png"};Me.__doc_meta__=yX;function BX(e){return e==="NInput"?"请输入":["NPicker","NSelect","NCheckbox","NRadio","NSwitch","NDatePicker","NTimePicker"].includes(e)?"请选择":""}const ZX=Object.prototype.toString;function Ke(e,o){return ZX.call(e)===`[object ${o}]`}function ht(e){return Ke(e,"Function")||Ke(e,"AsyncFunction")}const bX=e=>typeof e<"u",SX=e=>!bX(e),TX=e=>e!==null&&Ke(e,"Object");function FX(e){return Ke(e,"String")}function PX(e){return e&&Array.isArray(e)}function _X(e){return e===null}function _i(e){return SX(e)||_X(e)}function OX({emit:e,getProps:o,formModel:n,getSchema:l,formElRef:k,defaultFormModel:c,loadingSub:r,handleFormValues:d}){async function s(){var V;return(V=t.unref(k))==null?void 0:V.validate()}async function a(V){V&&V.preventDefault(),r.value=!0;const{submitFunc:f}=t.unref(o);if(f&&ht(f))return await f(),r.value=!1,!1;if(!t.unref(k))return!1;try{await s();const M=L();return r.value=!1,e("submit",M),M}catch(M){return e("submit",!1),r.value=!1,console.error(M),!1}}async function u(){var V;await((V=t.unref(k))==null?void 0:V.restoreValidation())}async function h(){const{resetFunc:V,submitOnReset:f}=t.unref(o);if(V&&ht(V)&&await V(),!t.unref(k))return;Object.keys(n).forEach(z=>{n[z]=t.unref(c)[z]||null}),await u();const M=d(t.toRaw(t.unref(n)));e("reset",M),f&&await a()}function L(){return t.unref(k)?d(t.toRaw(t.unref(n))):{}}async function j(V){const f=t.unref(l).map(w=>w.field).filter(Boolean);Object.keys(V).forEach(w=>{const M=V[w];f.includes(w)&&(n[w]=M)})}function C(V){r.value=V}return{handleSubmit:a,validate:s,resetFields:h,getFieldsValue:L,clearValidate:u,setFieldsValue:j,setLoading:C}}function AX({defaultFormModel:e,getSchema:o,formModel:n}){function l(c){if(!TX(c))return{};const r={};for(const d of Object.entries(c)){let[,s]=d;const[a]=d;!a||PX(s)&&s.length===0||ht(s)||_i(s)||(FX(s)&&(s=s.trim()),Rq(r,a,s))}return r}function k(){const c=t.unref(o),r={};c.forEach(d=>{const{defaultValue:s}=d;_i(s)||(r[d.field]=s,n[d.field]=s)}),e.value=r}return{handleFormValues:l,initDefault:k}}const ye=pi.createTypes({func:void 0,bool:void 0,string:void 0,number:void 0,object:void 0,integer:void 0});ye.extend([{name:"style",getter:!0,type:[String,Object],default:void 0},{name:"VNodeChild",getter:!0,type:void 0}]);const DX={labelWidth:{type:[Number,String],default:80},schemas:{type:[Array],default:()=>[]},layout:{type:String,default:"inline"},inline:{type:Boolean,default:!1},isFit:{type:Boolean,default:!1},size:{type:String,default:"medium"},labelPlacement:{type:String,default:"left"},isFull:{type:Boolean,default:!0},showActionButtonGroup:ye.bool.def(!0),showResetButton:ye.bool.def(!0),resetButtonOptions:Object,showSubmitButton:ye.bool.def(!0),submitButtonOptions:Object,showAdvancedButton:ye.bool.def(!0),submitButtonText:{type:String,default:"查询"},resetButtonText:{type:String,default:"重置"},gridProps:Object,giProps:Object,baseGridStyle:{type:Object},collapsed:{type:Boolean,default:!1},collapsedRows:{type:Number,default:1}},$X=Object.prototype.toString;function Lt(e,o){return $X.call(e)===`[object ${o}]`}function RX(e){return e!==null&&Lt(e,"Object")}function EX(e){return e&&Array.isArray(e)}function Oi(e={},o={}){let n;for(n in o)e[n]=RX(e[n])?Oi(e[n],o[n]):e[n]=o[n];return e}function IX(e){return Lt(e,"Function")||Lt(e,"AsyncFunction")}const UX=t.defineComponent({name:"BasicForm",components:{FormaxIcon:ee},props:{...DX},emits:["reset","submit","register"],setup(e,{emit:o,attrs:n}){const l=t.ref({}),k=t.reactive({}),c=t.ref({}),r=t.ref(null),d=t.ref(null),s=t.ref(!0),a=t.ref(!1),u=t.ref({paddingBottom:"0 !important"}),h=t.ref(!1),L=t.computed(()=>Object.assign({size:e.size,textColor:"#fff",type:"primary"},e.submitButtonOptions)),j=t.computed(()=>Object.assign({size:e.size,type:"default"},e.resetButtonOptions));function C(T){const R=T.componentProps??{},J=T.component;return{clearable:!0,placeholder:BX(t.unref(J)),...R}}const V=t.computed(()=>{const T={...e,...t.unref(c)},R={rules:{}};return(T.schemas||[]).forEach(W=>{W.rules&&EX(W.rules)&&(R.rules[W.field]=W.rules)}),{...T,...t.unref(R)}}),f=t.computed(()=>{const{layout:T}=t.unref(V);return T==="inline"}),w=t.computed(()=>{const{isFit:T}=t.unref(V);return T}),M=t.computed(()=>{const{gridProps:T}=t.unref(V);return{...T,collapsed:f.value?s.value:!1,responsive:"screen"}}),z=t.computed(()=>({...n,...e,...t.unref(V)})),Z=t.computed(()=>{const T=t.unref(r)||t.unref(V).schemas;for(const R of T){const{defaultValue:J}=R;J&&(R.defaultValue=J)}return T});function g(T){const{ifShow:R}=T;return R===!1?!1:IX(R)?!!R(k):!0}const x=t.computed(()=>t.unref(Z).filter(T=>g(T))),{handleFormValues:S,initDefault:A}=AX({defaultFormModel:l,getSchema:Z,formModel:k}),{handleSubmit:G,validate:E,resetFields:X,getFieldsValue:Q,clearValidate:Y,setFieldsValue:I}=OX({emit:o,getProps:V,formModel:k,getSchema:Z,formElRef:d,defaultFormModel:l,loadingSub:a,handleFormValues:S});function H(){s.value=!s.value;const T=new Event("heightChange");document.dispatchEvent(T)}async function F(T){c.value=Oi(t.unref(c)||{},T)}const $={getFieldsValue:Q,setFieldsValue:I,resetFields:X,validate:E,clearValidate:Y,setProps:F,submit:G};return t.watch(()=>Z.value,T=>{t.unref(h)||T!=null&&T.length&&(A(),h.value=!0)}),t.onMounted(()=>{A(),o("register",$)}),{formElRef:d,formModel:k,getGrid:M,getProps:V,getBindValue:z,getSchema:Z,getShowSchema:x,getSubmitBtnOptions:L,getResetBtnOptions:j,handleSubmit:G,resetFields:X,loadingSub:a,isInline:f,getComponentProps:C,unfoldToggle:H,isFit:w,contentStyle:u,$at:P.$at}}}),IQ="";function KX(e,o,n,l,k,c){const r=t.resolveComponent("FormaxIcon"),d=t.resolveComponent("n-tooltip"),s=t.resolveComponent("n-checkbox"),a=t.resolveComponent("n-space"),u=t.resolveComponent("n-checkbox-group"),h=t.resolveComponent("n-tree-select"),L=t.resolveComponent("n-cascader"),j=t.resolveComponent("n-radio"),C=t.resolveComponent("n-radio-group"),V=t.resolveComponent("n-form-item"),f=t.resolveComponent("n-gi"),w=t.resolveComponent("n-button"),M=t.resolveComponent("n-grid"),z=t.resolveComponent("n-form"),Z=t.resolveComponent("n-card");return t.openBlock(),t.createBlock(Z,{"content-style":e.contentStyle,bordered:!1,style:{"margin-bottom":"10px"}},{default:t.withCtx(()=>[t.createVNode(z,t.mergeProps({id:"basicForm"},e.getBindValue,{model:e.formModel,ref:"formElRef"}),{default:t.withCtx(()=>[t.createVNode(M,t.normalizeProps(t.guardReactiveProps(e.getGrid)),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.getShowSchema,g=>(t.openBlock(),t.createBlock(f,t.mergeProps({ref_for:!0},g.giProps,{key:g.field}),{default:t.withCtx(()=>[t.createVNode(V,{label:g.label,path:g.field,"label-width":g.labelWidth},t.createSlots({default:t.withCtx(()=>[g.slot?t.renderSlot(e.$slots,g.slot,{key:0,model:e.formModel,field:g.field,value:e.formModel[g.field]},void 0,!0):g.component==="NCheckbox"?(t.openBlock(),t.createBlock(u,{key:1,value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x},{default:t.withCtx(()=>[t.createVNode(a,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.componentProps.options,x=>(t.openBlock(),t.createBlock(s,{key:x.value,value:x.value,label:x.label},null,8,["value","label"]))),128))]),_:2},1024)]),_:2},1032,["value","onUpdate:value"])):g.component==="NTreeSelect"?(t.openBlock(),t.createBlock(h,t.mergeProps({key:2,ref_for:!0},e.getComponentProps(g)),null,16)):g.component==="NCascader"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[o[0]||(o[0]=t.createTextVNode(" ",-1)),t.createVNode(L,t.mergeProps({ref_for:!0},e.getComponentProps(g),{value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x}),null,16,["value","onUpdate:value"])],64)):g.component==="NRadioGroup"?(t.openBlock(),t.createBlock(C,{key:4,value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x},{default:t.withCtx(()=>[t.createVNode(a,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.componentProps.options,x=>(t.openBlock(),t.createBlock(j,{key:x.value,value:x.value},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x.label),1)]),_:2},1032,["value"]))),128))]),_:2},1024)]),_:2},1032,["value","onUpdate:value"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.component),t.mergeProps({key:5,ref_for:!0},e.getComponentProps(g),{value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x,class:{isFull:g.isFull!=!1&&e.getProps.isFull},maxlength:g.component==="NInput"&&g.maxlength,"show-count":g.component==="NInput"&&g.showCount}),null,16,["value","onUpdate:value","class","maxlength","show-count"])),g.suffix?t.renderSlot(e.$slots,g.suffix,{key:6,model:e.formModel,field:g.field,value:e.formModel[g.field]},void 0,!0):t.createCommentVNode("",!0)]),_:2},[g.labelMessage?{name:"label",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label)+" ",1),t.createVNode(d,{trigger:"hover",style:t.normalizeStyle(g.labelMessageStyle)},{trigger:t.withCtx(()=>[t.createVNode(r,{icon:"help",size:"18",class:"text-gray-400 cursor-pointer"})]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(g.labelMessage),1)]),_:2},1032,["style"])]),key:"0"}:void 0]),1032,["label","path","label-width"])]),_:2},1040))),128)),e.getProps.showActionButtonGroup?(t.openBlock(),t.createBlock(f,{key:0,span:e.isInline?"":24,suffix:e.isInline?!e.isFit:!1},{default:t.withCtx(({overflow:g})=>[t.createVNode(a,{align:"center",justify:e.isInline?e.isFit?"start":"end":"start",style:t.normalizeStyle({"margin-left":`${e.isInline?12:e.getProps.labelWidth}px`})},{default:t.withCtx(()=>[e.getProps.showSubmitButton?(t.openBlock(),t.createBlock(w,t.mergeProps({key:0,"icon-placement":"right"},e.getSubmitBtnOptions,{onClick:e.handleSubmit,loading:e.loadingSub}),{icon:t.withCtx(()=>[t.createVNode(r,{icon:"search",size:"16",class:"unfold-icon",color:"#fff"})]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(e.getProps.submitButtonText==="查询"?e.$at("查询"):e.getProps.submitButtonText),1)]),_:1},16,["onClick","loading"])):t.createCommentVNode("",!0),e.getProps.showResetButton?(t.openBlock(),t.createBlock(w,t.mergeProps({key:1,"icon-placement":"right"},e.getResetBtnOptions,{onClick:e.resetFields}),{icon:t.withCtx(()=>[t.createVNode(r,{icon:"refresh",size:"16"})]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.getProps.resetButtonText==="重置"?e.$at("重置"):e.getProps.resetButtonText),1)]),_:1},16,["onClick"])):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"otherSlot",{class:"w-full"},void 0,!0),e.isInline&&e.getProps.showAdvancedButton&&(g||!e.gridCollapsed)?(t.openBlock(),t.createBlock(w,{key:2,type:"primary",text:"","icon-placement":"right",onClick:e.unfoldToggle},{icon:t.withCtx(()=>[g?(t.openBlock(),t.createBlock(r,{key:0,icon:"down",size:"18",class:"unfold-icon"})):(t.openBlock(),t.createBlock(r,{key:1,icon:"up",size:"18",class:"unfold-icon"}))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(g?e.$at("展开"):e.$at("收起")),1)]),_:2},1032,["onClick"])):t.createCommentVNode("",!0)]),_:2},1032,["justify","style"])]),_:3},8,["span","suffix"])):t.createCommentVNode("",!0)]),_:3},16)]),_:3},16,["model"])]),_:3},8,["content-style"])}const GX=p(UX,[["render",KX],["__scopeId","data-v-42d8c9a8"]]);function qX(){return!0}function XX(e){const o={};return Object.keys(e).map(n=>{o[n]=t.unref(e[n])}),o}function YX(e){const o=t.ref(null),n=t.ref(!1);async function l(){const r=t.unref(o);return r||console.error("The form instance has not been obtained, please make sure that the form has been rendered when performing the form operation!"),await t.nextTick(),r}function k(r){t.onUnmounted(()=>{o.value=null,n.value=null}),!(t.unref(n)&&qX()&&r===t.unref(o))&&(o.value=r,n.value=!0,t.watch(()=>e,()=>{e&&r.setProps(XX(e))},{immediate:!0,deep:!0}))}return[k,{setProps:async r=>{await(await l()).setProps(r)},resetFields:async()=>{l().then(async r=>{await r.resetFields()})},clearValidate:async r=>{await(await l()).clearValidate(r)},getFieldsValue:()=>{var r;return(r=t.unref(o))==null?void 0:r.getFieldsValue()},setFieldsValue:async r=>{await(await l()).setFieldsValue(r)},submit:async()=>(await l()).submit(),validate:async r=>(await l()).validate(r),setLoading:r=>{n.value=r},setSchema:async r=>{(await l()).setSchema(r)}}]}const Be=GX,QX={name:"FormaxForm",label:"高级搜索表单",description:"基于 Naive UI 封装的高级搜索表单组件,支持动态配置、栅格布局、折叠展开等能力。",props:{labelWidth:{type:"number | string",default:80,description:"标签宽度"},schemas:{type:"array",default:[],description:"表单配置规则"},layout:{type:"string",default:"inline",description:"布局方式"},inline:{type:"boolean",default:!1,description:"是否展示为行内表单"},size:{type:"string",default:"medium",description:"大小"},labelPlacement:{type:"string",default:"left",description:"标签位置",options:["left","top"]},showActionButtonGroup:{type:"boolean",default:!0,description:"是否显示操作按钮(查询/重置)"},showResetButton:{type:"boolean",default:!0,description:"是否显示重置按钮"},showSubmitButton:{type:"boolean",default:!0,description:"是否显示查询按钮"},submitButtonText:{type:"string",default:"查询",description:"查询按钮文字"},resetButtonText:{type:"string",default:"重置",description:"重置按钮文字"},gridProps:{type:"object",default:{},description:"grid 配置"}},events:[{name:"submit",description:"表单提交(查询)时触发",payload:"values"},{name:"reset",description:"表单重置时触发",payload:"values"},{name:"register",description:"表单注册时触发,返回表单操作实例",payload:"FormActionType"}],slots:[{name:"otherSlot",description:"操作按钮组右侧的自定义插槽"}],usage:`<template>
|
|
131
|
+
}`,previewProps:{title:"示例表格",columns:[{title:"姓名",key:"name",width:100},{title:"年龄",key:"age"},{title:"地址",key:"address"}],dataSource:[{name:"张三",age:18,address:"北京"},{name:"李四",age:20,address:"上海"},{name:"王五",age:22,address:"广州"}],toolbarShow:!0},previewPath:"data/table/FormaxTable/preview.vue",package:"data",category:"table",key:"FormaxTable",conKey:"DCFormaxTable",image:"DCFormaxTable.png"};Me.__doc_meta__=yX;function BX(e){return e==="NInput"?"请输入":["NPicker","NSelect","NCheckbox","NRadio","NSwitch","NDatePicker","NTimePicker"].includes(e)?"请选择":""}const ZX=Object.prototype.toString;function Ke(e,o){return ZX.call(e)===`[object ${o}]`}function ht(e){return Ke(e,"Function")||Ke(e,"AsyncFunction")}const bX=e=>typeof e<"u",SX=e=>!bX(e),TX=e=>e!==null&&Ke(e,"Object");function FX(e){return Ke(e,"String")}function PX(e){return e&&Array.isArray(e)}function _X(e){return e===null}function _i(e){return SX(e)||_X(e)}function OX({emit:e,getProps:o,formModel:n,getSchema:l,formElRef:k,defaultFormModel:c,loadingSub:r,handleFormValues:d}){async function s(){var V;return(V=t.unref(k))==null?void 0:V.validate()}async function a(V){V&&V.preventDefault(),r.value=!0;const{submitFunc:f}=t.unref(o);if(f&&ht(f))return await f(),r.value=!1,!1;if(!t.unref(k))return!1;try{await s();const M=L();return r.value=!1,e("submit",M),M}catch(M){return e("submit",!1),r.value=!1,console.error(M),!1}}async function u(){var V;await((V=t.unref(k))==null?void 0:V.restoreValidation())}async function h(){const{resetFunc:V,submitOnReset:f}=t.unref(o);if(V&&ht(V)&&await V(),!t.unref(k))return;Object.keys(n).forEach(z=>{n[z]=t.unref(c)[z]||null}),await u();const M=d(t.toRaw(t.unref(n)));e("reset",M),f&&await a()}function L(){return t.unref(k)?d(t.toRaw(t.unref(n))):{}}async function j(V){const f=t.unref(l).map(w=>w.field).filter(Boolean);Object.keys(V).forEach(w=>{const M=V[w];f.includes(w)&&(n[w]=M)})}function C(V){r.value=V}return{handleSubmit:a,validate:s,resetFields:h,getFieldsValue:L,clearValidate:u,setFieldsValue:j,setLoading:C}}function AX({defaultFormModel:e,getSchema:o,formModel:n}){function l(c){if(!TX(c))return{};const r={};for(const d of Object.entries(c)){let[,s]=d;const[a]=d;!a||PX(s)&&s.length===0||ht(s)||_i(s)||(FX(s)&&(s=s.trim()),Rq(r,a,s))}return r}function k(){const c=t.unref(o),r={};c.forEach(d=>{const{defaultValue:s}=d;_i(s)||(r[d.field]=s,n[d.field]=s)}),e.value=r}return{handleFormValues:l,initDefault:k}}const ye=pi.createTypes({func:void 0,bool:void 0,string:void 0,number:void 0,object:void 0,integer:void 0});ye.extend([{name:"style",getter:!0,type:[String,Object],default:void 0},{name:"VNodeChild",getter:!0,type:void 0}]);const DX={labelWidth:{type:[Number,String],default:80},schemas:{type:[Array],default:()=>[]},layout:{type:String,default:"inline"},inline:{type:Boolean,default:!1},isFit:{type:Boolean,default:!1},size:{type:String,default:"medium"},labelPlacement:{type:String,default:"left"},isFull:{type:Boolean,default:!0},showActionButtonGroup:ye.bool.def(!0),showResetButton:ye.bool.def(!0),resetButtonOptions:Object,showSubmitButton:ye.bool.def(!0),submitButtonOptions:Object,showAdvancedButton:ye.bool.def(!0),submitButtonText:{type:String,default:"查询"},resetButtonText:{type:String,default:"重置"},gridProps:Object,giProps:Object,baseGridStyle:{type:Object},collapsed:{type:Boolean,default:!1},collapsedRows:{type:Number,default:1},otherSlotSpan:{type:[Number,String]}},$X=Object.prototype.toString;function Lt(e,o){return $X.call(e)===`[object ${o}]`}function RX(e){return e!==null&&Lt(e,"Object")}function EX(e){return e&&Array.isArray(e)}function Oi(e={},o={}){let n;for(n in o)e[n]=RX(e[n])?Oi(e[n],o[n]):e[n]=o[n];return e}function IX(e){return Lt(e,"Function")||Lt(e,"AsyncFunction")}const UX=t.defineComponent({name:"BasicForm",components:{FormaxIcon:ee},props:{...DX},emits:["reset","submit","register"],setup(e,{emit:o,attrs:n}){const l=t.ref({}),k=t.reactive({}),c=t.ref({}),r=t.ref(null),d=t.ref(null),s=t.ref(!0),a=t.ref(!1),u=t.ref({paddingBottom:"0 !important"}),h=t.ref(!1),L=t.computed(()=>Object.assign({size:e.size,textColor:"#fff",type:"primary"},e.submitButtonOptions)),j=t.computed(()=>Object.assign({size:e.size,type:"default"},e.resetButtonOptions));function C(T){const R=T.componentProps??{},J=T.component;return{clearable:!0,placeholder:BX(t.unref(J)),...R}}const V=t.computed(()=>{const T={...e,...t.unref(c)},R={rules:{}};return(T.schemas||[]).forEach(W=>{W.rules&&EX(W.rules)&&(R.rules[W.field]=W.rules)}),{...T,...t.unref(R)}}),f=t.computed(()=>{const{layout:T}=t.unref(V);return T==="inline"}),w=t.computed(()=>{const{isFit:T}=t.unref(V);return T}),M=t.computed(()=>{const{gridProps:T}=t.unref(V);return{...T,collapsed:f.value?s.value:!1,responsive:"screen"}}),z=t.computed(()=>({...n,...e,...t.unref(V)})),Z=t.computed(()=>{const T=t.unref(r)||t.unref(V).schemas;for(const R of T){const{defaultValue:J}=R;J&&(R.defaultValue=J)}return T});function g(T){const{ifShow:R}=T;return R===!1?!1:IX(R)?!!R(k):!0}const x=t.computed(()=>t.unref(Z).filter(T=>g(T))),{handleFormValues:S,initDefault:A}=AX({defaultFormModel:l,getSchema:Z,formModel:k}),{handleSubmit:G,validate:E,resetFields:X,getFieldsValue:Q,clearValidate:Y,setFieldsValue:I}=OX({emit:o,getProps:V,formModel:k,getSchema:Z,formElRef:d,defaultFormModel:l,loadingSub:a,handleFormValues:S});function H(){s.value=!s.value;const T=new Event("heightChange");document.dispatchEvent(T)}async function F(T){c.value=Oi(t.unref(c)||{},T)}const $={getFieldsValue:Q,setFieldsValue:I,resetFields:X,validate:E,clearValidate:Y,setProps:F,submit:G};return t.watch(()=>Z.value,T=>{t.unref(h)||T!=null&&T.length&&(A(),h.value=!0)}),t.onMounted(()=>{A(),o("register",$)}),{formElRef:d,formModel:k,getGrid:M,getProps:V,getBindValue:z,getSchema:Z,getShowSchema:x,getSubmitBtnOptions:L,getResetBtnOptions:j,handleSubmit:G,resetFields:X,loadingSub:a,isInline:f,getComponentProps:C,unfoldToggle:H,isFit:w,contentStyle:u,$at:P.$at}}}),IQ="";function KX(e,o,n,l,k,c){const r=t.resolveComponent("FormaxIcon"),d=t.resolveComponent("n-tooltip"),s=t.resolveComponent("n-checkbox"),a=t.resolveComponent("n-space"),u=t.resolveComponent("n-checkbox-group"),h=t.resolveComponent("n-tree-select"),L=t.resolveComponent("n-cascader"),j=t.resolveComponent("n-radio"),C=t.resolveComponent("n-radio-group"),V=t.resolveComponent("n-form-item"),f=t.resolveComponent("n-gi"),w=t.resolveComponent("n-button"),M=t.resolveComponent("n-grid"),z=t.resolveComponent("n-form"),Z=t.resolveComponent("n-card");return t.openBlock(),t.createBlock(Z,{"content-style":e.contentStyle,bordered:!1,style:{"margin-bottom":"10px"}},{default:t.withCtx(()=>[t.createVNode(z,t.mergeProps({id:"basicForm"},e.getBindValue,{model:e.formModel,ref:"formElRef"}),{default:t.withCtx(()=>[t.createVNode(M,t.normalizeProps(t.guardReactiveProps(e.getGrid)),{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.getShowSchema,g=>(t.openBlock(),t.createBlock(f,t.mergeProps({ref_for:!0},g.giProps,{key:g.field}),{default:t.withCtx(()=>[t.createVNode(V,{label:g.label,path:g.field,"label-width":g.labelWidth},t.createSlots({default:t.withCtx(()=>[g.slot?t.renderSlot(e.$slots,g.slot,{key:0,model:e.formModel,field:g.field,value:e.formModel[g.field]},void 0,!0):g.component==="NCheckbox"?(t.openBlock(),t.createBlock(u,{key:1,value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x},{default:t.withCtx(()=>[t.createVNode(a,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.componentProps.options,x=>(t.openBlock(),t.createBlock(s,{key:x.value,value:x.value,label:x.label},null,8,["value","label"]))),128))]),_:2},1024)]),_:2},1032,["value","onUpdate:value"])):g.component==="NTreeSelect"?(t.openBlock(),t.createBlock(h,t.mergeProps({key:2,ref_for:!0},e.getComponentProps(g)),null,16)):g.component==="NCascader"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[o[0]||(o[0]=t.createTextVNode(" ",-1)),t.createVNode(L,t.mergeProps({ref_for:!0},e.getComponentProps(g),{value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x}),null,16,["value","onUpdate:value"])],64)):g.component==="NRadioGroup"?(t.openBlock(),t.createBlock(C,{key:4,value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x},{default:t.withCtx(()=>[t.createVNode(a,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.componentProps.options,x=>(t.openBlock(),t.createBlock(j,{key:x.value,value:x.value},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x.label),1)]),_:2},1032,["value"]))),128))]),_:2},1024)]),_:2},1032,["value","onUpdate:value"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.component),t.mergeProps({key:5,ref_for:!0},e.getComponentProps(g),{value:e.formModel[g.field],"onUpdate:value":x=>e.formModel[g.field]=x,class:{isFull:g.isFull!=!1&&e.getProps.isFull},maxlength:g.component==="NInput"&&g.maxlength,"show-count":g.component==="NInput"&&g.showCount}),null,16,["value","onUpdate:value","class","maxlength","show-count"])),g.suffix?t.renderSlot(e.$slots,g.suffix,{key:6,model:e.formModel,field:g.field,value:e.formModel[g.field]},void 0,!0):t.createCommentVNode("",!0)]),_:2},[g.labelMessage?{name:"label",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label)+" ",1),t.createVNode(d,{trigger:"hover",style:t.normalizeStyle(g.labelMessageStyle)},{trigger:t.withCtx(()=>[t.createVNode(r,{icon:"help",size:"18",class:"text-gray-400 cursor-pointer"})]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(g.labelMessage),1)]),_:2},1032,["style"])]),key:"0"}:void 0]),1032,["label","path","label-width"])]),_:2},1040))),128)),e.getProps.showActionButtonGroup&&e.$slots.otherSlot&&e.getProps.otherSlotSpan!==void 0?(t.openBlock(),t.createBlock(f,{key:0,span:e.getProps.otherSlotSpan},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"otherSlot",{},void 0,!0)]),_:3},8,["span"])):t.createCommentVNode("",!0),e.getProps.showActionButtonGroup?(t.openBlock(),t.createBlock(f,{key:1,span:e.isInline?"":24,suffix:e.isInline?!e.isFit:!1},{default:t.withCtx(({overflow:g})=>[t.createVNode(a,{align:"center",justify:e.isInline?e.isFit?"start":"end":"start",style:t.normalizeStyle({"margin-left":`${e.isInline?12:e.getProps.labelWidth}px`})},{default:t.withCtx(()=>[e.getProps.showSubmitButton?(t.openBlock(),t.createBlock(w,t.mergeProps({key:0,"icon-placement":"right"},e.getSubmitBtnOptions,{onClick:e.handleSubmit,loading:e.loadingSub}),{icon:t.withCtx(()=>[t.createVNode(r,{icon:"search",size:"16",class:"unfold-icon",color:"#fff"})]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(e.getProps.submitButtonText==="查询"?e.$at("查询"):e.getProps.submitButtonText),1)]),_:1},16,["onClick","loading"])):t.createCommentVNode("",!0),e.getProps.showResetButton?(t.openBlock(),t.createBlock(w,t.mergeProps({key:1,"icon-placement":"right"},e.getResetBtnOptions,{onClick:e.resetFields}),{icon:t.withCtx(()=>[t.createVNode(r,{icon:"refresh",size:"16"})]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.getProps.resetButtonText==="重置"?e.$at("重置"):e.getProps.resetButtonText),1)]),_:1},16,["onClick"])):t.createCommentVNode("",!0),e.$slots.otherSlot&&e.getProps.otherSlotSpan===void 0?t.renderSlot(e.$slots,"otherSlot",{key:2},void 0,!0):t.createCommentVNode("",!0),e.isInline&&e.getProps.showAdvancedButton&&(g||!e.gridCollapsed)?(t.openBlock(),t.createBlock(w,{key:3,type:"primary",text:"","icon-placement":"right",onClick:e.unfoldToggle},{icon:t.withCtx(()=>[g?(t.openBlock(),t.createBlock(r,{key:0,icon:"down",size:"18",class:"unfold-icon"})):(t.openBlock(),t.createBlock(r,{key:1,icon:"up",size:"18",class:"unfold-icon"}))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(g?e.$at("展开"):e.$at("收起")),1)]),_:2},1032,["onClick"])):t.createCommentVNode("",!0)]),_:2},1032,["justify","style"])]),_:3},8,["span","suffix"])):t.createCommentVNode("",!0)]),_:3},16)]),_:3},16,["model"])]),_:3},8,["content-style"])}const GX=p(UX,[["render",KX],["__scopeId","data-v-8de7cca8"]]);function qX(){return!0}function XX(e){const o={};return Object.keys(e).map(n=>{o[n]=t.unref(e[n])}),o}function YX(e){const o=t.ref(null),n=t.ref(!1);async function l(){const r=t.unref(o);return r||console.error("The form instance has not been obtained, please make sure that the form has been rendered when performing the form operation!"),await t.nextTick(),r}function k(r){t.onUnmounted(()=>{o.value=null,n.value=null}),!(t.unref(n)&&qX()&&r===t.unref(o))&&(o.value=r,n.value=!0,t.watch(()=>e,()=>{e&&r.setProps(XX(e))},{immediate:!0,deep:!0}))}return[k,{setProps:async r=>{await(await l()).setProps(r)},resetFields:async()=>{l().then(async r=>{await r.resetFields()})},clearValidate:async r=>{await(await l()).clearValidate(r)},getFieldsValue:()=>{var r;return(r=t.unref(o))==null?void 0:r.getFieldsValue()},setFieldsValue:async r=>{await(await l()).setFieldsValue(r)},submit:async()=>(await l()).submit(),validate:async r=>(await l()).validate(r),setLoading:r=>{n.value=r},setSchema:async r=>{(await l()).setSchema(r)}}]}const Be=GX,QX={name:"FormaxForm",label:"高级搜索表单",description:"基于 Naive UI 封装的高级搜索表单组件,支持动态配置、栅格布局、折叠展开等能力。",props:{labelWidth:{type:"number | string",default:80,description:"标签宽度"},schemas:{type:"array",default:[],description:"表单配置规则"},layout:{type:"string",default:"inline",description:"布局方式"},inline:{type:"boolean",default:!1,description:"是否展示为行内表单"},size:{type:"string",default:"medium",description:"大小"},labelPlacement:{type:"string",default:"left",description:"标签位置",options:["left","top"]},showActionButtonGroup:{type:"boolean",default:!0,description:"是否显示操作按钮(查询/重置)"},showResetButton:{type:"boolean",default:!0,description:"是否显示重置按钮"},showSubmitButton:{type:"boolean",default:!0,description:"是否显示查询按钮"},submitButtonText:{type:"string",default:"查询",description:"查询按钮文字"},resetButtonText:{type:"string",default:"重置",description:"重置按钮文字"},gridProps:{type:"object",default:{},description:"grid 配置"}},events:[{name:"submit",description:"表单提交(查询)时触发",payload:"values"},{name:"reset",description:"表单重置时触发",payload:"values"},{name:"register",description:"表单注册时触发,返回表单操作实例",payload:"FormActionType"}],slots:[{name:"otherSlot",description:"操作按钮组右侧的自定义插槽"}],usage:`<template>
|
|
132
132
|
<div style="padding: 16px;">
|
|
133
133
|
<FormaxForm @register="register" @submit="handleSubmit" @reset="handleReset" :showAdvancedButton="true" />
|
|
134
134
|
</div>
|