vft 0.0.496 → 0.0.498
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/index.css +1 -1
- package/es/component.js +18 -16
- package/es/components/autocomplete/autocomplete.vue.d.ts +2 -2
- package/es/components/autocomplete/index.d.ts +6 -6
- package/es/components/button/index.d.ts +9 -9
- package/es/components/index.d.ts +1 -0
- package/es/components/index.js +257 -255
- package/es/components/modal/index.d.ts +6 -0
- package/es/components/modal/modal.vue.d.ts +3 -0
- package/es/components/modal/modal.vue2.js +12 -12
- package/es/components/popconfirm/index.d.ts +15 -15
- package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/es/components/select/defaults.d.ts +4 -0
- package/es/components/select/defaults.js +7 -3
- package/es/components/select/index.d.ts +13 -4
- package/es/components/select/select.vue.d.ts +13 -4
- package/es/components/select/select.vue.js +9 -8
- package/es/components/select/select.vue2.js +40 -29
- package/es/components/select/token.d.ts +4 -1
- package/es/components/select/useSelect.d.ts +4 -4
- package/es/components/super-form/index.d.ts +9 -0
- package/es/components/super-form/style/css.d.ts +1 -0
- package/es/components/super-form/style/css.js +2 -0
- package/es/components/super-form/style/index.d.ts +1 -0
- package/es/components/super-form/style/index.js +2 -0
- package/es/components/super-form/super-form-item.vue2.js +355 -255
- package/es/components/super-form/super-form.vue2.js +1 -1
- package/es/components/super-form/types.d.ts +26 -1
- package/es/components/super-form/use/helper.js +37 -36
- package/es/components/super-form/use/use-form-events.js +126 -125
- package/es/components/table/index.d.ts +9 -6
- package/es/components/table/style/css.js +2 -0
- package/es/components/table/style/index.js +2 -0
- package/es/components/table/table.vue.d.ts +2 -1
- package/es/components/table/table.vue2.js +99 -94
- package/es/components/table/types.d.ts +5 -3
- package/es/components/table/use/use-data-source.d.ts +6 -4
- package/es/components/table/use/use-data-source.js +150 -148
- package/es/components/table/use/use-table.js +8 -8
- package/es/components/tree/index.d.ts +71 -71
- package/es/components/tree/tree-node.vue.d.ts +1 -1
- package/es/components/tree/tree.type.d.ts +2 -0
- package/es/components/tree/tree.vue.d.ts +14 -14
- package/es/components/tree-select/cache-options.d.ts +20 -0
- package/es/components/tree-select/cache-options.js +30 -0
- package/es/components/tree-select/index.d.ts +8 -0
- package/es/components/tree-select/index.js +10 -0
- package/es/components/tree-select/instance.d.ts +5 -0
- package/es/components/tree-select/instance.js +1 -0
- package/es/components/tree-select/select.d.ts +10 -0
- package/es/components/tree-select/select.js +129 -0
- package/es/components/tree-select/style/css.d.ts +4 -0
- package/es/components/tree-select/style/css.js +11 -0
- package/es/components/tree-select/style/index.d.ts +4 -0
- package/es/components/tree-select/style/index.js +11 -0
- package/es/components/tree-select/tree-select-option.d.ts +42 -0
- package/es/components/tree-select/tree-select-option.js +35 -0
- package/es/components/tree-select/tree-select.vue.d.ts +4 -0
- package/es/components/tree-select/tree-select.vue.js +5 -0
- package/es/components/tree-select/tree-select.vue2.js +155 -0
- package/es/components/tree-select/tree.d.ts +11 -0
- package/es/components/tree-select/tree.js +201 -0
- package/es/components/tree-select/utils.d.ts +10 -0
- package/es/components/tree-select/utils.js +45 -0
- package/es/index.js +1 -0
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/script.css +1 -1
- package/es/utils/form-register.d.ts +1 -0
- package/es/utils/form-register.js +11 -10
- package/lib/component.cjs +1 -1
- package/lib/components/autocomplete/autocomplete.vue.d.ts +2 -2
- package/lib/components/autocomplete/index.d.ts +6 -6
- package/lib/components/button/index.d.ts +9 -9
- package/lib/components/index.cjs +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/modal/index.d.ts +6 -0
- package/lib/components/modal/modal.vue.d.ts +3 -0
- package/lib/components/modal/modal.vue2.cjs +1 -1
- package/lib/components/popconfirm/index.d.ts +15 -15
- package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/lib/components/select/defaults.cjs +1 -1
- package/lib/components/select/defaults.d.ts +4 -0
- package/lib/components/select/index.d.ts +13 -4
- package/lib/components/select/select.vue.cjs +1 -1
- package/lib/components/select/select.vue.d.ts +13 -4
- package/lib/components/select/select.vue2.cjs +1 -1
- package/lib/components/select/token.d.ts +4 -1
- package/lib/components/select/useSelect.d.ts +4 -4
- package/lib/components/super-form/index.d.ts +9 -0
- package/lib/components/super-form/style/css.cjs +1 -1
- package/lib/components/super-form/style/css.d.ts +1 -0
- package/lib/components/super-form/style/index.cjs +1 -1
- package/lib/components/super-form/style/index.d.ts +1 -0
- package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
- package/lib/components/super-form/super-form.vue2.cjs +1 -1
- package/lib/components/super-form/types.d.ts +26 -1
- package/lib/components/super-form/use/helper.cjs +1 -1
- package/lib/components/super-form/use/use-form-events.cjs +1 -1
- package/lib/components/table/index.d.ts +9 -6
- package/lib/components/table/style/css.cjs +1 -1
- package/lib/components/table/style/index.cjs +1 -1
- package/lib/components/table/table.vue.d.ts +2 -1
- package/lib/components/table/table.vue2.cjs +1 -1
- package/lib/components/table/types.d.ts +5 -3
- package/lib/components/table/use/use-data-source.cjs +1 -1
- package/lib/components/table/use/use-data-source.d.ts +6 -4
- package/lib/components/table/use/use-table.cjs +1 -1
- package/lib/components/tree/index.d.ts +71 -71
- package/lib/components/tree/tree-node.vue.d.ts +1 -1
- package/lib/components/tree/tree.type.d.ts +2 -0
- package/lib/components/tree/tree.vue.d.ts +14 -14
- package/lib/components/tree-select/cache-options.cjs +1 -0
- package/lib/components/tree-select/cache-options.d.ts +20 -0
- package/lib/components/tree-select/index.cjs +1 -0
- package/lib/components/tree-select/index.d.ts +8 -0
- package/lib/components/tree-select/instance.cjs +1 -0
- package/lib/components/tree-select/instance.d.ts +5 -0
- package/lib/components/tree-select/select.cjs +1 -0
- package/lib/components/tree-select/select.d.ts +10 -0
- package/lib/components/tree-select/style/css.cjs +1 -0
- package/lib/components/tree-select/style/css.d.ts +4 -0
- package/lib/components/tree-select/style/index.cjs +1 -0
- package/lib/components/tree-select/style/index.d.ts +4 -0
- package/lib/components/tree-select/tree-select-option.cjs +1 -0
- package/lib/components/tree-select/tree-select-option.d.ts +42 -0
- package/lib/components/tree-select/tree-select.vue.cjs +1 -0
- package/lib/components/tree-select/tree-select.vue.d.ts +4 -0
- package/lib/components/tree-select/tree-select.vue2.cjs +1 -0
- package/lib/components/tree-select/tree.cjs +1 -0
- package/lib/components/tree-select/tree.d.ts +11 -0
- package/lib/components/tree-select/utils.cjs +1 -0
- package/lib/components/tree-select/utils.d.ts +10 -0
- package/lib/index.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/lib/script.css +1 -1
- package/lib/utils/form-register.cjs +1 -1
- package/lib/utils/form-register.d.ts +1 -0
- package/package.json +5 -5
- package/theme-style/index.css +1 -1
- package/theme-style/src/cascader.scss +1 -12
- package/theme-style/src/tree-select.scss +10 -1
- package/theme-style/vft-cascader.css +1 -1
- package/theme-style/vft-tree-select.css +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../alert/index.cjs");require("../avatar/index.cjs");require("../avatar-stack/index.cjs");require("../backtop/index.cjs");require("../button/index.cjs");require("../card/index.cjs");require("../cascader/index.cjs");require("../cascader-panel/index.cjs");require("../check-tag/index.cjs");require("../checkbox/index.cjs");require("../clamp/index.cjs");require("../client-only/index.cjs");require("../clamp-toggle/index.cjs");require("../clamp-tooltip/index.cjs");const H=require("../col/index.cjs");require("../collapse-transition/index.cjs");require("../color-picker/index.cjs");require("../config-provider/index.cjs");require("../container/index.cjs");const l=require("@vft/utils");require("../context-menu/context-menu.vue2.cjs");const J=require("../icon/index.cjs");require("../date-picker/index.cjs");require("../date-time-select/index.cjs");require("../descriptions/index.cjs");require("../dialog/index.cjs");const _=require("../divider/index.cjs");require("../drawer/index.cjs");require("../dropdown/index.cjs");require("../empty/index.cjs");require("../footer-layout/index.cjs");const ee=require("../form/index.cjs");require("../full-screen/index.cjs");require("../header-layout/index.cjs");require("../horizontal-menu/index.cjs");require("../icon-text/index.cjs");require("../iframe-layout/index.cjs");require("../image/index.cjs");require("../image-viewer/index.cjs");require("../input/index.cjs");require("../input-number/index.cjs");require("../link/index.cjs");require("../list-cell/index.cjs");require("../logo/index.cjs");require("../menu/index.cjs");require("../multiple-tabs/index.cjs");require("../notification/index.cjs");require("../overlay/index.cjs");require("../page-wrapper/index.cjs");require("../pagination/index.cjs");require("../popconfirm/index.cjs");require("../popover/index.cjs");require("../popper/index.cjs");require("../qrcode/index.cjs");require("../radio/index.cjs");require("../result/index.cjs");require("../router-view-content/index.cjs");require("../row/index.cjs");require("../scrollbar/index.cjs");require("../search/index.cjs");require("../select/index.cjs");require("../side-menu/index.cjs");require("../skeleton/index.cjs");require("../slider/index.cjs");require("../space/index.cjs");require("../steps/index.cjs");require("../switch/index.cjs");require("../table/index.cjs");require("../tabs/index.cjs");require("../tag/index.cjs");require("../time-picker/index.cjs");const re=require("../tooltip/index.cjs");require("../tree/index.cjs");require("../verify-code/index.cjs");require("../virtual-list/components/fixed-size-list.cjs");require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("../autocomplete/index.cjs");require("../breadcrumb/index.cjs");require("../carousel/index.cjs");require("../collapse/index.cjs");require("../countdown/index.cjs");require("../input-tag/index.cjs");require("../modal/index.cjs");require("../progress/index.cjs");require("../segmented/index.cjs");require("../statistic/index.cjs");require("../timeline/index.cjs");require("../transfer/index.cjs");require("../upload/index.cjs");require("../watermark/index.cjs");require("../md-code-demo/index.cjs");require("../md-code-tabs/index.cjs");require("../md-comment/index.cjs");require("../md-container/index.cjs");require("../md-tabs/index.cjs");require("../md-vue-playground/index.cjs");require("../infinite-scroll/index.cjs");const r=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const oe=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../message/index.cjs");require("../progress-i/index.cjs");require("./index.cjs");const L=require("./component-map.cjs"),W=require("./use/helper.cjs");function $(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const te=e.defineComponent({inheritAttrs:!1}),ne=e.defineComponent({...te,__name:"super-form-item",props:{schema:{},formProps:{},allDefaultValues:{},formModel:{},setFormModel:{},updateSchema:{},formActionType:{}},setup(t){const v=oe.useNamespace("super-form"),C=e.computed(()=>{const{mergeDynamicData:n}=t.formProps;return{field:t.schema.field,model:t.formModel,values:{...n,...t.allDefaultValues,...t.formModel},schema:t.schema,elRef:I}}),Y=new Set([r.FormCompEnum.Select,r.FormCompEnum.Radio,r.FormCompEnum.Checkbox,r.FormCompEnum.RadioButton,r.FormCompEnum.CheckboxButton,r.FormCompEnum.Cascader,r.FormCompEnum.AutoComplete]),A=()=>t.schema.type&&Y.has(t.schema.type)?{options:[]}:{},w=e.ref(A());async function K(){const{componentProps:n={}}=t.schema;if(l.isFunction(n)){const o=A();w.value=o;try{const u=n({schema:t.schema,formModel:t.formModel,formActionType:t.formActionType}),c=u instanceof Promise?await u:u;w.value={...o,...c??{}}}catch(u){console.error("componentProps 执行错误:",u),w.value=A()}}else w.value=n}e.watch(()=>t.schema.componentProps,(n,o)=>(n||o)&&K(),{immediate:!0});const S=e.computed(()=>{let n={...w.value};const o=new Map([[r.FormCompEnum.Divider,{type:"horizontal"}],[r.FormCompEnum.Textarea,{type:"textarea"}],[r.FormCompEnum.Password,{type:"password","show-password":!0}],[r.FormCompEnum.InputNumber,{type:"number"}],[r.FormCompEnum.CheckboxButton,{useButton:!0}],[r.FormCompEnum.RadioButton,{useButton:!0}],[r.FormCompEnum.YearPicker,{type:r.FormCompEnum.YearPicker}],[r.FormCompEnum.MonthPicker,{type:r.FormCompEnum.MonthPicker}],[r.FormCompEnum.DatePicker,{type:r.FormCompEnum.DatePicker}],[r.FormCompEnum.DatesPicker,{type:r.FormCompEnum.DatesPicker}],[r.FormCompEnum.DateTimePicker,{type:r.FormCompEnum.DateTimePicker}],[r.FormCompEnum.WeekPicker,{type:r.FormCompEnum.WeekPicker}],[r.FormCompEnum.TimeRangePicker,{type:r.FormCompEnum.TimePicker,"is-range":!0,"start-placeholder":"开始时间","end-placeholder":"结束时间"}],[r.FormCompEnum.DateTimeRangePicker,{type:r.FormCompEnum.DateTimeRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.DateRangePicker,{type:r.FormCompEnum.DateRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.MonthRangePicker,{type:r.FormCompEnum.MonthRangePicker,"start-placeholder":"开始月份","end-placeholder":"结束月份"}]]);t.schema.type&&o.has(t.schema.type)&&(n=Object.assign(o.get(t.schema.type)||{},n));const u=n;return t.formProps.inputMaxLength&&t.schema.type===r.FormCompEnum.Input&&!u?.maxlength&&(u.maxlength=t.formProps.inputMaxLength),u}),Q=e.computed(()=>{const{disabled:n}=t.formProps,{dynamicDisabled:o}=t.schema,{disabled:u=!1}=e.unref(S);let c=!!n||u;return l.isBoolean(o)&&(c=o),l.isFunction(o)&&(c=o(e.unref(C))),c});function B(){const{show:n,ifShow:o}=t.schema;let u=!0,c=!0;return l.isBoolean(n)&&(u=n),l.isBoolean(o)&&(c=o),l.isFunction(n)&&(u=n(e.unref(C))),l.isFunction(o)&&(c=o(e.unref(C))),{isShow:u,isIfShow:c}}function G(){const{rules:n=[],type:o=r.FormCompEnum.Input,rulesMessageJoinLabel:u,label:c,title:P,dynamicRule:d,required:s,dynamicRuleAdd:f=!0}=t.schema,p=l.isFunction(s)?s(e.unref(C)):s,q=t.formModel[t.schema.field];if(!p&&(l.isNullOrUndefined(q)||q===""||l.isArray(q)&&!q.length))return[];const h=c||P;if(l.isFunction(d)&&!f)return d(e.unref(C));let m=l.cloneDeep(l.isArray(n)?n:[n]);const{rulesMessageJoinLabel:N}=t.formProps,g=Reflect.has(t.schema,"rulesMessageJoinLabel")?u:N,V=W.createPlaceholderMessage(o,`${g?h:""}`);function E(i,a){const x=i.message||V;return a===void 0||l.isNull(a)||o===r.FormCompEnum.CheckboxSingle&&!a||Array.isArray(a)&&a.length===0||typeof a=="string"&&a.trim()===""||typeof a=="object"&&Reflect.has(a,"checked")&&Reflect.has(a,"halfChecked")&&Array.isArray(a.checked)&&Array.isArray(a.halfChecked)&&a.checked.length===0&&a.halfChecked.length===0?Promise.reject(x):Promise.resolve()}const M=[r.FormCompEnum.Radio,r.FormCompEnum.Select,r.FormCompEnum.RadioSingle,r.FormCompEnum.RadioButton,r.FormCompEnum.Checkbox,r.FormCompEnum.CheckboxSingle,r.FormCompEnum.CheckboxButton,r.FormCompEnum.AutoComplete,r.FormCompEnum.Cascader,r.FormCompEnum.ColorPicker,r.FormCompEnum.Upload,r.FormCompEnum.Slider].includes(o);(!m||m.length===0)&&(m=[{required:p,validator:E,trigger:M?"change":"blur"}]);const T=m.findIndex(i=>Reflect.has(i,"required")&&!Reflect.has(i,"validator"));if(T!==-1){const i=m[T],{isShow:a}=B();a||(i.required=!1),o&&(i.message=i.message||V)}const F=m.findIndex(i=>i.min),k=m.findIndex(i=>i.max);function D(i,a,x="all"){const R=m[a],z=R.isNumber?isNaN(i)?i?.length||0:Number(i):i?.length||0;return["min","all"].includes(x)&&z<R.min?Promise.reject(`${h}至少为${R.min}位`):["max","all"].includes(x)&&z>R.max?Promise.reject(`${h}最多${R.max}位`):Promise.resolve()}(F!==-1||k!==-1)&&(F!==-1&&k!==-1&&!m[F].validator&&!m[F].message?m[F].validator=(i,a)=>D(a,F):F!==-1&&!m[F].validator&&!m[F].message?m[F].validator=(i,a)=>D(a,F,"min"):k!==-1&&!m[k].validator&&!m[k].message&&(m[k].validator=(i,a)=>D(a,k,"max")));const y=m.findIndex(i=>i.len);if(y!==-1&&(m[y].validator=(i,a)=>a?.length!==m[y].len?Promise.reject(`${h}必须是${m[y].len}位`):Promise.resolve()),l.isFunction(d)&&f){let i=d(e.unref(C));i=l.isArray(i)?i:[i],m=m.concat(i)}return m}const I=e.ref(),X=()=>{const{renderComponentContent:n,type:o=r.FormCompEnum.Input,field:u,changeEvent:c="change",valueField:P,label:d,title:s,placeholderJoinLabel:f=!0}=t.schema;let p=c;L.isInput(o)?p="input":L.isDatePicker(o)||o===r.FormCompEnum.TimePicker||o===r.FormCompEnum.InputTag||o===r.FormCompEnum.AutoComplete||o===r.FormCompEnum.Cascader||o===r.FormCompEnum.ColorPicker||o===r.FormCompEnum.Slider?p="update:modelValue":o===r.FormCompEnum.Upload&&(p="update:fileList");const q=`on${l.upperFirst(p)}`,h=r.getComponent(o),{autoSetPlaceHolder:m,size:N}=t.formProps,g={clearable:!0,...e.unref(S)};if(o!==r.FormCompEnum.Search&&(g.size=e.unref(S)?.size||N,g.disabled=e.unref(Q)),!g.disabled&&m&&!L.isRangePicker(o)&&o){const i=d||s;g.placeholder=e.unref(S)?.placeholder||W.createPlaceholderMessage(o,f&&l.isString(i)?i:"")}const E=g[q],b=g.onClear,M={[q]:(...i)=>{const[a]=i,x=a?a.target:null,R=x?x.value:a;t.setFormModel(u,R,t.schema),E&&l.isFunction(E)&&e.nextTick(()=>{E(...i)})},onClear:(...i)=>{t.updateSchema([{field:u,itemProps:{error:""}}]),t.formActionType?.clearValidate?.(u),b&&l.isFunction(b)&&b(...i)}},T={[P||"model-value"]:t.formModel[u]},{[q]:F,...k}=g,D={...k,...M,...T};if(!n&&o!==r.FormCompEnum.Upload)return e.createVNode(h,e.mergeProps({ref:I},D),null);let y;if(y=l.isFunction(n)?{...n({...e.unref(C),elRef:I})}:{default:()=>n},o===r.FormCompEnum.Upload&&!n){const{drag:i}=e.unref(S);y=i?{default:()=>e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)}:{default:()=>e.createVNode(e.resolveComponent("vft-button"),{type:"primary"},{default:()=>[e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)]})}}return e.createVNode(h,e.mergeProps({ref:I},D),$(y)?y:{default:()=>[y]})};function j(){const{showLabel:n=!0,label:o,title:u,subLabel:c,labelRequired:P,helpIcon:d,helpTooltip:s}=t.schema;let f=o||u;f=P?e.createVNode("span",null,[e.createVNode("span",{class:"label-required"},[e.createTextVNode("*")]),e.createVNode("span",null,[f])]):f;const p=()=>{if(!d&&!s)return null;const q=e.computed(()=>l.singleAttrToObj(d,"icon",{size:20,pointer:!0,icon:"icon-help"}));if(s){const h=e.computed(()=>l.singleAttrToObj(s,"content",{placement:"right-start"}));return e.createVNode(re.VftTooltip,e.mergeProps({className:"box-item"},h.value),{default:()=>[e.createVNode(J.VftIcon,q.value,null)]})}return e.createVNode(J.VftIcon,q.value,null)};return n&&f?c?e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[f,e.createTextVNode(" "),e.createVNode("span",{class:"sub-label"},[c])]),p()]):e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[f]),p()]):void 0}const O=e.useSlots();function U(n,o="default",u){if(!n||!Reflect.has(n,o))return null;if(!l.isFunction(n[o]))return console.error(`${o} is not a function!`),null;const c=n[o];return c?c(u):null}function Z(){const{required:n,itemProps:o,slot:u,render:c,field:P,suffix:d,prefix:s,prefixParentStyle:f}=t.schema,{autoCleanErrorMessage:p,compFullWidth:q}=t.formProps,h=()=>u?U(O,u,e.unref(C)):c?c(e.unref(C)):X(),m=!!d,N=!!s,g=l.isFunction(d)?d(e.unref(C)):d,V=l.isFunction(s)?s(e.unref(C)):s,E=()=>{t.updateSchema([{field:P,itemProps:{error:""}}])},b=l.isFunction(n)?n(e.unref(C)):n,M=()=>e.createVNode(ee.VftFormItem,e.mergeProps({style:{marginRight:t.formProps.customLayout?"10px":0},prop:P,class:[{[v.is("suffix")]:m},{[v.is("comp-full-width")]:q},v.e("item")]},o,{label:o?.label||o?.title,"onUpdate:error":p?E:()=>{},rules:G(),required:b}),{default:()=>[e.createVNode("div",{class:v.e("container")},[e.createVNode("div",{class:v.e("content")},[h(),m&&e.createVNode("span",{class:v.m("suffix")},[g])])])],label:j()?()=>j():void 0});return N?e.createVNode("div",{style:f},[e.createVNode("span",{class:v.m("prefix")},[V]),M()]):M()}return()=>{let n;const{colProps:o={},colSlot:u,renderColContent:c,type:P=r.FormCompEnum.Input,render:d,quickColSpan:s}=t.schema;if(!r.getComponent(P)&&!c&&!d)return null;const{baseColProps:f={},quickColSpan:p}=t.formProps,q=p?{span:Math.ceil(24/p),...f}:{...f},h=s?{span:Math.ceil(24/s),...o}:{...o},m={...q,...h},{isIfShow:N,isShow:g}=B(),V=e.unref(C),E=()=>u?U(O,u,V):c?c(V):Z();if(P===r.FormCompEnum.Divider){let b;return e.createVNode(H.VftCol,e.mergeProps({span:24},h),{default:()=>[e.createVNode(_.VftDivider,e.unref(S),$(b=j())?b:{default:()=>[b]})]})}return N&&(t.formProps.customLayout?E():e.withDirectives(e.createVNode(H.VftCol,m,$(n=E())?n:{default:()=>[n]}),[[e.vShow,g]]))}}});exports.default=ne;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../alert/index.cjs");require("../avatar/index.cjs");require("../avatar-stack/index.cjs");require("../backtop/index.cjs");require("../button/index.cjs");require("../card/index.cjs");require("../cascader/index.cjs");require("../cascader-panel/index.cjs");require("../check-tag/index.cjs");require("../checkbox/index.cjs");require("../clamp/index.cjs");require("../client-only/index.cjs");require("../clamp-toggle/index.cjs");require("../clamp-tooltip/index.cjs");const G=require("../col/index.cjs");require("../collapse-transition/index.cjs");require("../color-picker/index.cjs");require("../config-provider/index.cjs");require("../container/index.cjs");const c=require("@vft/utils");require("../context-menu/context-menu.vue2.cjs");const X=require("../icon/index.cjs");require("../date-picker/index.cjs");require("../date-time-select/index.cjs");require("../descriptions/index.cjs");require("../dialog/index.cjs");const ue=require("../divider/index.cjs");require("../drawer/index.cjs");require("../dropdown/index.cjs");require("../empty/index.cjs");require("../footer-layout/index.cjs");const ae=require("../form/index.cjs");require("../full-screen/index.cjs");require("../header-layout/index.cjs");require("../horizontal-menu/index.cjs");require("../icon-text/index.cjs");require("../iframe-layout/index.cjs");require("../image/index.cjs");require("../image-viewer/index.cjs");require("../input/index.cjs");require("../input-number/index.cjs");require("../link/index.cjs");require("../list-cell/index.cjs");require("../logo/index.cjs");require("../menu/index.cjs");require("../multiple-tabs/index.cjs");require("../notification/index.cjs");require("../overlay/index.cjs");require("../page-wrapper/index.cjs");require("../pagination/index.cjs");require("../popconfirm/index.cjs");require("../popover/index.cjs");require("../popper/index.cjs");require("../qrcode/index.cjs");require("../radio/index.cjs");require("../result/index.cjs");require("../router-view-content/index.cjs");require("../row/index.cjs");require("../scrollbar/index.cjs");require("../search/index.cjs");require("../select/index.cjs");require("../side-menu/index.cjs");require("../skeleton/index.cjs");require("../slider/index.cjs");require("../space/index.cjs");require("../steps/index.cjs");require("../switch/index.cjs");require("../table/index.cjs");require("../tabs/index.cjs");require("../tag/index.cjs");require("../time-picker/index.cjs");const se=require("../tooltip/index.cjs");require("../tree/index.cjs");require("../tree-select/index.cjs");require("../verify-code/index.cjs");require("../virtual-list/components/fixed-size-list.cjs");require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("../autocomplete/index.cjs");require("../breadcrumb/index.cjs");require("../carousel/index.cjs");require("../collapse/index.cjs");require("../countdown/index.cjs");require("../input-tag/index.cjs");require("../modal/index.cjs");require("../progress/index.cjs");require("../segmented/index.cjs");require("../statistic/index.cjs");require("../timeline/index.cjs");require("../transfer/index.cjs");require("../upload/index.cjs");require("../watermark/index.cjs");require("../md-code-demo/index.cjs");require("../md-code-tabs/index.cjs");require("../md-comment/index.cjs");require("../md-container/index.cjs");require("../md-tabs/index.cjs");require("../md-vue-playground/index.cjs");require("../infinite-scroll/index.cjs");const r=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");const me=require("lodash-es"),le=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../message/index.cjs");require("../progress-i/index.cjs");require("./index.cjs");const W=require("./component-map.cjs"),Z=require("./use/helper.cjs");function H(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const ce=e.defineComponent({inheritAttrs:!1}),de=e.defineComponent({...ce,__name:"super-form-item",props:{schema:{},formProps:{},allDefaultValues:{},formModel:{},setFormModel:{},updateSchema:{},formActionType:{}},setup(n){const A=le.useNamespace("super-form"),j=e.ref(),g=e.computed(()=>{const{mergeDynamicData:t}=n.formProps;return{field:n.schema.field,model:n.formModel,values:{...t,...n.allDefaultValues,...n.formModel},schema:n.schema,elRef:j,formActionType:n.formActionType}}),_=new Set([r.FormCompEnum.Select,r.FormCompEnum.Radio,r.FormCompEnum.Checkbox,r.FormCompEnum.RadioButton,r.FormCompEnum.CheckboxButton,r.FormCompEnum.Cascader,r.FormCompEnum.AutoComplete]),N=new Set([r.FormCompEnum.Select,r.FormCompEnum.Radio,r.FormCompEnum.RadioButton,r.FormCompEnum.Checkbox,r.FormCompEnum.CheckboxButton,r.FormCompEnum.Cascader,r.FormCompEnum.AutoComplete]),$=new Set([r.FormCompEnum.TreeSelect]),U=()=>n.schema.type&&_.has(n.schema.type)?{options:[]}:{},p=e.ref(U());async function ee(){const{componentProps:t={}}=n.schema;if(c.isFunction(t)){const o=U();p.value=o;try{const i=t({schema:n.schema,formModel:n.formModel,formActionType:n.formActionType}),s=i instanceof Promise?await i:i,m={...o,...s??{}};N.has(n.schema.type)&&(!m.options||!Array.isArray(m.options))&&(m.options=[]),p.value=m}catch(i){console.error("componentProps 执行错误:",i),p.value=U()}}else p.value=t,N.has(n.schema.type)&&(!p.value.options||!Array.isArray(p.value.options))&&(p.value.options=[])}e.watch(()=>n.schema.componentProps,(t,o)=>(t||o)&&ee(),{immediate:!0});let b=null;const D=e.ref(!1),L=async(t,o)=>{try{const i={...p.value},s=N.has(n.schema.type);p.value={...i,loading:!0,...s?{options:[]}:{}};const m=await t(e.unref(g)),{type:d}=n.schema,f=s?Array.isArray(m)?m:[]:m;s?p.value={...i,options:f,requestResult:m,loading:!1}:$.has(d)?p.value={...i,data:Array.isArray(m)?m:m||[],requestResult:m,loading:!1}:p.value={...i,requestResult:m,loading:!1},o&&await o(m,e.unref(g))}catch(i){console.error("fetchRemoteData 执行错误:",i);const s=N.has(n.schema.type),m=$.has(n.schema.type);p.value={...p.value,loading:!1,...s?{options:[]}:{},...m?{data:[]}:{}}}finally{await e.nextTick()}},J=()=>{const t=p.value?.request;if(t)if(c.isFunction(t))L(t);else{const{watchFields:o=[],options:i={},wait:s=0,callback:m,onSuccess:d}=t;if(!m)return;const f=Array.isArray(o)&&o.length>0;if(i?.immediate&&!f){D.value||(D.value=!0,L(m,d));return}const{immediate:y,...h}=i,q=o.map(a=>()=>n.formModel[a]),C=s>0?me.debounce(()=>{L(m,d)},s):()=>{L(m,d)};b=e.watch(q,C,h),i?.immediate&&(D.value||(D.value=!0,L(m,d)))}},re=e.computed(()=>B());e.watch(re,(t,o)=>{t.isIfShow&&t.isShow&&(o==null||!o.isIfShow||!o.isShow)?e.nextTick(()=>{b&&(b(),b=null),J()}):(!t.isIfShow||!t.isShow)&&(D.value=!1,b&&(b(),b=null))},{immediate:!0}),e.watch(()=>p.value?.request,()=>{const{isIfShow:t,isShow:o}=B();t&&o&&e.nextTick(()=>{b&&(b(),b=null),J()})});const M=e.computed(()=>{let t={...p.value};N.has(n.schema.type)&&(!t.options||!Array.isArray(t.options))&&(t.options=[]),$.has(n.schema.type)&&(!t.data||!Array.isArray(t.data))&&(t.data=[]);const o=new Map([[r.FormCompEnum.Divider,{type:"horizontal"}],[r.FormCompEnum.Textarea,{type:"textarea"}],[r.FormCompEnum.Password,{type:"password","show-password":!0}],[r.FormCompEnum.InputNumber,{type:"number"}],[r.FormCompEnum.CheckboxButton,{useButton:!0}],[r.FormCompEnum.RadioButton,{useButton:!0}],[r.FormCompEnum.YearPicker,{type:r.FormCompEnum.YearPicker}],[r.FormCompEnum.MonthPicker,{type:r.FormCompEnum.MonthPicker}],[r.FormCompEnum.DatePicker,{type:r.FormCompEnum.DatePicker}],[r.FormCompEnum.DatesPicker,{type:r.FormCompEnum.DatesPicker}],[r.FormCompEnum.DateTimePicker,{type:r.FormCompEnum.DateTimePicker}],[r.FormCompEnum.WeekPicker,{type:r.FormCompEnum.WeekPicker}],[r.FormCompEnum.TimeRangePicker,{type:r.FormCompEnum.TimePicker,"is-range":!0,"start-placeholder":"开始时间","end-placeholder":"结束时间"}],[r.FormCompEnum.DateTimeRangePicker,{type:r.FormCompEnum.DateTimeRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.DateRangePicker,{type:r.FormCompEnum.DateRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.MonthRangePicker,{type:r.FormCompEnum.MonthRangePicker,"start-placeholder":"开始月份","end-placeholder":"结束月份"}]]);n.schema.type&&o.has(n.schema.type)&&(t=Object.assign(o.get(n.schema.type)||{},t));const i=t;return n.formProps.inputMaxLength&&n.schema.type===r.FormCompEnum.Input&&!i?.maxlength&&(i.maxlength=n.formProps.inputMaxLength),N.has(n.schema.type)&&(!i.options||!Array.isArray(i.options))&&(i.options=[]),$.has(n.schema.type)&&(!i.data||!Array.isArray(i.data))&&(i.data=[]),i}),oe=e.computed(()=>{const{disabled:t}=n.formProps,{dynamicDisabled:o}=n.schema,{disabled:i=!1}=e.unref(M);let s=!!t||i;return c.isBoolean(o)&&(s=o),c.isFunction(o)&&(s=o(e.unref(g))),s});function B(){const{show:t,ifShow:o}=n.schema;let i=!0,s=!0;return c.isBoolean(t)&&(i=t),c.isBoolean(o)&&(s=o),c.isFunction(t)&&(i=t(e.unref(g))),c.isFunction(o)&&(s=o(e.unref(g))),{isShow:i,isIfShow:s}}function te(){const{rules:t=[],type:o=r.FormCompEnum.Input,rulesMessageJoinLabel:i,label:s,title:m,dynamicRule:d,required:f,dynamicRuleAdd:y=!0}=n.schema,h=c.isFunction(f)?f(e.unref(g)):f,q=n.formModel[n.schema.field];if(!h&&(c.isNullOrUndefined(q)||q===""||c.isArray(q)&&!q.length))return[];const C=s||m;if(c.isFunction(d)&&!y)return d(e.unref(g));let a=c.cloneDeep(c.isArray(t)?t:[t]);const{rulesMessageJoinLabel:E}=n.formProps,F=Reflect.has(n.schema,"rulesMessageJoinLabel")?i:E,x=Z.createPlaceholderMessage(o,`${F?C:""}`);function S(u,l){const R=u.message||x;return l===void 0||c.isNull(l)||o===r.FormCompEnum.CheckboxSingle&&!l||Array.isArray(l)&&l.length===0||typeof l=="string"&&l.trim()===""||typeof l=="object"&&Reflect.has(l,"checked")&&Reflect.has(l,"halfChecked")&&Array.isArray(l.checked)&&Array.isArray(l.halfChecked)&&l.checked.length===0&&l.halfChecked.length===0?Promise.reject(R):Promise.resolve()}const T=[r.FormCompEnum.Radio,r.FormCompEnum.Select,r.FormCompEnum.RadioSingle,r.FormCompEnum.RadioButton,r.FormCompEnum.Checkbox,r.FormCompEnum.CheckboxSingle,r.FormCompEnum.CheckboxButton,r.FormCompEnum.AutoComplete,r.FormCompEnum.Cascader,r.FormCompEnum.ColorPicker,r.FormCompEnum.Upload,r.FormCompEnum.Slider].includes(o);(!a||a.length===0||h)&&(a=[{required:h,validator:S,trigger:T?"change":"blur"},...a]);const O=a.findIndex(u=>Reflect.has(u,"required")&&!Reflect.has(u,"validator"));if(O!==-1){const u=a[O],{isShow:l}=B();l||(u.required=!1),o&&(u.message=u.message||x)}const P=a.findIndex(u=>u.min),w=a.findIndex(u=>u.max);function I(u,l,R="all"){const V=a[l],Q=V.isNumber?isNaN(u)?u?.length||0:Number(u):u?.length||0;return["min","all"].includes(R)&&Q<V.min?Promise.reject(`${C}至少为${V.min}位`):["max","all"].includes(R)&&Q>V.max?Promise.reject(`${C}最多${V.max}位`):Promise.resolve()}(P!==-1||w!==-1)&&(P!==-1&&w!==-1&&!a[P].validator&&!a[P].message?a[P].validator=(u,l)=>I(l,P):P!==-1&&!a[P].validator&&!a[P].message?a[P].validator=(u,l)=>I(l,P,"min"):w!==-1&&!a[w].validator&&!a[w].message&&(a[w].validator=(u,l)=>I(l,w,"max")));const k=a.findIndex(u=>u.len);if(k!==-1&&(a[k].validator=(u,l)=>l?.length!==a[k].len?Promise.reject(`${C}必须是${a[k].len}位`):Promise.resolve()),c.isFunction(d)&&y){let u=d(e.unref(g));u=c.isArray(u)?u:[u],a=a.concat(u)}return a}const ne=()=>{const{renderComponentContent:t,type:o=r.FormCompEnum.Input,field:i,changeEvent:s="change",valueField:m,label:d,title:f,placeholderJoinLabel:y=!0}=n.schema;let h=s;W.isInput(o)?h="input":W.isDatePicker(o)||o===r.FormCompEnum.TimePicker||o===r.FormCompEnum.InputTag||o===r.FormCompEnum.AutoComplete||o===r.FormCompEnum.Cascader||o===r.FormCompEnum.ColorPicker||o===r.FormCompEnum.Slider||o===r.FormCompEnum.TreeSelect?h="update:modelValue":o===r.FormCompEnum.Upload&&(h="update:fileList");const q=`on${c.upperFirst(h)}`,C=r.getComponent(o),{autoSetPlaceHolder:a,size:E}=n.formProps,F={clearable:!0,...e.unref(M)};if(o!==r.FormCompEnum.Search&&(F.size=e.unref(M)?.size||E,F.disabled=e.unref(oe)),!F.disabled&&a&&!W.isRangePicker(o)&&o){const u=d||f;F.placeholder=e.unref(M)?.placeholder||Z.createPlaceholderMessage(o,y&&c.isString(u)?u:"")}const S=F[q],v=F.onClear,T={[q]:(...u)=>{const[l]=u,R=l?l.target:null,V=R?R.value:l;n.setFormModel(i,V,n.schema),S&&c.isFunction(S)&&e.nextTick(()=>{S(...u)})},onClear:(...u)=>{n.updateSchema([{field:i,itemProps:{error:""}}]),n.formActionType?.clearValidate?.(i),v&&c.isFunction(v)&&v(...u)}},O={[m||"model-value"]:n.formModel[i]},{[q]:P,...w}=F,I={...w,...T,...O};if(!t&&o!==r.FormCompEnum.Upload)return e.createVNode(C,e.mergeProps({ref:j},I),null);let k;if(k=c.isFunction(t)?{...t({...e.unref(g),elRef:j})}:{default:()=>t},o===r.FormCompEnum.Upload&&!t){const{drag:u}=e.unref(M);k=u?{default:()=>e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)}:{default:()=>e.createVNode(e.resolveComponent("vft-button"),{type:"primary"},{default:()=>[e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)]})}}return e.createVNode(C,e.mergeProps({ref:j},I),H(k)?k:{default:()=>[k]})};function z(){const{showLabel:t=!0,label:o,title:i,subLabel:s,labelRequired:m,helpIcon:d,helpTooltip:f,labelSuffix:y}=n.schema,{labelSuffix:h=""}=n.formProps,q=y??h,C=o||i,a=C?e.createVNode("span",null,[m&&e.createVNode("span",{class:"label-required"},[e.createTextVNode("*")]),e.createVNode("span",null,[C]),q&&e.createVNode("span",{class:A.m("label-suffix")},[q])]):null,E=()=>{if(!d&&!f)return null;const F=e.computed(()=>c.singleAttrToObj(d,"icon",{size:20,pointer:!0,icon:"icon-help"}));if(f){const x=e.computed(()=>c.singleAttrToObj(f,"content",{placement:"right-start"}));return e.createVNode(se.VftTooltip,e.mergeProps({className:"box-item"},x.value),{default:()=>[e.createVNode(X.VftIcon,F.value,null)]})}return e.createVNode(X.VftIcon,F.value,null)};return t&&a?s?e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[a,e.createTextVNode(" "),e.createVNode("span",{class:"sub-label"},[s])]),E()]):e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[a]),E()]):void 0}const Y=e.useSlots();function K(t,o="default",i){if(!t||!Reflect.has(t,o))return null;if(!c.isFunction(t[o]))return console.error(`${o} is not a function!`),null;const s=t[o];return s?s(i):null}function ie(){const{required:t,itemProps:o,slot:i,render:s,field:m,suffix:d,prefix:f,prefixParentStyle:y}=n.schema,{autoCleanErrorMessage:h,compFullWidth:q}=n.formProps,C=()=>i?K(Y,i,e.unref(g)):s?s(e.unref(g)):ne(),a=!!d,E=!!f,F=c.isFunction(d)?d(e.unref(g)):d,x=c.isFunction(f)?f(e.unref(g)):f,S=()=>{n.updateSchema([{field:m,itemProps:{error:""}}])},v=c.isFunction(t)?t(e.unref(g)):t,T=()=>e.createVNode(ae.VftFormItem,e.mergeProps({style:{marginRight:n.formProps.customLayout?"10px":0},prop:m,class:[{[A.is("suffix")]:a},{[A.is("comp-full-width")]:q},A.e("item")]},o,{label:o?.label||o?.title,"onUpdate:error":h?S:()=>{},rules:te(),required:v}),{default:()=>[e.createVNode("div",{class:A.e("container")},[e.createVNode("div",{class:A.e("content")},[C(),a&&e.createVNode("span",{class:A.m("suffix")},[F])])])],label:z()?()=>z():void 0});return E?e.createVNode("div",{style:y},[e.createVNode("span",{class:A.m("prefix")},[x]),T()]):T()}return()=>{let t;const{colProps:o={},colSlot:i,renderColContent:s,type:m=r.FormCompEnum.Input,render:d,quickColSpan:f}=n.schema;if(!r.getComponent(m)&&!s&&!d)return null;const{baseColProps:y={},quickColSpan:h}=n.formProps,q=h?{span:Math.ceil(24/h),...y}:{...y},C=f?{span:Math.ceil(24/f),...o}:{...o},a={...q,...C},{isIfShow:E,isShow:F}=B(),x=e.unref(g),S=()=>i?K(Y,i,x):s?s(x):ie();if(m===r.FormCompEnum.Divider){let v;return e.createVNode(G.VftCol,e.mergeProps({span:24},C),{default:()=>[e.createVNode(ue.VftDivider,e.unref(M),H(v=z())?v:{default:()=>[v]})]})}return E&&(n.formProps.customLayout?S():e.withDirectives(e.createVNode(G.VftCol,a,H(t=S())?t:{default:()=>[t]}),[[e.vShow,F]]))}}});exports.default=de;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Q=require("../col/index.cjs"),X=require("../form/index.cjs"),Y=require("../row/index.cjs"),T=require("@vueuse/core"),c=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const ee=require("./super-form-action.vue2.cjs"),te=require("./super-form-item.vue2.cjs"),oe=require("./use/use-auto-focus.cjs"),ne=require("./use/use-form-context.cjs"),re=require("./use/use-form-events.cjs"),ue=require("./use/use-form-values.cjs"),se=require("./use/helper.cjs"),le=e.defineComponent({name:"vft-super-form"}),ae=e.defineComponent({...le,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean,default:!0},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},labelWidth:{default:"auto"},formatter:{},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Q=require("../col/index.cjs"),X=require("../form/index.cjs"),Y=require("../row/index.cjs"),T=require("@vueuse/core"),c=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const ee=require("./super-form-action.vue2.cjs"),te=require("./super-form-item.vue2.cjs"),oe=require("./use/use-auto-focus.cjs"),ne=require("./use/use-form-context.cjs"),re=require("./use/use-form-events.cjs"),ue=require("./use/use-form-values.cjs"),se=require("./use/helper.cjs"),le=e.defineComponent({name:"vft-super-form"}),ae=e.defineComponent({...le,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean,default:!0},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},labelWidth:{default:"auto"},labelSuffix:{},formatter:{},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change","common-btn-click"],setup(L,{expose:$,emit:N}){const F=L,m=N,k=Z.useNamespace("super-form"),G=e.useAttrs(),s=e.reactive({}),i=e.ref({}),f=e.ref(!1),p=e.ref({}),C=e.ref(),d=e.ref(null),S=e.ref(),o=e.computed(()=>({...F,...e.unref(p)})),l=e.computed(()=>({...G,...F,...e.unref(o)})),r=e.computed(()=>{const t=e.unref(C);return c.cloneDeep(t)}),{handleFormValues:q,initDefault:z}=ue.useFormValues({getProps:o,defaultValueRef:i,getSchema:r,formModel:s});oe.useAutoFocus({getSchema:r,getProps:o,isInitedDefault:f,formElRef:d});const{handleSubmit:a,setFieldsValue:B,clearValidate:R,validate:_,validateField:A,getFieldsValue:h,updateSchema:v,resetSchema:y,appendSchemaByField:E,removeSchemaByField:O,resetFields:g,scrollToField:H,getFieldValue:P,setFormItemError:V}=re.useFormEvents({emit:m,getProps:o,formModel:s,getSchema:r,defaultValueRef:i,formElRef:d,schemaRef:C,handleFormValues:q,initValues:S});ne.createFormContext({resetAction:g,submitAction:a,commonAction:()=>m("common-btn-click")}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{c.isEqual(t,n)||y(t??[])}),e.watch(()=>r.value,t=>{e.nextTick(()=>{}),!e.unref(f)&&t?.length&&(z(),f.value=!0,o.value?.watchDataIsChange&&T.useTimeoutFn(()=>{S.value=h()},40))}),e.watch(()=>s,T.useDebounceFn(()=>{e.unref(o).submitOnChange&&a()},300),{deep:!0});async function x(t){p.value=c.deepMerge(e.unref(p)||{},t)}function j(t,n,u){s[t]=n}function K(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const u=t.target;u&&u.tagName&&u.tagName.toUpperCase()==="INPUT"&&a()}}const M={getFieldsValue:h,getFieldValue:P,setFieldsValue:B,resetFields:g,updateSchema:v,resetSchema:y,setProps:x,removeSchemaByField:O,appendSchemaByField:E,clearValidate:R,validateField:A,setFormItemError:V,validate:_,submit:a,scrollToField:H};m("register",M);const U=e.computed(()=>c.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),W=e.computed(()=>{const{showCommonButton:t,showResetButton:n,showSubmitButton:u}=o.value;return!!(t||n||u)}),I=e.computed(()=>{const t=e.unref(r);if(!t||t.length===0)return!1;try{return se.willFormExceedOneRow(t,o.value,s,i.value).willExceed}catch{return!1}}),b=e.useSlots(),w=t=>t?e.h(ee.default,U.value,{resetBefore:n=>b.resetBefore?.(n),submitBefore:n=>b.submitBefore?.(n),submitAfter:n=>b.submitAfter?.(n)}):null;return $({getFieldsValue:h,getFieldValue:P,setFieldsValue:B,resetFields:g,updateSchema:v,resetSchema:y,setProps:x,removeSchemaByField:O,appendSchemaByField:E,clearValidate:R,validateField:A,validate:_,submit:a,getSchema:r,setFormItemError:V,formModel:e.computed(()=>q(s)),hasActionButton:W,willExceedOneRow:I}),(t,n)=>r.value?.length?(e.openBlock(),e.createBlock(e.unref(X.VftForm),e.mergeProps({key:0},l.value,{ref_key:"formElRef",ref:d,class:[e.unref(k).b(),{[e.unref(k).is("exceed-one-row")]:I.value}],model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(K,["enter"])}),{default:e.withCtx(()=>[r.value?.length?(e.openBlock(),e.createBlock(e.unref(Y.VftRow),e.normalizeProps(e.mergeProps({key:0},l.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createBlock(te.default,{key:u.field,"form-action-type":M,schema:u,"form-props":o.value,"all-default-values":i.value,"form-model":s,"set-form-model":j,"update-schema":e.unref(v)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),D=>({name:D,fn:e.withCtx(J=>[e.renderSlot(t.$slots,D,e.mergeProps({ref_for:!0},J||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(Q.VftCol),e.normalizeProps(e.mergeProps({key:0},l.value?.quickColSpan?{span:Math.ceil(24/l.value?.quickColSpan),...l.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=ae;
|
|
@@ -24,7 +24,7 @@ import type { ComponentSize } from 'vft/es/constants';
|
|
|
24
24
|
import type { Arrayable } from 'vft/es/utils';
|
|
25
25
|
import { type FormCompEnumType } from 'vft/es/utils';
|
|
26
26
|
import type { InternalRuleItem, RuleItem } from 'async-validator';
|
|
27
|
-
import type { ComponentPublicInstance, Ref, StyleValue, VNode } from 'vue';
|
|
27
|
+
import type { ComponentPublicInstance, Ref, StyleValue, VNode, WatchOptions } from 'vue';
|
|
28
28
|
import type { Recordable } from '../types';
|
|
29
29
|
/** 按钮配置选项 */
|
|
30
30
|
export type ButtonOptions = Partial<ButtonProps> & {
|
|
@@ -57,6 +57,12 @@ type FormItemRule = Omit<RuleItem, 'validator'> & Rule & {
|
|
|
57
57
|
};
|
|
58
58
|
export type SchemaCompOptions = InputProps | SelectV2Props | RadioGroupProps | CheckboxGroupProps | DatePickerProps | TimePickerDefaultProps | CascaderProps | AutocompleteProps | ColorPickerProps | UploadProps | SliderProps | InputNumberProps | InputTagProps | DividerProps | SearchProps | SwitchProps | {
|
|
59
59
|
onClear?: Function;
|
|
60
|
+
} | {
|
|
61
|
+
/** 组件异步请求数据 */
|
|
62
|
+
request?: RequestConfig;
|
|
63
|
+
/** 组件异步请求数据结果 */
|
|
64
|
+
requestResult?: any;
|
|
65
|
+
[key: string]: any;
|
|
60
66
|
} | Record<string, any>;
|
|
61
67
|
/** 渲染回调参数接口 */
|
|
62
68
|
export interface RenderCallbackParams {
|
|
@@ -70,7 +76,22 @@ export interface RenderCallbackParams {
|
|
|
70
76
|
field: string;
|
|
71
77
|
/** 组件实例引用 */
|
|
72
78
|
elRef?: Ref<ComponentPublicInstance | null>;
|
|
79
|
+
/** 表单操作方法 */
|
|
80
|
+
formActionType?: Partial<FormActionType>;
|
|
73
81
|
}
|
|
82
|
+
/** Promise 函数类型 */
|
|
83
|
+
type PromiseFn<T, R = any> = (params: T) => Promise<R>;
|
|
84
|
+
/** 组件异步请求配置 */
|
|
85
|
+
export type RequestConfig = PromiseFn<RenderCallbackParams, any> | {
|
|
86
|
+
/** 指定监听的字段名, 当该字段值发生变化时会调用 callback */
|
|
87
|
+
watchFields: string[];
|
|
88
|
+
callback: PromiseFn<RenderCallbackParams, any>;
|
|
89
|
+
options?: WatchOptions;
|
|
90
|
+
/** debounce 请求防抖 */
|
|
91
|
+
wait?: number;
|
|
92
|
+
/** 请求成功后的回调函数 */
|
|
93
|
+
onSuccess?: (result: any, params: RenderCallbackParams) => void | Promise<void>;
|
|
94
|
+
};
|
|
74
95
|
/** 表单操作方法接口 */
|
|
75
96
|
export interface FormActionType {
|
|
76
97
|
/** 提交表单 */
|
|
@@ -197,6 +218,8 @@ export interface SuperFormProps extends FormInnerProps {
|
|
|
197
218
|
submitResetReverse?: boolean;
|
|
198
219
|
labelPosition?: 'left' | 'right' | 'top';
|
|
199
220
|
labelWidth?: string | number;
|
|
221
|
+
/** Label 后缀字符,如 ':',默认为空字符串 */
|
|
222
|
+
labelSuffix?: string;
|
|
200
223
|
/** 表单值格式化函数,用于格式化 getFieldsValue 的输出值 */
|
|
201
224
|
formatter?: (values: Recordable) => Recordable;
|
|
202
225
|
}
|
|
@@ -284,6 +307,8 @@ export interface FormSchema {
|
|
|
284
307
|
helpIcon?: IconProps | string;
|
|
285
308
|
/** 帮助提示配置 */
|
|
286
309
|
helpTooltip?: string | ToolTipProps;
|
|
310
|
+
/** Label 后缀字符,如 ':',优先级高于 formProps.labelSuffix */
|
|
311
|
+
labelSuffix?: string;
|
|
287
312
|
/** 字段值格式化函数,用于格式化该字段在 getFieldsValue 中的输出值 */
|
|
288
313
|
formatter?: (value: any, field: string, values: Recordable, schema: FormSchema) => any;
|
|
289
314
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@vft/utils"),E=require("../component-map.cjs"),n=require("../../../utils/form-register.cjs");require("@vueuse/core");require("../../config-provider/hooks/use-global-config.cjs");require("vue");require("lodash-es");require("../../form/index.cjs");function F(o,e=""){return e=(e||"").replace(":","")||"",[n.FormCompEnum.Input,n.FormCompEnum.InputNumber,n.FormCompEnum.Textarea,n.FormCompEnum.AutoComplete].includes(o)?"请输入"+e:[n.FormCompEnum.Password].includes(o)?"请输入密码":[n.FormCompEnum.Select,n.FormCompEnum.Radio,n.FormCompEnum.RadioSingle,n.FormCompEnum.RadioButton,n.FormCompEnum.Cascader,n.FormCompEnum.ColorPicker,n.FormCompEnum.Checkbox,n.FormCompEnum.CheckboxButton].includes(o)?"请选择"+e:[n.FormCompEnum.CheckboxSingle].includes(o)?"请勾选"+e:[n.FormCompEnum.Search].includes(o)?"请输入要搜索的内容":[n.FormCompEnum.InputTag].includes(o)?"请输入标签内容":[n.FormCompEnum.Upload].includes(o)?"请选择上传文件":[n.FormCompEnum.Slider].includes(o)?"请拖动滑块":[n.FormCompEnum.TimePicker,n.FormCompEnum.YearPicker,n.FormCompEnum.MonthPicker,n.FormCompEnum.DatePicker,n.FormCompEnum.DatesPicker,n.FormCompEnum.DateTimePicker,n.FormCompEnum.WeekPicker,n.FormCompEnum.DateTimeRangePicker,n.FormCompEnum.DateRangePicker,n.FormCompEnum.MonthRangePicker].includes(o)?"请选择时间":""}function S(o,e){return o&&E.isInput(o)&&e&&c.isNumber(e)?`${e}`:e}function a(o,e){const{show:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@vft/utils"),E=require("../component-map.cjs"),n=require("../../../utils/form-register.cjs");require("@vueuse/core");require("../../config-provider/hooks/use-global-config.cjs");require("vue");require("lodash-es");require("../../form/index.cjs");function F(o,e=""){return e=(e||"").replace(":","")||"",[n.FormCompEnum.Input,n.FormCompEnum.InputNumber,n.FormCompEnum.Textarea,n.FormCompEnum.AutoComplete].includes(o)?"请输入"+e:[n.FormCompEnum.Password].includes(o)?"请输入密码":[n.FormCompEnum.Select,n.FormCompEnum.Radio,n.FormCompEnum.RadioSingle,n.FormCompEnum.RadioButton,n.FormCompEnum.Cascader,n.FormCompEnum.TreeSelect,n.FormCompEnum.ColorPicker,n.FormCompEnum.Checkbox,n.FormCompEnum.CheckboxButton].includes(o)?"请选择"+e:[n.FormCompEnum.CheckboxSingle].includes(o)?"请勾选"+e:[n.FormCompEnum.Search].includes(o)?"请输入要搜索的内容":[n.FormCompEnum.InputTag].includes(o)?"请输入标签内容":[n.FormCompEnum.Upload].includes(o)?"请选择上传文件":[n.FormCompEnum.Slider].includes(o)?"请拖动滑块":[n.FormCompEnum.TimePicker,n.FormCompEnum.YearPicker,n.FormCompEnum.MonthPicker,n.FormCompEnum.DatePicker,n.FormCompEnum.DatesPicker,n.FormCompEnum.DateTimePicker,n.FormCompEnum.WeekPicker,n.FormCompEnum.DateTimeRangePicker,n.FormCompEnum.DateRangePicker,n.FormCompEnum.MonthRangePicker].includes(o)?"请选择时间":""}function S(o,e){return o&&E.isInput(o)&&e&&c.isNumber(e)?`${e}`:e}function a(o,e){const{show:t,ifShow:i}=o;let m=!0,u=!0;return c.isBoolean(t)?m=t:c.isFunction(t)&&e&&(m=t(e)),c.isBoolean(i)?u=i:c.isFunction(i)&&e&&(u=i(e)),{isShow:m,isIfShow:u}}function l(o,e){const{baseColProps:t={},quickColSpan:i}=e;return o.type===n.FormCompEnum.Divider?24:o.colProps?.span!==void 0?o.colProps.span:o.quickColSpan?Math.ceil(24/o.quickColSpan):t.span!==void 0?t.span:i?Math.ceil(24/i):24}function f(o,e,t,i){if(e.customLayout)return{willExceed:!1,totalSpan:0,visibleItems:[]};const m=[];let u=0;for(const r of o){const C=t&&i?{field:r.field,model:t,values:{...i,...t},schema:r}:void 0,{isIfShow:d}=a(r,C);if(!d)continue;const s=l(r,e);m.push({field:r.field,span:s}),u+=s}const p=e.showCommonButton||e.showResetButton||e.showSubmitButton;if(e.actionInline&&e.showActionButtonGroup&&p&&!e.customLayout){const r=e.quickColSpan?Math.ceil(24/e.quickColSpan):e.baseColProps?.span||24;u+=r}return{willExceed:u>24,totalSpan:u,visibleItems:m}}exports.calculateSchemaSpan=l;exports.createPlaceholderMessage=F;exports.getSchemaShowState=a;exports.handleInputNumberValue=S;exports.willFormExceedOneRow=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../../utils/form-register.cjs");require("@vueuse/core");const c=require("@vft/utils");require("../../config-provider/hooks/use-global-config.cjs");const i=require("vue"),E=require("lodash-es");require("../../form/index.cjs");const U=require("@vft/utils/date"),$=require("../component-map.cjs"),R=require("./helper.cjs");function I(F,y){const{show:o,ifShow:l}=F;let v=!0,d=!0;return typeof o=="boolean"?v=o:typeof o=="function"&&(v=o({field:F.field,model:y,values:{...y},schema:F})),typeof l=="boolean"?d=l:typeof l=="function"&&(d=l({field:F.field,model:y,values:{...y},schema:F})),v&&d}function k(F,y={}){const o=/^\[(.+)\]$/;if(o.test(F)){const l=F.match(o);if(l&&l[1]){const v=l[1].split(",");if(!v.length)return;const d=[];return v.forEach((b,V)=>{E.set(d,V,y[b.trim()])}),d.filter(Boolean).length?d:void 0}}}function M(F,y={}){const o=/^\{(.+)\}$/;if(o.test(F)){const l=F.match(o);if(l&&l[1]){const v=l[1].split(",");if(!v.length)return;const d={};return v.forEach(b=>{E.set(d,b.trim(),y[b.trim()])}),Object.values(d).filter(Boolean).length?d:void 0}}}function ee({emit:F,getProps:y,formModel:o,getSchema:l,defaultValueRef:v,formElRef:d,schemaRef:b,handleFormValues:V,initValues:S}){async function P(e){const{resetFunc:n,submitOnReset:r}=i.unref(y);n&&c.isFunction(n)&&await n();const s=i.unref(d);if(s){if(e?.length)return s.resetFields(e);Object.keys(o).forEach(u=>{const f=i.unref(l).find(a=>a.field===u),t=E.cloneDeep(v.value[u]);o[u]=$.isInput(f?.type)?t||"":t}),i.nextTick(()=>j()),F("reset",i.toRaw(o)),r&&await L()}}async function T(e,n=!0){const r=i.unref(l).map(t=>t.field).filter(Boolean),s=".",u=r.filter(t=>String(t).indexOf(s)>=0),f=[];r.forEach(t=>{const a=i.unref(l).find(p=>p.field===t);let D=E.get(e,t);const h=Reflect.has(e,t);D=R.handleInputNumberValue(a?.type,D);const{componentProps:m}=a||{};let w=m;typeof m=="function"&&(w=w({formModel:i.unref(o)}));const q=k(t,e)||M(t,e);if(h||q){const p=q||D;if(X(t))if(Array.isArray(p)){const O=[];for(const g of p)O.push(g?U.formatToDate(g):null);i.unref(o)[t]=O}else i.unref(o)[t]=p?w?.valueFormat?p:U.formatToDate(p):null;else i.unref(o)[t]=p;w?.onChange&&w?.onChange(p),f.push(t)}else u.forEach(p=>{try{const O=p.split(".").reduce((g,K)=>g[K],e);c.isDef(O)&&(i.unref(o)[p]=i.unref(O),f.push(p))}catch{c.isDef(v.value[p])&&(i.unref(o)[p]=E.cloneDeep(i.unref(v.value[p])))}})}),n&&i.nextTick(async()=>{await _(f).catch(t=>{})})}async function z(e){const n=E.cloneDeep(i.unref(l));if(!e)return;let r=c.isString(e)?[e]:e;c.isString(e)&&(r=[e]);for(const s of r)G(s,n);b.value=n}function G(e,n){if(c.isString(e)){const r=n.findIndex(s=>s.field===e);r!==-1&&(delete o[e],n.splice(r,1))}}async function H(e,n,r=!1){const s=E.cloneDeep(i.unref(l)),u=s.findIndex(t=>t.field===n),f=c.isObject(e)?[e]:e;if(!n||u===-1||r){r?s.unshift(...f):s.push(...f),b.value=s,A(e);return}u!==-1&&s.splice(u+1,0,...f),A(e),b.value=s}async function J(e){let n=[];if(c.isObject(e)&&n.push(e),c.isArray(e)&&(n=[...e]),!n.every(s=>s.type===C.FormCompEnum.Divider||Reflect.has(s,"field")&&s.field)){console.error("All children of the form Schema array that need to be updated must contain the `field` field");return}b.value=n}async function x(e){let n=[];if(c.isObject(e)&&n.push(e),c.isArray(e)&&(n=[...e]),!n.every(f=>f.type===C.FormCompEnum.Divider||Reflect.has(f,"field")&&f.field)){console.error("All children of the form Schema array that need to be updated must contain the `field` field");return}const s=[],u=[];i.unref(l).forEach(f=>{let t;if(n.forEach(a=>{f.field===a.field&&(t=a),a.defaultValue&&a.field&&s.push(a.field)}),t!==void 0&&f.field===t.field){const a=c.deepMerge(f,t);u.push(a)}else u.push(f)}),A(u,s),b.value=E.uniqBy(u,"field")}function A(e,n,r=!0){if(c.isArray(n)&&n?.length===0)return;let s=[];c.isObject(e)&&s.push(e),c.isArray(e)&&(s=[...e]);const u={},f=B();s.forEach(t=>{t.type!==C.FormCompEnum.Divider&&Reflect.has(t,"field")&&t.field&&!c.isNullOrUndefined(t.defaultValue)&&(!(t.field in f)||c.isNullOrUndefined(f[t.field])||c.isEmpty(f[t.field]))&&(u[t.field]=t.defaultValue)}),c.isEmptyObject(u)||T(u,r)}function B(e=!1){if(!i.unref(d))return{};const r=V(i.toRaw(i.unref(o)));if(e)return r;const s=i.unref(l).filter(h=>I(h,i.unref(o))).map(h=>h.field).filter(Boolean),u={};s.forEach(h=>{u[h]=h in r?r[h]??null:null});const f=i.unref(l),t={};s.forEach(h=>{const m=f.find(q=>q.field===h);let w=u[h];w!=null&&m?.formatter&&c.isFunction(m.formatter)&&(w=m.formatter(w,h,u,m)),t[h]=w??null});const{formatter:a}=i.unref(y);let D=a&&c.isFunction(a)?a(t):t;return Object.keys(D).forEach(h=>{D[h]===void 0&&(D[h]=null)}),D}function Q(e,n,r){const u=i.unref(l).find(f=>f.field===e);return n&&u?.formatter&&c.isFunction(u.formatter)?u.formatter(n,e,r,u):n}function W(e){if(!i.unref(d))return{};if(!(e in i.unref(o)))return{};const r=V(i.toRaw(i.unref(o))),s=r[e];return Q(e,s,r)}function X(e){return i.unref(l).some(n=>n.field===e?$.isDatePicker(n.type):!1)}async function _(e){return e||(e=i.unref(l).filter(r=>I(r,i.unref(o))).map(r=>r.field).filter(Boolean)),i.unref(d)?.validateField(e)}async function N(e){return e||(e=i.unref(l).filter(r=>I(r,i.unref(o))).map(r=>r.field).filter(Boolean)),await i.unref(d)?.validate(e,()=>{})}async function j(e){await i.unref(d)?.clearValidate(e)}async function Y(e,n){await j(e),await x([{field:e,itemProps:{error:n}}])}async function Z(e,n){await i.unref(d)?.scrollToField(e,n)}async function L(e){const{autoCleanErrorMessage:n,watchDataIsChange:r}=i.unref(y);e&&e.preventDefault(),n&&await j();const{submitFunc:s,beforeSubmitFunc:u}=i.unref(y);if(u&&c.isFunction(u)&&await u(),s&&c.isFunction(s)){await s();return}if(i.unref(d))try{if(!await N())return;const a=B();if(r){const D=E.isEqual(S.value,a),h=c.findDifferentValuesForObj(S.value,a);F("submit",a,!D,h)}else F("submit",a)}catch(t){if(console.log(t),t?.outOfDate===!1&&t?.errorFields)return;throw new Error(t.message)}}return{handleSubmit:L,clearValidate:j,validate:N,validateField:_,getFieldsValue:B,updateSchema:x,resetSchema:J,appendSchemaByField:H,removeSchemaByField:z,resetFields:P,setFieldsValue:T,scrollToField:Z,getFieldValue:W,setFormItemError:Y}}exports.useFormEvents=ee;
|
|
@@ -31,7 +31,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
31
31
|
type: import("vue").PropType<boolean | "strict">;
|
|
32
32
|
};
|
|
33
33
|
afterFetch: {
|
|
34
|
-
type: import("vue").PropType<(
|
|
34
|
+
type: import("vue").PropType<(data: import("../types").Recordable[]) => import("../types").Recordable[] | Promise<import("../types").Recordable[]>>;
|
|
35
35
|
};
|
|
36
36
|
transformParams: {
|
|
37
37
|
type: import("vue").PropType<boolean>;
|
|
@@ -504,7 +504,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
504
504
|
setProps: (props: Partial<import("./types").TableProps>) => void;
|
|
505
505
|
reload: (opt?: any) => Promise<import("../types").Recordable[] | undefined>;
|
|
506
506
|
deleteTableDataRecord: (row: import("../types").Recordable | import("../types").Recordable[], rowKey?: string | number | string[] | number[]) => void;
|
|
507
|
-
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number) => import("../types").Recordable[] | undefined
|
|
507
|
+
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number, parentRowId?: string | number) => Promise<import("../types").Recordable[] | undefined>;
|
|
508
508
|
updateTableDataRecord: (rowKey: string | number, record: import("../types").Recordable) => import("../types").Recordable | undefined;
|
|
509
509
|
updateTableData: (index: number, key: string, value: any) => Promise<import("../types").Recordable>;
|
|
510
510
|
setTableData: <T = import("../types").Recordable>(values: T[]) => void;
|
|
@@ -513,6 +513,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
513
513
|
setColumns: (columnList: any) => void;
|
|
514
514
|
getRawDataSource: () => import("../types").Recordable[];
|
|
515
515
|
tableSearch: (value: any) => void;
|
|
516
|
+
expandTreeLevel: (level?: number) => void;
|
|
516
517
|
table: import("vue").Ref<import("./types").TableInstance | undefined, import("./types").TableInstance | undefined>;
|
|
517
518
|
formRef: import("vue").Ref<any, any>;
|
|
518
519
|
pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -952,7 +953,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
952
953
|
type: import("vue").PropType<boolean | "strict">;
|
|
953
954
|
};
|
|
954
955
|
afterFetch: {
|
|
955
|
-
type: import("vue").PropType<(
|
|
956
|
+
type: import("vue").PropType<(data: import("../types").Recordable[]) => import("../types").Recordable[] | Promise<import("../types").Recordable[]>>;
|
|
956
957
|
};
|
|
957
958
|
transformParams: {
|
|
958
959
|
type: import("vue").PropType<boolean>;
|
|
@@ -1425,7 +1426,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
1425
1426
|
setProps: (props: Partial<import("./types").TableProps>) => void;
|
|
1426
1427
|
reload: (opt?: any) => Promise<import("../types").Recordable[] | undefined>;
|
|
1427
1428
|
deleteTableDataRecord: (row: import("../types").Recordable | import("../types").Recordable[], rowKey?: string | number | string[] | number[]) => void;
|
|
1428
|
-
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number) => import("../types").Recordable[] | undefined
|
|
1429
|
+
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number, parentRowId?: string | number) => Promise<import("../types").Recordable[] | undefined>;
|
|
1429
1430
|
updateTableDataRecord: (rowKey: string | number, record: import("../types").Recordable) => import("../types").Recordable | undefined;
|
|
1430
1431
|
updateTableData: (index: number, key: string, value: any) => Promise<import("../types").Recordable>;
|
|
1431
1432
|
setTableData: <T = import("../types").Recordable>(values: T[]) => void;
|
|
@@ -1434,6 +1435,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
1434
1435
|
setColumns: (columnList: any) => void;
|
|
1435
1436
|
getRawDataSource: () => import("../types").Recordable[];
|
|
1436
1437
|
tableSearch: (value: any) => void;
|
|
1438
|
+
expandTreeLevel: (level?: number) => void;
|
|
1437
1439
|
table: import("vue").Ref<import("./types").TableInstance | undefined, import("./types").TableInstance | undefined>;
|
|
1438
1440
|
formRef: import("vue").Ref<any, any>;
|
|
1439
1441
|
pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -1757,7 +1759,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
1757
1759
|
type: import("vue").PropType<boolean | "strict">;
|
|
1758
1760
|
};
|
|
1759
1761
|
afterFetch: {
|
|
1760
|
-
type: import("vue").PropType<(
|
|
1762
|
+
type: import("vue").PropType<(data: import("../types").Recordable[]) => import("../types").Recordable[] | Promise<import("../types").Recordable[]>>;
|
|
1761
1763
|
};
|
|
1762
1764
|
transformParams: {
|
|
1763
1765
|
type: import("vue").PropType<boolean>;
|
|
@@ -2230,7 +2232,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
2230
2232
|
setProps: (props: Partial<import("./types").TableProps>) => void;
|
|
2231
2233
|
reload: (opt?: any) => Promise<import("../types").Recordable[] | undefined>;
|
|
2232
2234
|
deleteTableDataRecord: (row: import("../types").Recordable | import("../types").Recordable[], rowKey?: string | number | string[] | number[]) => void;
|
|
2233
|
-
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number) => import("../types").Recordable[] | undefined
|
|
2235
|
+
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number, parentRowId?: string | number) => Promise<import("../types").Recordable[] | undefined>;
|
|
2234
2236
|
updateTableDataRecord: (rowKey: string | number, record: import("../types").Recordable) => import("../types").Recordable | undefined;
|
|
2235
2237
|
updateTableData: (index: number, key: string, value: any) => Promise<import("../types").Recordable>;
|
|
2236
2238
|
setTableData: <T = import("../types").Recordable>(values: T[]) => void;
|
|
@@ -2239,6 +2241,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
|
|
|
2239
2241
|
setColumns: (columnList: any) => void;
|
|
2240
2242
|
getRawDataSource: () => import("../types").Recordable[];
|
|
2241
2243
|
tableSearch: (value: any) => void;
|
|
2244
|
+
expandTreeLevel: (level?: number) => void;
|
|
2242
2245
|
table: import("vue").Ref<import("./types").TableInstance | undefined, import("./types").TableInstance | undefined>;
|
|
2243
2246
|
formRef: import("vue").Ref<any, any>;
|
|
2244
2247
|
pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-clamp-toggle.css");require("vft/theme-style/vft-icon.css");require("vft/theme-style/vft-empty.css");require("vft/theme-style/vft-pagination.css");require("vft/theme-style/vft-autocomplete.css");require("vft/theme-style/vft-input.css");require("vft/theme-style/vft-scrollbar.css");require("vft/theme-style/vft-popper.css");require("vft/theme-style/vft-slider.css");require("vft/theme-style/vft-input-number.css");require("vft/theme-style/vft-tooltip.css");require("vft/theme-style/vft-tag.css");require("vft/theme-style/vft-checkbox.css");require("vft/theme-style/vft-radio.css");require("vft/theme-style/vft-cascader-panel.css");require("vft/theme-style/vft-cascader.css");require("vft/theme-style/vft-color-picker.css");require("vft/theme-style/vft-button.css");require("vft/theme-style/vft-progress.css");require("vft/theme-style/vft-upload.css");require("vft/theme-style/vft-input-tag.css");require("vft/theme-style/vft-check-tag.css");require("vft/theme-style/vft-checkbox-button.css");require("vft/theme-style/vft-checkbox-group.css");require("vft/theme-style/vft-radio-group.css");require("vft/theme-style/vft-radio-button.css");require("vft/theme-style/vft-date-picker.css");require("vft/theme-style/vft-time-picker.css");require("vft/theme-style/vft-virtual-list.css");require("vft/theme-style/vft-select.css");require("vft/theme-style/vft-switch.css");require("vft/theme-style/vft-divider.css");require("vft/theme-style/vft-row.css");require("vft/theme-style/vft-col.css");require("vft/theme-style/vft-form.css");require("vft/theme-style/vft-form-item.css");require("vft/theme-style/vft-time-select.css");require("vft/theme-style/vft-super-form.css");require("vft/theme-style/vft-skeleton-item.css");require("vft/theme-style/vft-skeleton.css");require("vft/theme-style/vft-table.css");
|
|
1
|
+
"use strict";require("vft/theme-style/base.css");require("vft/theme-style/vft-clamp-toggle.css");require("vft/theme-style/vft-icon.css");require("vft/theme-style/vft-empty.css");require("vft/theme-style/vft-pagination.css");require("vft/theme-style/vft-autocomplete.css");require("vft/theme-style/vft-input.css");require("vft/theme-style/vft-scrollbar.css");require("vft/theme-style/vft-popper.css");require("vft/theme-style/vft-slider.css");require("vft/theme-style/vft-input-number.css");require("vft/theme-style/vft-tooltip.css");require("vft/theme-style/vft-tag.css");require("vft/theme-style/vft-checkbox.css");require("vft/theme-style/vft-radio.css");require("vft/theme-style/vft-cascader-panel.css");require("vft/theme-style/vft-cascader.css");require("vft/theme-style/vft-color-picker.css");require("vft/theme-style/vft-button.css");require("vft/theme-style/vft-progress.css");require("vft/theme-style/vft-upload.css");require("vft/theme-style/vft-input-tag.css");require("vft/theme-style/vft-check-tag.css");require("vft/theme-style/vft-checkbox-button.css");require("vft/theme-style/vft-checkbox-group.css");require("vft/theme-style/vft-radio-group.css");require("vft/theme-style/vft-radio-button.css");require("vft/theme-style/vft-date-picker.css");require("vft/theme-style/vft-time-picker.css");require("vft/theme-style/vft-virtual-list.css");require("vft/theme-style/vft-select.css");require("vft/theme-style/vft-switch.css");require("vft/theme-style/vft-divider.css");require("vft/theme-style/vft-row.css");require("vft/theme-style/vft-col.css");require("vft/theme-style/vft-form.css");require("vft/theme-style/vft-form-item.css");require("vft/theme-style/vft-time-select.css");require("vft/theme-style/vft-tree.css");require("vft/theme-style/vft-tree-select.css");require("vft/theme-style/vft-super-form.css");require("vft/theme-style/vft-skeleton-item.css");require("vft/theme-style/vft-skeleton.css");require("vft/theme-style/vft-table.css");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require("vft/theme-style/src/base.scss");require("vft/theme-style/src/clamp-toggle.scss");require("vft/theme-style/src/icon.scss");require("vft/theme-style/src/empty.scss");require("vft/theme-style/src/pagination.scss");require("vft/theme-style/src/skeleton-item.scss");require("vft/theme-style/src/skeleton.scss");require("vft/theme-style/src/autocomplete.scss");require("vft/theme-style/src/input.scss");require("vft/theme-style/src/scrollbar.scss");require("vft/theme-style/src/popper.scss");require("vft/theme-style/src/tag.scss");require("vft/theme-style/src/checkbox.scss");require("vft/theme-style/src/radio.scss");require("vft/theme-style/src/cascader-panel.scss");require("vft/theme-style/src/cascader.scss");require("vft/theme-style/src/slider.scss");require("vft/theme-style/src/input-number.scss");require("vft/theme-style/src/tooltip.scss");require("vft/theme-style/src/color-picker.scss");require("vft/theme-style/src/button.scss");require("vft/theme-style/src/progress.scss");require("vft/theme-style/src/upload.scss");require("vft/theme-style/src/input-tag.scss");require("vft/theme-style/src/check-tag.scss");require("vft/theme-style/src/checkbox-button.scss");require("vft/theme-style/src/checkbox-group.scss");require("vft/theme-style/src/radio-group.scss");require("vft/theme-style/src/radio-button.scss");require("vft/theme-style/src/date-picker.scss");require("vft/theme-style/src/time-picker.scss");require("vft/theme-style/src/virtual-list.scss");require("vft/theme-style/src/select.scss");require("vft/theme-style/src/popover.scss");require("vft/theme-style/src/search.scss");require("vft/theme-style/src/switch.scss");require("vft/theme-style/src/divider.scss");require("vft/theme-style/src/row.scss");require("vft/theme-style/src/col.scss");require("vft/theme-style/src/form.scss");require("vft/theme-style/src/form-item.scss");require("vft/theme-style/src/time-select.scss");require("vft/theme-style/src/super-form.scss");require("vft/theme-style/src/table.scss");
|
|
1
|
+
"use strict";require("vft/theme-style/src/base.scss");require("vft/theme-style/src/clamp-toggle.scss");require("vft/theme-style/src/icon.scss");require("vft/theme-style/src/empty.scss");require("vft/theme-style/src/pagination.scss");require("vft/theme-style/src/skeleton-item.scss");require("vft/theme-style/src/skeleton.scss");require("vft/theme-style/src/autocomplete.scss");require("vft/theme-style/src/input.scss");require("vft/theme-style/src/scrollbar.scss");require("vft/theme-style/src/popper.scss");require("vft/theme-style/src/tag.scss");require("vft/theme-style/src/checkbox.scss");require("vft/theme-style/src/radio.scss");require("vft/theme-style/src/cascader-panel.scss");require("vft/theme-style/src/cascader.scss");require("vft/theme-style/src/slider.scss");require("vft/theme-style/src/input-number.scss");require("vft/theme-style/src/tooltip.scss");require("vft/theme-style/src/color-picker.scss");require("vft/theme-style/src/button.scss");require("vft/theme-style/src/progress.scss");require("vft/theme-style/src/upload.scss");require("vft/theme-style/src/input-tag.scss");require("vft/theme-style/src/check-tag.scss");require("vft/theme-style/src/checkbox-button.scss");require("vft/theme-style/src/checkbox-group.scss");require("vft/theme-style/src/radio-group.scss");require("vft/theme-style/src/radio-button.scss");require("vft/theme-style/src/date-picker.scss");require("vft/theme-style/src/time-picker.scss");require("vft/theme-style/src/virtual-list.scss");require("vft/theme-style/src/select.scss");require("vft/theme-style/src/popover.scss");require("vft/theme-style/src/search.scss");require("vft/theme-style/src/switch.scss");require("vft/theme-style/src/divider.scss");require("vft/theme-style/src/row.scss");require("vft/theme-style/src/col.scss");require("vft/theme-style/src/form.scss");require("vft/theme-style/src/form-item.scss");require("vft/theme-style/src/time-select.scss");require("vft/theme-style/src/tree.scss");require("vft/theme-style/src/tree-select.scss");require("vft/theme-style/src/super-form.scss");require("vft/theme-style/src/table.scss");
|
|
@@ -15,7 +15,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
15
15
|
setProps: typeof setProps;
|
|
16
16
|
reload: (opt?: any) => Promise<import("../types").Recordable[] | undefined>;
|
|
17
17
|
deleteTableDataRecord: (row: import("../types").Recordable | import("../types").Recordable[], rowKey?: string | number | string[] | number[]) => void;
|
|
18
|
-
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number) => import("../types").Recordable[] | undefined
|
|
18
|
+
insertTableDataRecord: (record: import("../types").Recordable | import("../types").Recordable[], index?: number, parentRowId?: string | number) => Promise<import("../types").Recordable[] | undefined>;
|
|
19
19
|
updateTableDataRecord: (rowKey: string | number, record: import("../types").Recordable) => import("../types").Recordable | undefined;
|
|
20
20
|
updateTableData: (index: number, key: string, value: any) => Promise<import("../types").Recordable>;
|
|
21
21
|
setTableData: <T = import("../types").Recordable>(values: T[]) => void;
|
|
@@ -24,6 +24,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
24
24
|
setColumns: (columnList: any) => void;
|
|
25
25
|
getRawDataSource: () => import("../types").Recordable[];
|
|
26
26
|
tableSearch: (value: any) => void;
|
|
27
|
+
expandTreeLevel: (level?: number) => void;
|
|
27
28
|
table: import("vue").Ref<TableInstance | undefined, TableInstance | undefined>;
|
|
28
29
|
formRef: import("vue").Ref<any, any>;
|
|
29
30
|
pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Q=require("../client-only/index.cjs"),Z=require("../empty/index.cjs"),ee=require("../loading/directive.cjs"),c=require("@vft/utils"),d=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const re=require("../super-form/use/use-form.cjs"),te=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../icon/index.cjs");const ae=require("../pagination/index.cjs"),oe=require("../skeleton/index.cjs"),le=require("../super-form/index.cjs"),ne=require("vxe-table"),ce=require("xe-utils"),D=require("./constants.cjs"),ie=require("./use/use-columns.cjs"),se=require("./use/use-data-source.cjs"),ue=require("./use/use-loading.cjs"),de=require("./use/use-pagination.cjs"),fe=require("../empty/constants.cjs"),ge=e.defineComponent({name:"vft-table"}),me=e.defineComponent({...ge,props:{sticky:{type:[Boolean,Object]},api:{},pageSize:{default:D.PageSize},total:{},rowkey:{default:"_X_ROW_KEY"},immediate:{type:Boolean,default:!0},fetchSetting:{},watchApiFetch:{type:Boolean,default:!1},beforeFetch:{},delEmptyParams:{type:[Boolean,String],default:"strict"},afterFetch:{},transformParams:{type:Boolean,default:!0},extraParams:{},extraSysHeight:{default:200},pageHeight:{default:40},showPager:{type:Boolean,default:!0},addMaxHeight:{type:Boolean,default:!0},pagination:{},formOptions:{},onChange:{},emptyCfg:{default:()=>({type:fe.EmptyEnum.NoData})},loadingCfg:{default:()=>({customClass:"vft-card-loading",text:e.createVNode("div",null,[e.createVNode("span",null,[e.createTextVNode("加载中")]),e.createVNode("span",{class:"dot"},null)])})},layouts:{},columns:{},pagerConfig:{},proxyConfig:{},toolbarConfig:{default:()=>({enabled:!1,slots:{buttons:"toolbarButtons"}})},formConfig:{},zoomConfig:{},size:{},id:{},data:{},height:{},minHeight:{},maxHeight:{},stripe:{type:Boolean,default:!0},padding:{type:Boolean},round:{type:Boolean},border:{type:[Boolean,String],default:"full"},loading:{type:Boolean,default:!1},align:{default:"center"},headerAlign:{default:"center"},footerAlign:{},showHeader:{type:Boolean,default:!0},showFooter:{type:Boolean},footerData:{},footerMethod:{},rowClassName:{},cellClassName:{},headerRowClassName:{},headerCellClassName:{},footerRowClassName:{},footerCellClassName:{},cellStyle:{},rowStyle:{},headerCellStyle:{},headerRowStyle:{},footerRowStyle:{},footerCellStyle:{},mergeCells:{},mergeFooterItems:{},spanMethod:{},footerSpanMethod:{},showOverflow:{type:[Boolean,String,null],default:"tooltip"},showHeaderOverflow:{type:[Boolean,String,null]},showFooterOverflow:{type:[Boolean,String,null]},keepSource:{type:Boolean},autoResize:{type:Boolean,default:!1},syncResize:{type:[Boolean,String,Number]},columnConfig:{default:()=>({drag:!1,resizable:!0,minWidth:"15%"})},rowConfig:{default:()=>({isHover:!0,isCurrent:!0,useKey:!0})},cellConfig:{},headerCellConfig:{},footerCellConfig:{},aggregateConfig:{},rowGroupConfig:{},currentRowConfig:{},currentColumnConfig:{},dragConfig:{},rowDragConfig:{},columnDragConfig:{},customConfig:{},resizeConfig:{},resizableConfig:{},seqConfig:{},sortConfig:{},filterConfig:{},radioConfig:{},checkboxConfig:{},tooltipConfig:{},exportConfig:{},importConfig:{},printConfig:{},expandConfig:{},treeConfig:{},menuConfig:{},mouseConfig:{},areaConfig:{},fnrConfig:{},keyboardConfig:{},clipConfig:{},editConfig:{},validConfig:{},editRules:{},emptyText:{},emptyRender:{},loadingConfig:{},scrollX:{},scrollY:{},virtualXConfig:{default:()=>({enabled:!1})},virtualYConfig:{default:()=>({enabled:!1})},scrollbarConfig:{},params:{},resizable:{type:Boolean},highlightCurrentRow:{type:Boolean},highlightHoverRow:{type:Boolean},highlightCurrentColumn:{type:Boolean},highlightHoverColumn:{type:Boolean},highlightCell:{type:Boolean},columnKey:{type:Boolean},rowKey:{type:Boolean},rowId:{},fit:{type:Boolean,default:!0},animat:{type:Boolean},delayHover:{}},emits:["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"],setup(pe,{expose:H,emit:N}){const n=N,i=te.useNamespace("table"),O=e.useAttrs(),C=e.ref(),b=e.ref(),T=e.ref([]),f=e.ref(),g=e.ref(),V=e.getCurrentInstance(),t=e.computed(()=>c.deepMerge(V.props,e.unref(f))),{getLoading:$,setLoading:A}=ue.useLoading(t),{getPaginationInfo:s,setPagination:m,getCurrentPage:E}=de.usePagination(t),{getViewColumns:_,setColumns:M}=ie.useColumns(t);e.watch(()=>E(),r=>{e.nextTick(()=>{y({seqConfig:{startIndex:(r-1)*(s.value?.pageSize||e.unref(t).pageSize||D.PageSize)}})})},{immediate:!0});function y(r){f.value={...e.unref(f),...r}}const{getDataSourceRef:w,handleTableChange:L,reload:p,deleteTableDataRecord:I,insertTableDataRecord:j,updateTableData:G,updateTableDataRecord:K,setTableData:v,getDataSource:X,getRawDataSource:x,tableSearch:k}=se.useDataSource(t,{tableData:T,setLoading:A,getPaginationInfo:s,setPagination:m},n);function S(r){r?.pageSize&&m({currentPage:1}),L(r),n("change",r);const{onChange:a}=e.unref(t);a&&c.isFunction(a)&&a(r)}const B={};["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"].forEach(r=>{const a=ce.camelCase(`on-${r}`);B[a]=(...o)=>n(r,...o)});const l=e.computed(()=>{const r=e.unref(w),a={...O,...e.unref(t),columns:e.toRaw(e.unref(_)),loading:e.unref($),data:r,...B};if(c.isClient){(e.unref(t)?.addMaxHeight||e.unref(t)?.maxHeight)&&(a.maxHeight=e.unref(t)?.maxHeight?e.unref(t)?.maxHeight:`${window.innerHeight-e.unref(t)?.extraSysHeight-(t.value?.showPager?t.value?.pageHeight||40:0)}px`);const o=e.unref(t)?.minHeight;a.minHeight=o||(o!==0&&e.unref(t)?.toolbarConfig?.custom?300:void 0)}return e.unref(t)?.toolbarConfig?.refresh&&(a.proxyConfig=e.unref(t)?.proxyConfig||{response:{result:e.unref(t)?.fetchSetting?.listField,total:e.unref(t)?.fetchSetting?.totalField},autoLoad:!1,ajax:{query:async()=>await p()}}),a}),P={setPagination:m,emit:n,setProps:y,reload:p,deleteTableDataRecord:I,insertTableDataRecord:j,updateTableDataRecord:K,updateTableData:G,setTableData:v,getDataSource:X,getDataSourceRef:w,setColumns:M,getRawDataSource:x,tableSearch:k};n("register",P);const Y={field:"_filterTableData",label:"",type:d.FormCompEnum.Search,itemProps:{class:"search-all-form-item"},componentProps:()=>({onChange:r=>{z({_filterTableData:r})}})},R=c.deepMerge({schemas:[l.value?.formOptions?.addSearchAllSchema?Y:{}],rowProps:{justify:"start"},labelPosition:"left",quickColSpan:5,watchDataIsChange:!0,showResetButton:!0,showSubmitButton:!0,size:"small",submitButtonOptions:{btnText:"搜索"},actionInline:!0},c.omit(l.value?.formOptions,["showActionForm","addSearchAllSchema"]),"replace"),q=r=>(...a)=>{r&&c.isFunction(r)&&r(...a),e.nextTick(()=>{p()})},[W]=re.useForm({...R,schemas:(e.unref(R)?.schemas||[]).map(r=>{if(!e.unref(l)?.formOptions?.autoReloadOnClear)return r;if(!r.type||r.type===d.FormCompEnum.Input||r.type===d.FormCompEnum.Search||r.type===d.FormCompEnum.Textarea){const{componentProps:u}=r;if(c.isFunction(u))return{...r,componentProps:async h=>{const F=await u(h),J=F?.onClear;return{...F,onClear:q(J)}}};{const h=u?.onClear;return{...r,componentProps:{...u,onClear:q(h)}}}}return r})}),z=r=>{Reflect.has(r,"_filterTableData")&&k(r._filterTableData),n("form-submit",r)},U=()=>{v(x()),n("form-reset")};return H({table:C,formRef:g,pageRef:b,...P}),(r,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(i).b(),{[e.unref(i).is("form-exceed-one-rows")]:g.value?.willExceedOneRow}])},[e.createVNode(e.unref(Q.VftClientOnly),null,{fallback:e.withCtx(()=>[e.createVNode(e.unref(oe.VftSkeleton))]),default:e.withCtx(()=>[e.createVNode(e.unref(ne.VxeGrid),e.mergeProps({ref_key:"xGrid",ref:C},l.value),{toolbarButtons:e.withCtx(()=>[e.renderSlot(r.$slots,"toolbar-left"),l.value?.formOptions?.showActionForm?(e.openBlock(),e.createBlock(e.unref(le.VftSuperForm),{key:0,ref_key:"formRef",ref:g,onRegister:e.unref(W),onSubmit:z,onReset:U},e.createSlots({_:2},[r.$slots.resetBefore?{name:"resetBefore",fn:e.withCtx(o=>[e.renderSlot(r.$slots,"resetBefore",e.normalizeProps(e.guardReactiveProps(o)))]),key:"0"}:void 0,r.$slots.submitBefore?{name:"submitBefore",fn:e.withCtx(o=>[e.renderSlot(r.$slots,"submitBefore",e.normalizeProps(e.guardReactiveProps(o)))]),key:"1"}:void 0,r.$slots.submitAfter?{name:"submitAfter",fn:e.withCtx(o=>[e.renderSlot(r.$slots,"submitAfter",e.normalizeProps(e.guardReactiveProps(o)))]),key:"2"}:void 0]),1032,["onRegister"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"toolbar-right")]),empty:e.withCtx(()=>[e.renderSlot(r.$slots,"empty",{},()=>[e.createVNode(e.unref(Z.VftEmpty),e.normalizeProps(e.guardReactiveProps(l.value.emptyCfg)),null,16)])]),loading:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,null,512),[[e.vShow,l.value.loading],[e.unref(ee.vLoading),l.value.loadingCfg]])]),_:3},16),l.value.showPager?(e.openBlock(),e.createBlock(e.unref(ae.VftPagination),e.mergeProps({key:0,ref_key:"pageRef",ref:b},e.unref(s),{class:[e.unref(i).e("pager"),e.unref(i).m(`pager-${e.unref(s)?.pagePlacement}`)],onCurrentChange:a[0]||(a[0]=o=>S({currentPage:o})),onSizeChange:a[1]||(a[1]=o=>S({pageSize:o}))}),null,16,["class"])):e.createCommentVNode("",!0)]),_:3})],2))}});exports.default=me;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Z=require("../client-only/index.cjs"),ee=require("../empty/index.cjs"),re=require("../loading/directive.cjs"),c=require("@vft/utils"),f=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const te=require("../super-form/use/use-form.cjs"),ae=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../icon/index.cjs");const oe=require("../pagination/index.cjs"),le=require("../skeleton/index.cjs"),ne=require("../super-form/index.cjs"),ce=require("vxe-table"),ie=require("xe-utils"),D=require("./constants.cjs"),se=require("./use/use-columns.cjs"),ue=require("./use/use-data-source.cjs"),de=require("./use/use-loading.cjs"),fe=require("./use/use-pagination.cjs"),ge=require("../empty/constants.cjs"),me=e.defineComponent({name:"vft-table"}),pe=e.defineComponent({...me,props:{sticky:{type:[Boolean,Object]},api:{},pageSize:{default:D.PageSize},total:{},rowkey:{default:"_X_ROW_KEY"},immediate:{type:Boolean,default:!0},fetchSetting:{},watchApiFetch:{type:Boolean,default:!1},beforeFetch:{},delEmptyParams:{type:[Boolean,String],default:"strict"},afterFetch:{},transformParams:{type:Boolean,default:!0},extraParams:{},extraSysHeight:{default:200},pageHeight:{default:40},showPager:{type:Boolean,default:!0},addMaxHeight:{type:Boolean,default:!0},pagination:{},formOptions:{},onChange:{},emptyCfg:{default:()=>({type:ge.EmptyEnum.NoData})},loadingCfg:{default:()=>({customClass:"vft-card-loading",text:e.createVNode("div",null,[e.createVNode("span",null,[e.createTextVNode("加载中")]),e.createVNode("span",{class:"dot"},null)])})},layouts:{},columns:{},pagerConfig:{},proxyConfig:{},toolbarConfig:{default:()=>({enabled:!1,slots:{buttons:"toolbarButtons"}})},formConfig:{},zoomConfig:{},size:{},id:{},data:{},height:{},minHeight:{},maxHeight:{},stripe:{type:Boolean,default:!0},padding:{type:Boolean},round:{type:Boolean},border:{type:[Boolean,String],default:"full"},loading:{type:Boolean,default:!1},align:{default:"center"},headerAlign:{default:"center"},footerAlign:{},showHeader:{type:Boolean,default:!0},showFooter:{type:Boolean},footerData:{},footerMethod:{},rowClassName:{},cellClassName:{},headerRowClassName:{},headerCellClassName:{},footerRowClassName:{},footerCellClassName:{},cellStyle:{},rowStyle:{},headerCellStyle:{},headerRowStyle:{},footerRowStyle:{},footerCellStyle:{},mergeCells:{},mergeFooterItems:{},spanMethod:{},footerSpanMethod:{},showOverflow:{type:[Boolean,String,null],default:"tooltip"},showHeaderOverflow:{type:[Boolean,String,null]},showFooterOverflow:{type:[Boolean,String,null]},keepSource:{type:Boolean},autoResize:{type:Boolean,default:!1},syncResize:{type:[Boolean,String,Number]},columnConfig:{default:()=>({drag:!1,resizable:!0,minWidth:"15%"})},rowConfig:{default:()=>({isHover:!0,isCurrent:!0,useKey:!0})},cellConfig:{},headerCellConfig:{},footerCellConfig:{},aggregateConfig:{},rowGroupConfig:{},currentRowConfig:{},currentColumnConfig:{},dragConfig:{},rowDragConfig:{},columnDragConfig:{},customConfig:{},resizeConfig:{},resizableConfig:{},seqConfig:{},sortConfig:{},filterConfig:{},radioConfig:{},checkboxConfig:{},tooltipConfig:{},exportConfig:{},importConfig:{},printConfig:{},expandConfig:{},treeConfig:{},menuConfig:{},mouseConfig:{},areaConfig:{},fnrConfig:{},keyboardConfig:{},clipConfig:{},editConfig:{},validConfig:{},editRules:{},emptyText:{},emptyRender:{},loadingConfig:{},scrollX:{},scrollY:{},virtualXConfig:{default:()=>({enabled:!1})},virtualYConfig:{default:()=>({enabled:!1})},scrollbarConfig:{},params:{},resizable:{type:Boolean},highlightCurrentRow:{type:Boolean},highlightHoverRow:{type:Boolean},highlightCurrentColumn:{type:Boolean},highlightHoverColumn:{type:Boolean},highlightCell:{type:Boolean},columnKey:{type:Boolean},rowKey:{type:Boolean},rowId:{},fit:{type:Boolean,default:!0},animat:{type:Boolean},delayHover:{}},emits:["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"],setup(he,{expose:H,emit:T}){const n=T,i=ae.useNamespace("table"),N=e.useAttrs(),s=e.ref(),b=e.ref(),O=e.ref([]),g=e.ref(),m=e.ref(),V=e.getCurrentInstance(),t=e.computed(()=>c.deepMerge(V.props,e.unref(g))),{getLoading:$,setLoading:A}=de.useLoading(t),{getPaginationInfo:u,setPagination:p,getCurrentPage:E}=fe.usePagination(t),{getViewColumns:_,setColumns:M}=se.useColumns(t);e.watch(()=>E(),r=>{e.nextTick(()=>{y({seqConfig:{startIndex:(r-1)*(u.value?.pageSize||e.unref(t).pageSize||D.PageSize)}})})},{immediate:!0});function y(r){g.value={...e.unref(g),...r}}const{getDataSourceRef:w,handleTableChange:G,reload:h,deleteTableDataRecord:L,insertTableDataRecord:I,updateTableData:j,updateTableDataRecord:K,setTableData:v,getDataSource:X,getRawDataSource:x,tableSearch:k,expandTreeLevel:Y}=ue.useDataSource(t,{tableData:O,setLoading:A,getPaginationInfo:u,setPagination:p,getGridRef:()=>s.value},n);function S(r){r?.pageSize&&p({currentPage:1}),G(r),n("change",r);const{onChange:a}=e.unref(t);a&&c.isFunction(a)&&a(r)}const B={};["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"].forEach(r=>{const a=ie.camelCase(`on-${r}`);B[a]=(...o)=>n(r,...o)});const l=e.computed(()=>{const r=e.unref(w),a={...N,...e.unref(t),columns:e.toRaw(e.unref(_)),loading:e.unref($),data:r,...B};if(c.isClient){(e.unref(t)?.addMaxHeight||e.unref(t)?.maxHeight)&&(a.maxHeight=e.unref(t)?.maxHeight?e.unref(t)?.maxHeight:`${window.innerHeight-e.unref(t)?.extraSysHeight-(t.value?.showPager?t.value?.pageHeight||40:0)}px`);const o=e.unref(t)?.minHeight;a.minHeight=o||(o!==0&&e.unref(t)?.toolbarConfig?.custom?300:void 0)}return e.unref(t)?.toolbarConfig?.refresh&&(a.proxyConfig=e.unref(t)?.proxyConfig||{response:{result:e.unref(t)?.fetchSetting?.listField,total:e.unref(t)?.fetchSetting?.totalField},autoLoad:!1,ajax:{query:async()=>await h()}}),a}),R={setPagination:p,emit:n,setProps:y,reload:h,deleteTableDataRecord:L,insertTableDataRecord:I,updateTableDataRecord:K,updateTableData:j,setTableData:v,getDataSource:X,getDataSourceRef:w,setColumns:M,getRawDataSource:x,tableSearch:k,expandTreeLevel:Y};n("register",R);const W={field:"_filterTableData",label:"",type:f.FormCompEnum.Search,itemProps:{class:"search-all-form-item"},componentProps:()=>({onChange:r=>{z({_filterTableData:r})}})},P=c.deepMerge({schemas:[l.value?.formOptions?.addSearchAllSchema?W:{}],rowProps:{justify:"start"},labelPosition:"left",quickColSpan:5,watchDataIsChange:!0,showResetButton:!0,showSubmitButton:!0,size:"small",submitButtonOptions:{btnText:"搜索"},actionInline:!0},c.omit(l.value?.formOptions,["showActionForm","addSearchAllSchema"]),"replace"),q=r=>(...a)=>{r&&c.isFunction(r)&&r(...a),e.nextTick(()=>{h()})},[U]=te.useForm({...P,schemas:(e.unref(P)?.schemas||[]).map(r=>{if(!e.unref(l)?.formOptions?.autoReloadOnClear)return r;if(!r.type||r.type===f.FormCompEnum.Input||r.type===f.FormCompEnum.Search||r.type===f.FormCompEnum.Textarea){const{componentProps:d}=r;if(c.isFunction(d))return{...r,componentProps:async C=>{const F=await d(C),Q=F?.onClear;return{...F,onClear:q(Q)}}};{const C=d?.onClear;return{...r,componentProps:{...d,onClear:q(C)}}}}return r})}),z=r=>{Reflect.has(r,"_filterTableData")&&k(r._filterTableData),n("form-submit",r)},J=()=>{v(x()),n("form-reset")};return setTimeout(()=>{console.log(s.value,"xGridxGrid")},1500),H({table:s,formRef:m,pageRef:b,...R}),(r,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(i).b(),{[e.unref(i).is("form-exceed-one-rows")]:m.value?.willExceedOneRow}])},[e.createVNode(e.unref(Z.VftClientOnly),null,{fallback:e.withCtx(()=>[e.createVNode(e.unref(le.VftSkeleton))]),default:e.withCtx(()=>[e.createVNode(e.unref(ce.VxeGrid),e.mergeProps({ref_key:"xGrid",ref:s},l.value),{toolbarButtons:e.withCtx(()=>[e.renderSlot(r.$slots,"toolbar-left"),l.value?.formOptions?.showActionForm?(e.openBlock(),e.createBlock(e.unref(ne.VftSuperForm),{key:0,ref_key:"formRef",ref:m,onRegister:e.unref(U),onSubmit:z,onReset:J},e.createSlots({_:2},[r.$slots.resetBefore?{name:"resetBefore",fn:e.withCtx(o=>[e.renderSlot(r.$slots,"resetBefore",e.normalizeProps(e.guardReactiveProps(o)))]),key:"0"}:void 0,r.$slots.submitBefore?{name:"submitBefore",fn:e.withCtx(o=>[e.renderSlot(r.$slots,"submitBefore",e.normalizeProps(e.guardReactiveProps(o)))]),key:"1"}:void 0,r.$slots.submitAfter?{name:"submitAfter",fn:e.withCtx(o=>[e.renderSlot(r.$slots,"submitAfter",e.normalizeProps(e.guardReactiveProps(o)))]),key:"2"}:void 0]),1032,["onRegister"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"toolbar-right")]),empty:e.withCtx(()=>[e.renderSlot(r.$slots,"empty",{},()=>[e.createVNode(e.unref(ee.VftEmpty),e.normalizeProps(e.guardReactiveProps(l.value.emptyCfg)),null,16)])]),loading:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,null,512),[[e.vShow,l.value.loading],[e.unref(re.vLoading),l.value.loadingCfg]])]),_:3},16),l.value.showPager?(e.openBlock(),e.createBlock(e.unref(oe.VftPagination),e.mergeProps({key:0,ref_key:"pageRef",ref:b},e.unref(u),{class:[e.unref(i).e("pager"),e.unref(i).m(`pager-${e.unref(u)?.pagePlacement}`)],onCurrentChange:a[0]||(a[0]=o=>S({currentPage:o})),onSizeChange:a[1]||(a[1]=o=>S({pageSize:o}))}),null,16,["class"])):e.createCommentVNode("",!0)]),_:3})],2))}});exports.default=pe;
|
|
@@ -47,7 +47,7 @@ export interface TableProps extends VxeGridProps {
|
|
|
47
47
|
/** 是否删除空参数,true 表示删除空字符串和 null,'strict' 表示删除空字符串、null 和 undefined */
|
|
48
48
|
delEmptyParams?: boolean | 'strict';
|
|
49
49
|
/** 数据获取后的处理函数,可以对响应数据进行转换 */
|
|
50
|
-
afterFetch?: (
|
|
50
|
+
afterFetch?: (data: Recordable[]) => Recordable[] | Promise<Recordable[]>;
|
|
51
51
|
/** 是否转换参数,将分页参数转换为标准格式,默认为 true */
|
|
52
52
|
transformParams?: boolean;
|
|
53
53
|
/** 额外的请求参数,会合并到请求参数中 */
|
|
@@ -109,8 +109,10 @@ export interface TableActionType {
|
|
|
109
109
|
updateTableDataRecord: (rowKey: string | number, record: Recordable) => Recordable | void;
|
|
110
110
|
/** 删除指定的数据记录,支持单个或多个记录 */
|
|
111
111
|
deleteTableDataRecord: (row: Recordable | Recordable[], rowKey?: string | number | string[] | number[]) => void;
|
|
112
|
-
/**
|
|
113
|
-
insertTableDataRecord: (record: Recordable | Recordable[], index?: number) => Recordable[] | void
|
|
112
|
+
/** 插入新的数据记录,可指定插入位置和父节点 */
|
|
113
|
+
insertTableDataRecord: (record: Recordable | Recordable[], index?: number, parentRowId?: string | number) => Promise<Recordable[] | void>;
|
|
114
114
|
/** 根据 rowKey 查找指定的数据记录 */
|
|
115
115
|
findTableDataRecord: (rowKey: string | number) => Recordable | void;
|
|
116
|
+
/** 展开树形表格指定层级 */
|
|
117
|
+
expandTreeLevel: (level?: number) => void;
|
|
116
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../pagination/index.cjs");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../pagination/index.cjs");const c=require("@vft/utils"),O=require("lodash-es"),t=require("vue"),W=require("../constants.cjs");function X(f,{tableData:P,setLoading:j,getPaginationInfo:p,setPagination:m,getGridRef:F},E){const u=t.ref([]),B=t.ref({});t.watchEffect(()=>{P.value=t.unref(u)}),t.watch(()=>t.unref(f).data,()=>{const{data:e,api:r}=t.unref(f);!r&&e&&(u.value=e)},{immediate:!0});function R(e){m(e),y({})}const q=t.computed(()=>{const e=t.unref(u);return!e||e.length===0,t.unref(u)});async function y(e){const{api:r,fetchSetting:i={},beforeFetch:a,afterFetch:s,pagination:d,delEmptyParams:o,transformParams:S,extraParams:h}=t.unref(f);if(!(!r||!c.isFunction(r)))try{j(!0);const{pageField:n,sizeField:g,listField:L,totalField:Q}=Object.assign({},{pageField:"page",sizeField:"pageSize",listField:"items",totalField:"total"},i);let v={},l=e;const{currentPage:x=1,pageSize:z=W.PageSize}=t.unref(p);if(S){if(c.isBoolean(d)&&!d)v={};else{const w=e&&e.page||x;v[n]=d?.pageIsZero?w-1:w,v[g]=z}if(l=O.merge(e,v),a&&c.isFunction(a)){const w=await a(l);l={...l,...w}}o&&c.delObjAttrNotExist(l,c.isString(o)?o==="strict":!1)}l&&!c.isEmptyObject(l)&&!c.isNullOrUndefined(h)?c.isObject(l)&&c.isObject(h)&&(l=Object.assign({},l,h)):c.isNullOrUndefined(h)||(l=h);const T=await r(l),M=Array.isArray(T);let b=M?T:O.get(T,L);const D=M?T.length:O.get(T,Q);if(Number(D)){const w=Math.ceil(D/z);if(x>w)return m({currentPage:w}),await y(e)}return s&&c.isFunction(s)&&(b=await s(b)||b),u.value=b,B.value=b,m({total:D||0}),e&&e.page&&m({currentPage:e.page||1}),E("fetch-success",{items:t.unref(b),total:D}),b}catch(n){console.log(n),E("fetch-error",n),u.value=[],m({total:0})}finally{t.nextTick(()=>{j(!1)})}}function A(){return B.value}async function I(e){return m({currentPage:e?.page||1}),await y(e)}async function _(e,r,i){return u.value[e]&&(u.value[e][r]=i),u.value[e]}function U(e,r){const i=F(),a=i.getRowById(e);if(a)return i.setRow(a,r),a}async function k(e,r=0,i){const a=c.isPlainObject(e)?[e]:e,s=a.length,d=t.unref(f),o=F();if(!!d.treeConfig)if(i!=null&&i!==""){const n=o.getRowById(i);if(n)for(const g of a)await o.insertChild(g,n);else for(const g of a)await o.insert(g)}else for(const n of a)await o.insert(n);else if(r===-1)for(const n of a)await o.insertAt(n,-1);else for(const n of a)await o.insert(n);if(s>0){const{total:n}=t.unref(p);c.isNumber(n)&&m({total:n+s})}return t.unref(u)}function V(e,r){const i=F(),a=e!=null?Array.isArray(e)?e:[e]:r!=null?Array.isArray(r)?r.map(d=>i.getRowById(d)).filter(Boolean):i.getRowById(r)?[i.getRowById(r)]:[]:[];if(!a.length)return;i.remove(a);const{total:s}=t.unref(p);c.isNumber(s)&&m({total:Math.max(0,s-a.length)})}function C(e){u.value=e}function Z(){return q.value}function H(e){const r=String(e).trim().toLowerCase();if(r){const i=A?.()?.filter(a=>{for(const s in a)if(String(a[s]).trim().toLowerCase()?.includes(r))return!0});C(i)}else C(A())}function J(e=2){const r=F();if(!r)return;const a=t.unref(f).treeConfig;if(!a)return;const s=a.childrenField||"children",d=r.getTableData().fullData,o=[],S=(h,n)=>{n>e||h.forEach(g=>{o.push(g),g[s]?.length&&n<e&&S(g[s],n+1)})};S(d,1),r.setTreeExpand(o,!0)}const N=t.ref(!0);return t.onMounted(()=>{t.unref(f).immediate&&y(),N.value=!1}),t.watch(()=>t.unref(f).api,()=>{t.unref(f).watchApiFetch&&!N.value&&t.unref(f).immediate&&y()}),{setTableData:C,updateTableData:_,updateTableDataRecord:U,insertTableDataRecord:k,deleteTableDataRecord:V,reload:I,handleTableChange:R,getDataSourceRef:q,getDataSource:Z,getRawDataSource:A,tableSearch:H,expandTreeLevel:J}}exports.useDataSource=X;
|
|
@@ -2,16 +2,17 @@ import { type PaginationProps } from 'vft/es/components/pagination';
|
|
|
2
2
|
import { type ComputedRef } from 'vue';
|
|
3
3
|
import { type Recordable } from '../../types';
|
|
4
4
|
import type { TableProps } from '../types';
|
|
5
|
-
export declare function useDataSource(propsRef: ComputedRef<TableProps>, { tableData, setLoading, getPaginationInfo, setPagination }: {
|
|
5
|
+
export declare function useDataSource(propsRef: ComputedRef<TableProps>, { tableData, setLoading, getPaginationInfo, setPagination, getGridRef, }: {
|
|
6
6
|
tableData: any;
|
|
7
|
-
setLoading:
|
|
7
|
+
setLoading: (loading: boolean) => void;
|
|
8
8
|
getPaginationInfo: any;
|
|
9
|
-
setPagination: any;
|
|
9
|
+
setPagination: (info: any) => void;
|
|
10
|
+
getGridRef: () => any;
|
|
10
11
|
}, emit: any): {
|
|
11
12
|
setTableData: <T = Recordable>(values: T[]) => void;
|
|
12
13
|
updateTableData: (index: number, key: string, value: any) => Promise<Recordable>;
|
|
13
14
|
updateTableDataRecord: (rowKey: string | number, record: Recordable) => Recordable | undefined;
|
|
14
|
-
insertTableDataRecord: (record: Recordable | Recordable[], index?: number) => Recordable[] | undefined
|
|
15
|
+
insertTableDataRecord: (record: Recordable | Recordable[], index?: number, parentRowId?: string | number) => Promise<Recordable[] | undefined>;
|
|
15
16
|
deleteTableDataRecord: (row: Recordable | Recordable[], rowKey?: string | number | string[] | number[]) => void;
|
|
16
17
|
reload: (opt?: any) => Promise<Recordable[] | undefined>;
|
|
17
18
|
handleTableChange: (pagination: PaginationProps) => void;
|
|
@@ -19,4 +20,5 @@ export declare function useDataSource(propsRef: ComputedRef<TableProps>, { table
|
|
|
19
20
|
getDataSource: <T = Recordable>() => T[];
|
|
20
21
|
getRawDataSource: () => Recordable[];
|
|
21
22
|
tableSearch: (value: any) => void;
|
|
23
|
+
expandTreeLevel: (level?: number) => void;
|
|
22
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@vft/utils"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@vft/utils"),f=require("@vueuse/core"),r=require("vue");function b(n){const o=r.ref(null),u=r.ref(!1),c=r.ref(null);let l;function i(e,a){f.tryOnBeforeUnmount(()=>{o.value=null,u.value=null}),!(r.unref(u)&&e===r.unref(o))&&(o.value=e,c.value=a,n&&e.setProps(s.getDynamicProps(n)),u.value=!0,l?.(),l=r.watch(()=>n,()=>{n&&e.setProps(s.getDynamicProps(n))},{immediate:!0,deep:!0}))}function t(){const e=r.unref(o);return e||console.error("The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!"),e}return[i,{reload:async e=>await t().reload(e),setProps:e=>{t().setProps(e)},getDataSource:()=>t().getDataSource(),getRawDataSource:()=>t().getRawDataSource(),tableSearch:e=>{t().tableSearch(e)},getColumns:()=>{const e=t().getColumns()||[];return r.toRaw(e)},setColumns:e=>{t().setColumns(e)},setTableData:e=>t()?.setTableData(e),setPagination:e=>t().setPagination(e),deleteTableDataRecord:(e,a)=>t().deleteTableDataRecord(e,a),insertTableDataRecord:(e,a,d)=>t().insertTableDataRecord(e,a,d),updateTableDataRecord:(e,a)=>t().updateTableDataRecord(e,a),findTableDataRecord:e=>t().findTableDataRecord(e)}]}exports.useTable=b;
|