cnhis-design-vue 3.1.48-beta.31 → 3.1.48-beta.33

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.
@@ -26,6 +26,10 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
26
26
  type: PropType<UrlConfig>;
27
27
  };
28
28
  onChange: {};
29
+ useLoading: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
29
33
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:value"[], "update:value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
34
  value: {
31
35
  type: PropType<String | null>;
@@ -51,6 +55,10 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
51
55
  type: PropType<UrlConfig>;
52
56
  };
53
57
  onChange: {};
58
+ useLoading: {
59
+ type: BooleanConstructor;
60
+ default: boolean;
61
+ };
54
62
  }>> & {
55
63
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
56
64
  }, {
@@ -59,4 +67,5 @@ export declare const REMOTE_SEARCH: import("vue").DefineComponent<{
59
67
  valueField: string;
60
68
  requestCache: boolean;
61
69
  allowCreate: boolean;
70
+ useLoading: boolean;
62
71
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,computed as a,inject as u,watch as o,createVNode as t}from"vue";import{connect as n,mapProps as r}from"@formily/vue";import{useVModel as i,useDebounceFn as v}from"@vueuse/core";import{isString as s,isArray as m,cloneDeep as p,isEqual as d}from"lodash-es";import{NSelect as f}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as c,InjectionChangeContextCollector as y,InjectionFormItemDepsCollector as C}from"../../constants/index.js";import{createUrlConfigParams as g,formRenderLog as h}from"../../utils/index.js";import{useCommonInjection as j,useSelectOptionProps as F}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as x,assignClearBindVisited as b,createVisitedSetter as w}from"../../utils/schema.js";import{useFormField as K}from"../../hooks/useFormField.js";const S=n(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},allowCreate:Boolean,labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},urlConfig:{type:Object},onChange:{}},emits:["update:value"],setup(e,{slots:n,emit:r}){const x=i(e,"value",r),{field:b,fieldKey:S}=K(),k=l(null),B=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.nameKey)?a:e.labelField)?u:"text"})),V=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.valueKey)?a:e.valueField)?u:"value"})),q=u(c),A=l(""),O=v((async(l="",a="label")=>{if(A.value=l,!e.urlConfig)return k.value=null;try{k.value=await q.addAsync(await g({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===a?V.value:"keyword"]:l}},cache:e.requestCache,field:b.value}))}catch(e){s(e)&&h(e)}})),P=a((()=>m(k.value)?k.value:m(e.options)?e.options:[])),{injectValueValidate:U,injectValueBindKey:D}=j();U(x);const I=D(x);o(x,(e=>{if(e&&!P.value.find((l=>l[V.value]===e)))return O(e,"value")}));u(y).setContext(S.value,(e=>{return{currentOption:p((l=e,P.value.find((e=>e[V.value]===l))))};var l}));const R=u(C);o((()=>e.urlConfig),((e,l)=>{d(e,l)||(k.value=null,e&&(R.setDeps(S.value,e.dependKey||[],(async()=>{k.value=null,x.value=null})),x.value&&O(x.value,"value")))}),{immediate:!0});const{menuProps:z,nodeProps:E}=F(),G=a((()=>P.value.length||!e.allowCreate?P.value:A.value?[{[B.value]:A.value,[V.value]:A.value},...P.value]:P.value));return()=>t(f,{remote:!0,filterable:!0,key:I.value,value:x.value,"onUpdate:value":e=>x.value=e,labelField:B.value,valueField:V.value,"menu-props":z,"node-props":E,onSearch:O,"onUpdate:show":e=>e&&O(),options:G.value,onFocus:w(b)},n)}}),r(x,b));export{S as REMOTE_SEARCH};
1
+ import{defineComponent as e,ref as l,computed as a,inject as u,watch as o,createVNode as n}from"vue";import{connect as t,mapProps as r}from"@formily/vue";import{useVModel as i,useDebounceFn as v}from"@vueuse/core";import{isString as s,isArray as p,cloneDeep as m,isEqual as d}from"lodash-es";import{NSelect as f,NSpin as c,NEmpty as y}from"naive-ui";import"../../../index.js";import{InjectionAsyncQueue as g,InjectionChangeContextCollector as C,InjectionFormItemDepsCollector as h}from"../../constants/index.js";import{createUrlConfigParams as j,formRenderLog as F}from"../../utils/index.js";import{useCommonInjection as x,useSelectOptionProps as b}from"../../hooks/useCommonInjection.js";import{assignUpdateValue as w,assignClearBindVisited as K,createVisitedSetter as S}from"../../utils/schema.js";import{useFormField as k}from"../../hooks/useFormField.js";const B=t(e({name:"FormRemoteSearch",props:{value:{type:String},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},allowCreate:Boolean,labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},urlConfig:{type:Object},onChange:{},useLoading:{type:Boolean,default:!0}},emits:["update:value"],setup(e,{slots:t,emit:r}){const w=i(e,"value",r),{field:K,fieldKey:B}=k(),V=l(null),q=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.nameKey)?a:e.labelField)?u:"text"})),A=a((()=>{var l,a,u;return null!=(u=null!=(a=null==(l=e.urlConfig)?void 0:l.valueKey)?a:e.valueField)?u:"value"})),L=u(g),O=l(""),P=l(!1),U=v((async(l="",a="label")=>{if(O.value=l,!e.urlConfig)return V.value=null;try{P.value=!0,V.value=[],V.value=await L.addAsync(await j({config:{...e.urlConfig,params:{...e.urlConfig.params,["value"===a?A.value:"keyword"]:l}},cache:e.requestCache,field:K.value}))}catch(e){s(e)&&F(e)}finally{P.value=!1}})),D=a((()=>p(V.value)?V.value:p(e.options)?e.options:[])),{injectValueValidate:I,injectValueBindKey:R}=x();I(w);const z=R(w);o(w,(e=>{if(e&&!D.value.find((l=>l[A.value]===e)))return U(e,"value")}));u(C).setContext(B.value,(e=>{return{currentOption:m((l=e,D.value.find((e=>e[A.value]===l))))};var l}));const E=u(h);o((()=>e.urlConfig),((e,l)=>{d(e,l)||(V.value=null,e&&(E.setDeps(B.value,e.dependKey||[],(async()=>{V.value=null,w.value=null})),w.value&&U(w.value,"value")))}),{immediate:!0});const{menuProps:G,nodeProps:H}=b(),J=a((()=>D.value.length||!e.allowCreate?D.value:O.value?[{[q.value]:O.value,[A.value]:O.value},...D.value]:D.value));async function M(e){P.value=e,e&&U()}return()=>n(f,{remote:!0,filterable:!0,key:z.value,value:w.value,"onUpdate:value":e=>w.value=e,labelField:q.value,valueField:A.value,"menu-props":G,"node-props":H,onSearch:U,"onUpdate:show":M,options:J.value,onFocus:S(K)},{empty:()=>e.useLoading&&P.value?n(c,null,null):n(y,{description:"无数据"},null),...t})}}),r(w,K));export{B as REMOTE_SEARCH};
@@ -191,6 +191,6 @@ export declare const SELECT: import("vue").DefineComponent<{
191
191
  commonNum: number;
192
192
  recentNum: number;
193
193
  allowCreate: boolean;
194
- shouldSave: boolean;
195
194
  useLoading: boolean;
195
+ shouldSave: boolean;
196
196
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,inject as t,useAttrs as l,createVNode as a,mergeProps as r,toRaw as n}from"vue";import{arrayed as s}from"../../../../../shared/utils/index.js";import{useDebounceFn as u}from"@vueuse/core";import{cloneDeep as i,isArray as p,isString as m,isObject as d,omit as c}from"lodash-es";import{useCommonInjection as v,useSelectOptionProps as f}from"../../hooks/useCommonInjection.js";import{useComplexOptions as y,useComplexOptionsSpan as h}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as j,InjectionFormUUID as b}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vue/shared";import"date-fns";import{assignUpdateValue as S,assignClearBindVisited as k,createVisitedSetter as g}from"../../utils/schema.js";import{useFormField as C}from"../../hooks/useFormField.js";import{NSelect as F}from"naive-ui";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import{connect as x,mapProps as B}from"@formily/vue";import"./index.js";import{useUrlConfigOptions as O,useAutographOptions as A,useRecommendOptions as H,searchContentMatcher as L}from"../../hooks/useFormRenderOptions.js";const K=x(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,shouldSave:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0}},emits:["update:value","postRecommend"],setup(e,{slots:S,emit:k}){const x=o({get:()=>e.value,async set(e){k("update:value",e),E(e)}}),{labelKey:B,valueKey:K,fetchData:R,searchContent:V,fullOptions:_,filterOptions:w,remoteOptions:N,loading:P}=e.urlConfig?O(e,x):A(e,x),{renderComplexOption:I,hasComplexOption:W}=y(e,x),{getRecommend:q,postRecommend:E,sortedOptions:U}=H(e,w,k,B,K),{field:z,fieldKey:D}=C();t(j).setContext(D.value,(e=>({currentOption:i(function(e){const o=$(_.value);return p(e)?function(e){const t=o.reduce(((e,o)=>(e[o[K.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[K.value]===t)));var t}(e))})));const G=u((async(e="")=>{V.value=e,R(e),q(e)}),300),{injectValueValidate:J,injectValueWatchFromEmpty:M,injectValueBindKey:Q}=v();M(x,G),J(x);const T=Q(x),{menuProps:X,nodeProps:Y}=f();function Z(e){const o=e[B.value];if(!o||!m(o))return"";const t=V.value?L(V.value,o):null;return t?a("section",null,[t.map(((e,o)=>0!==o&&e?a("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}function $(o){return e.allowCreate&&V.value&&!o.some((e=>e[B.value]===V.value))?[...o,{[B.value]:V.value,[K.value]:V.value,created:!0,shouldSave:e.shouldSave}]:o}const ee=o((()=>$(U.value))),oe=l(),te=o((()=>{if(e.allowCreate)return x.value;const o=oe.multiple&&p(x.value);return _.value.find((e=>o?x.value.includes(e[K.value]):e[K.value]===x.value))?x.value:null}));function le(e){e&&G()}function ae(e,o){x.value=e,N.value&&o&&s(o).forEach((e=>{if(!d(e))return;const o=e;o.created&&o.shouldSave&&N.value.push(c(n(o),["created","shouldSave"]))}))}const re=t(b),{getSpan:ne}=h();function se(o){return a(F,r({loading:e.useLoading&&P.value,key:T.value,remote:!0,filterable:!0,value:te.value,onUpdateValue:ae,"menu-props":X,"node-props":Y,labelField:B.value,valueField:K.value,options:ee.value,onSearch:G,"onUpdate:show":le,onFocus:g(z),renderLabel:Z},o,oe),S)}return()=>{var e,o;if(!W.value)return se();const t=null!=(o=null==(e=z.value.decoratorProps)?void 0:e.span)?o:6,l=ne(re,z.value.address);return a("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[se({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),_.value.map((e=>I({option:e,value:x.value,valueKey:K.value,labelKey:B.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),B({dataSource:"options"},S,k));export{K as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,useAttrs as l,createVNode as a,mergeProps as r,toRaw as n}from"vue";import{arrayed as u}from"../../../../../shared/utils/index.js";import{useDebounceFn as s}from"@vueuse/core";import{cloneDeep as i,isArray as p,isString as m,isObject as c,omit as d}from"lodash-es";import{useCommonInjection as v,useSelectOptionProps as f}from"../../hooks/useCommonInjection.js";import{useComplexOptions as y,useComplexOptionsSpan as h}from"../../hooks/useComplexOptions.js";import{InjectionChangeContextCollector as j,InjectionFormUUID as b}from"../../constants/index.js";import"../../../index.js";import"@formily/core";import"@formily/path";import"@vue/shared";import"date-fns";import{assignUpdateValue as S,assignClearBindVisited as k,createVisitedSetter as C}from"../../utils/schema.js";import{useFormField as g}from"../../hooks/useFormField.js";import{NSelect as F,NSpin as x,NEmpty as B}from"naive-ui";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import{connect as O,mapProps as A}from"@formily/vue";import"./index.js";import{useUrlConfigOptions as H,useAutographOptions as L,useRecommendOptions as K,searchContentMatcher as R}from"../../hooks/useFormRenderOptions.js";const V=O(e({name:"FormSelect",props:{value:{type:[String,Array,Number]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},allowCreate:Boolean,shouldSave:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},commonNum:{type:Number,default:10},recentNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1},useLoading:{type:Boolean,default:!0}},emits:["update:value","postRecommend"],setup(e,{slots:S,emit:k}){const O=o({get:()=>e.value,async set(e){k("update:value",e),z(e)}}),{labelKey:A,valueKey:V,fetchData:_,searchContent:w,fullOptions:N,filterOptions:P,remoteOptions:I,loading:W}=e.urlConfig?H(e,O):L(e,O),{renderComplexOption:q,hasComplexOption:E}=y(e,O),{getRecommend:U,postRecommend:z,sortedOptions:D}=K(e,P,k,A,V),{field:G,fieldKey:J}=g();t(j).setContext(J.value,(e=>({currentOption:i(function(e){const o=oe(N.value);return p(e)?function(e){const t=o.reduce(((e,o)=>(e[o[V.value]]=o,e)),{});return e.map((e=>t[e]))}(e):(t=e,o.find((e=>e[V.value]===t)));var t}(e))})));const M=s((async(e="")=>{w.value=e,_(e),U(e)}),300),{injectValueValidate:Q,injectValueWatchFromEmpty:T,injectValueBindKey:X}=v();T(O,M),Q(O);const Y=X(O),{menuProps:Z,nodeProps:$}=f();function ee(e){const o=e[A.value];if(!o||!m(o))return"";const t=w.value?R(w.value,o):null;return t?a("section",null,[t.map(((e,o)=>0!==o&&e?a("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}function oe(o){return e.allowCreate&&w.value&&!o.some((e=>e[A.value]===w.value))?[...o,{[A.value]:w.value,[V.value]:w.value,created:!0,shouldSave:e.shouldSave}]:o}const te=o((()=>oe(D.value))),le=l(),ae=o((()=>{if(e.allowCreate)return O.value;const o=le.multiple&&p(O.value);return N.value.find((e=>o?O.value.includes(e[V.value]):e[V.value]===O.value))?O.value:null}));async function re(e){W.value=e,e&&M()}function ne(e,o){O.value=e,I.value&&o&&u(o).forEach((e=>{if(!c(e))return;const o=e;o.created&&o.shouldSave&&I.value.push(d(n(o),["created","shouldSave"]))}))}const ue=t(b),{getSpan:se}=h();function ie(o){return a(F,r({key:Y.value,remote:!0,filterable:!0,value:ae.value,onUpdateValue:ne,"menu-props":Z,"node-props":$,labelField:A.value,valueField:V.value,options:te.value,onSearch:M,"onUpdate:show":re,onFocus:C(G),renderLabel:ee},o,le),{empty:()=>e.useLoading&&W.value?a(x,null,null):a(B,{description:"无数据"},null),...S})}return()=>{var e,o;if(!E.value)return ie();const t=null!=(o=null==(e=G.value.decoratorProps)?void 0:e.span)?o:6,l=se(ue,G.value.address);return a("section",{class:"form-render__selectChildField",style:{"--column":l+t}},[ie({class:"form-render__selectChildFieldItem",style:{"--form-item-column":t}}),N.value.map((e=>q({option:e,value:O.value,valueKey:V.value,labelKey:A.value,childFieldStrategy:"checked",renderLabel:!1,attrs:{class:"form-render__selectChildFieldItem",style:{"--form-item-column":l}}})))])}}}),A({dataSource:"options"},S,k));export{V as SELECT};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,openBlock as r,createElementBlock as o,unref as n,createBlock as i,createCommentVNode as v,createElementVNode as c,createVNode as s,isRef as d,withCtx as p,normalizeStyle as f,Fragment as m,renderList as h,createTextVNode as y,toDisplayString as _}from"vue";import{keywordMatcher as b,widthAppend as k}from"../../../../../shared/utils/index.js";import{useVirtualList as g}from"@vueuse/core";import{isNumber as L,isString as C}from"lodash-es";import{NInput as S,NCheckbox as x,NCheckboxGroup as D,NButtonGroup as I,NButton as U}from"naive-ui";const Y={class:"iho-table__filterWrapper"},$={class:"iho-table__filterCheckAllWrapper"},w={class:"iho-table__filterListItem"},W={class:"iho-table__filterListItem"},j={class:"iho-table__filterFooter"};var E=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const E=e,F=l("$xetable"),O=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=E.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),P=a({get:()=>O.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),set(e){if(!E.payload)return;if(O.value.forEach((l=>{E.payload.$panel.changeOption(null,e.includes(l.value),l)})),!F)return t();const{startIndex:l,endIndex:a}=F.internalData.scrollYStore;function t(){E.payload.$panel.confirmFilter(new CustomEvent("click"))}0===l&&1===a||F.reactData.scrollYLoad?t():(F.reactData.scrollYLoad=!0,t(),F.reactData.scrollYLoad=!1)}}),q=t([...P.value]),z=t("");function A(){F&&(F.reactData.filterStore.visible=!1)}u(A);const H=a((()=>{var e,l;if(!E.payload||!E.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=E.payload.column.editRender)?void 0:e.props)?l:{};return L(a)&&a>0?a:10})),R=a((()=>z.value?O.value.filter((e=>!!`${e.label}`.includes(z.value)||(C(e.data)?b(z.value,e.data):void 0))):O.value)),{list:B,containerProps:G,wrapperProps:J}=g(R,{itemHeight:32,overscan:3}),K=a({get:()=>R.value.every((e=>q.value.includes(e.value))),set(e){q.value=e?[...new Set([...q.value,...R.value.map((e=>e.value))])]:q.value.filter((e=>!R.value.some((l=>l.value!==e))))}}),M=a((()=>R.value.some((e=>q.value.includes(e.value)))&&!K.value)),N=a({get:()=>q.value.length===O.value.length&&0!==O.value.length,set:e=>{q.value=e?O.value.map((e=>e.value)):[]}}),Q=a((()=>!!q.value.length&&!N.value)),T=a((()=>({...G.style,height:k(32*H.value)})));function V(){P.value=q.value,A()}function X(){q.value=[]}return(e,l)=>(r(),o("section",Y,[n(O).length>5?(r(),i(n(S),{key:0,value:z.value,"onUpdate:value":l[0]||(l[0]=e=>z.value=e)},null,8,["value"])):v("v-if",!0),c("div",$,[c("div",w,[s(n(x),{label:"全选当前",checked:n(K),"onUpdate:checked":l[1]||(l[1]=e=>d(K)?K.value=e:null),indeterminate:n(M)},null,8,["checked","indeterminate"])]),c("div",W,[s(n(x),{label:"全选所有",checked:n(N),"onUpdate:checked":l[2]||(l[2]=e=>d(N)?N.value=e:null),indeterminate:n(Q)},null,8,["checked","indeterminate"])])]),s(n(D),{value:q.value,"onUpdate:value":l[4]||(l[4]=e=>q.value=e)},{default:p((()=>[c("section",{ref:n(G).ref,style:f(n(T)),onScroll:l[3]||(l[3]=(...e)=>n(G).onScroll&&n(G).onScroll(...e)),class:"iho-table__filterListWrapper"},[c("section",{style:f(n(J).style)},[(r(!0),o(m,null,h(n(B),(e=>(r(),o("div",{class:"iho-table__filterListItem",key:e.data.value},[s(n(x),{value:e.data.value,label:e.data.label},null,8,["value","label"])])))),128))],4)],36)])),_:1},8,["value"]),c("footer",j,[c("section",null,[y(" 已选择 "),c("span",{style:f({color:"var(--c-primary-color)"})},_(q.value.length),5),y(" 项 ")]),s(n(I),{size:"small"},{default:p((()=>[s(n(U),{onClick:X},{default:p((()=>[y("清空")])),_:1}),s(n(U),{onClick:A},{default:p((()=>[y("取消")])),_:1}),s(n(U),{type:"primary",onClick:V},{default:p((()=>[y("确定")])),_:1})])),_:1})])]))}});export{E as default};
1
+ import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,openBlock as r,createElementBlock as o,unref as i,createBlock as n,createCommentVNode as v,createElementVNode as c,createVNode as s,isRef as d,withCtx as p,normalizeStyle as f,Fragment as m,renderList as h,toDisplayString as y,createTextVNode as _}from"vue";import{keywordMatcher as b,widthAppend as k}from"../../../../../shared/utils/index.js";import{useVirtualList as g}from"@vueuse/core";import{isNumber as L,isString as C}from"lodash-es";import{NInput as S,NCheckbox as w,NCheckboxGroup as x,NButtonGroup as D,NButton as I}from"naive-ui";const U={class:"iho-table__filterWrapper"},Y={class:"iho-table__filterCheckAllWrapper"},$={class:"iho-table__filterListItem"},W={class:"iho-table__filterListItem"},j=["title"],E={class:"iho-table__filterFooter"};var F=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const F=e,O=l("$xetable"),P=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=F.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),q=a({get:()=>P.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),set(e){if(!F.payload)return;if(P.value.forEach((l=>{F.payload.$panel.changeOption(null,e.includes(l.value),l)})),!O)return t();const{startIndex:l,endIndex:a}=O.internalData.scrollYStore;function t(){F.payload.$panel.confirmFilter(new CustomEvent("click"))}0===l&&1===a||O.reactData.scrollYLoad?t():(O.reactData.scrollYLoad=!0,t(),O.reactData.scrollYLoad=!1)}}),z=t([...q.value]),A=t("");function H(){O&&(O.reactData.filterStore.visible=!1)}u(H);const R=a((()=>{var e,l;if(!F.payload||!F.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=F.payload.column.editRender)?void 0:e.props)?l:{};return L(a)&&a>0?a:10})),B=a((()=>A.value?P.value.filter((e=>!!`${e.label}`.includes(A.value)||(C(e.data)?b(A.value,e.data):void 0))):P.value)),{list:G,containerProps:J,wrapperProps:K}=g(B,{itemHeight:32,overscan:3}),M=a({get:()=>B.value.every((e=>z.value.includes(e.value))),set(e){z.value=e?[...new Set([...z.value,...B.value.map((e=>e.value))])]:z.value.filter((e=>!B.value.some((l=>l.value!==e))))}}),N=a((()=>B.value.some((e=>z.value.includes(e.value)))&&!M.value)),Q=a({get:()=>z.value.length===P.value.length&&0!==P.value.length,set:e=>{z.value=e?P.value.map((e=>e.value)):[]}}),T=a((()=>!!z.value.length&&!Q.value)),V=a((()=>({...J.style,height:k(32*R.value)})));function X(){q.value=z.value,H()}function Z(){z.value=[]}return(e,l)=>(r(),o("section",U,[i(P).length>5?(r(),n(i(S),{key:0,value:A.value,"onUpdate:value":l[0]||(l[0]=e=>A.value=e)},null,8,["value"])):v("v-if",!0),c("div",Y,[c("div",$,[s(i(w),{label:"全选当前",checked:i(M),"onUpdate:checked":l[1]||(l[1]=e=>d(M)?M.value=e:null),indeterminate:i(N)},null,8,["checked","indeterminate"])]),c("div",W,[s(i(w),{label:"全选所有",checked:i(Q),"onUpdate:checked":l[2]||(l[2]=e=>d(Q)?Q.value=e:null),indeterminate:i(T)},null,8,["checked","indeterminate"])])]),s(i(x),{value:z.value,"onUpdate:value":l[4]||(l[4]=e=>z.value=e)},{default:p((()=>[c("section",{ref:i(J).ref,style:f(i(V)),onScroll:l[3]||(l[3]=(...e)=>i(J).onScroll&&i(J).onScroll(...e)),class:"iho-table__filterListWrapper"},[c("section",{style:f(i(K).style)},[(r(!0),o(m,null,h(i(G),(e=>(r(),o("div",{class:"iho-table__filterListItem",key:e.data.value},[s(i(w),{value:e.data.value},{default:p((()=>[c("div",{style:{"white-space":"nowrap"},title:e.data.label},y(e.data.label),9,j)])),_:2},1032,["value"])])))),128))],4)],36)])),_:1},8,["value"]),c("footer",E,[c("section",null,[_(" 已选择 "),c("span",{style:f({color:"var(--c-primary-color)"})},y(z.value.length),5),_(" 项 ")]),s(i(D),{size:"small"},{default:p((()=>[s(i(I),{onClick:Z},{default:p((()=>[_("清空")])),_:1}),s(i(I),{onClick:H},{default:p((()=>[_("取消")])),_:1}),s(i(I),{type:"primary",onClick:X},{default:p((()=>[_("确定")])),_:1})])),_:1})])]))}});export{F as default};
@@ -1 +1 @@
1
- var e="@cnhis-design-vue/shared",i="3.1.48-beta.31",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.1.48-beta.31",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
1
+ var e="@cnhis-design-vue/shared",i="3.1.48-beta.33",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.1.48-beta.33",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "3.1.48-beta.31",
3
+ "version": "3.1.48-beta.33",
4
4
  "license": "ISC",
5
5
  "module": "./es/components/index.js",
6
6
  "main": "./es/components/index.js",