cnhis-design-vue 3.2.5-beta.50 → 3.2.5-beta.52

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.
@@ -20,6 +20,10 @@ declare const CClassification: SFCWithInstall<import("vue").DefineComponent<{
20
20
  type: NumberConstructor;
21
21
  default: number;
22
22
  };
23
+ showClassificationIndexs: {
24
+ type: import("vue").PropType<number[]>;
25
+ default: () => number[];
26
+ };
23
27
  curClassificationWidth: {
24
28
  type: NumberConstructor;
25
29
  };
@@ -77,6 +81,10 @@ declare const CClassification: SFCWithInstall<import("vue").DefineComponent<{
77
81
  type: NumberConstructor;
78
82
  default: number;
79
83
  };
84
+ showClassificationIndexs: {
85
+ type: import("vue").PropType<number[]>;
86
+ default: () => number[];
87
+ };
80
88
  curClassificationWidth: {
81
89
  type: NumberConstructor;
82
90
  };
@@ -2257,6 +2265,10 @@ declare const CClassification: SFCWithInstall<import("vue").DefineComponent<{
2257
2265
  type: NumberConstructor;
2258
2266
  default: number;
2259
2267
  };
2268
+ showClassificationIndexs: {
2269
+ type: import("vue").PropType<number[]>;
2270
+ default: () => number[];
2271
+ };
2260
2272
  curClassificationWidth: {
2261
2273
  type: NumberConstructor;
2262
2274
  };
@@ -2299,6 +2311,7 @@ declare const CClassification: SFCWithInstall<import("vue").DefineComponent<{
2299
2311
  conditionMap: import("..").IConditionMapType;
2300
2312
  conditionSid: string[];
2301
2313
  curClassificationIndex: number;
2314
+ showClassificationIndexs: number[];
2302
2315
  hideConditionChangeBtn: number;
2303
2316
  hideConditionChangeSetting: number;
2304
2317
  hideClearConditionChange: number;
@@ -22,6 +22,10 @@ declare const _default: import("vue").DefineComponent<{
22
22
  type: NumberConstructor;
23
23
  default: number;
24
24
  };
25
+ showClassificationIndexs: {
26
+ type: PropType<number[]>;
27
+ default: () => number[];
28
+ };
25
29
  curClassificationWidth: {
26
30
  type: NumberConstructor;
27
31
  };
@@ -79,6 +83,10 @@ declare const _default: import("vue").DefineComponent<{
79
83
  type: NumberConstructor;
80
84
  default: number;
81
85
  };
86
+ showClassificationIndexs: {
87
+ type: PropType<number[]>;
88
+ default: () => number[];
89
+ };
82
90
  curClassificationWidth: {
83
91
  type: NumberConstructor;
84
92
  };
@@ -1449,9 +1457,6 @@ declare const _default: import("vue").DefineComponent<{
1449
1457
  isSecondDisabled(second: number, minute: number | null, hour: number | null): boolean | 0;
1450
1458
  };
1451
1459
  NSelect: any;
1452
- /**
1453
- * 改变展示方式
1454
- */
1455
1460
  NPopover: any;
1456
1461
  CDatePicker: import("../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
1457
1462
  updateUnchangedValue: {
@@ -2262,6 +2267,10 @@ declare const _default: import("vue").DefineComponent<{
2262
2267
  type: NumberConstructor;
2263
2268
  default: number;
2264
2269
  };
2270
+ showClassificationIndexs: {
2271
+ type: PropType<number[]>;
2272
+ default: () => number[];
2273
+ };
2265
2274
  curClassificationWidth: {
2266
2275
  type: NumberConstructor;
2267
2276
  };
@@ -2304,6 +2313,7 @@ declare const _default: import("vue").DefineComponent<{
2304
2313
  conditionMap: IConditionMapType;
2305
2314
  conditionSid: string[];
2306
2315
  curClassificationIndex: number;
2316
+ showClassificationIndexs: number[];
2307
2317
  hideConditionChangeBtn: number;
2308
2318
  hideConditionChangeSetting: number;
2309
2319
  hideClearConditionChange: number;
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as i,ref as n,provide as l,computed as t,onMounted as a,nextTick as s,watch as o,openBlock as d,createElementBlock as c,normalizeClass as r,unref as u,normalizeStyle as h,withDirectives as f,createVNode as p,createTextVNode as m,toDisplayString as v,createCommentVNode as g,createElementVNode as y,Fragment as C,renderList as k,createBlock as b,withCtx as S}from"vue";import{useMessage as N,NIcon as O,NTooltip as x}from"naive-ui";import{Repeat as L,SettingsOutline as _,ChevronDown as I,ChevronForward as w,Checkmark as j,Close as z,ChevronUp as B}from"@vicons/ionicons5";import T from"./components/set-classification/index.vue.js";import{vFlexibleResize as P}from"../../../shared/directive/flexibleResize.js";import{InjectionFilterApiConfig as A,InjectionClassifyfilterType as J}from"../../table-filter/src/constants/index.js";import{root_isShowResetButton as M}from"./const/index.js";import E from"../../table-filter/src/hooks/useMixins.js";import D from"../../table-filter/src/hooks/useAdvanced.js";const F={key:0,class:"header"},R={class:"tree"},W=["onClick"],q={class:"number"},G={key:0,class:"item-count"},Q=["onClick"],$=["onClick"],V={class:"child-item-name"},H={class:"number"},K={key:0,class:"item-count"},U={key:1,class:"tree-type-footer"},X={class:"selected-num"},Y=y("i",{class:"iconfont-table-filter icon-table-filter-menzhenyishengzhananniushanchu2"},null,-1),Z={key:0,class:"tile-type classify-1"},ee={key:0,class:"header"},ie={key:0,class:"item-count"},ne={class:"right-setting"},le=["onClick"],te={class:"parent ellips"},ae={class:"children"},se=["onClick"],oe={class:"number"},de={key:0,class:"item-count"},ce={key:1,class:"selected-list"},re={class:"selected-num"},ue=y("i",{class:"iconfont-table-filter icon-table-filter-menzhenyishengzhananniushanchu2"},null,-1),he={class:"name"},fe={class:"name"},pe={key:0,class:"main-wrapper"},me=["onClick"],ve={class:"number"},ge={key:0,class:"item-count"},ye={class:"tree-footer"},Ce=["onClick"],ke=["onClick"],be={class:"child-item-name"},Se={class:"number"},Ne={key:0,class:"item-count"},Oe={key:0,class:"select-type-footer"},xe={class:"selected-num"},Le=y("i",{class:"iconfont-table-filter icon-table-filter-menzhenyishengzhananniushanchu2"},null,-1);var _e=e({__name:"index",props:{tableId:{type:String,default:""},searchFieldList:{type:Array,default:()=>[]},conditionMap:{type:Object,default:()=>({})},conditionSid:{type:Array,default:()=>["all_data"]},curClassificationIndex:{type:Number,default:0},curClassificationWidth:{type:Number},hideConditionChangeBtn:{type:Number,default:0},hideConditionChangeSetting:{type:Number,default:0},hideClearConditionChange:{type:Number,default:1},isShowResetButton:{type:Boolean,default:!0},filterApiConfig:{type:Object,default:()=>({})},condiTionDigital:{type:Object,default:()=>({})},filterType:{type:String,default:"1"}},emits:["changeSearch","setClassificationIndex","getQuickSearchListObj"],setup(e,{emit:_e}){const Ie=e,{handleGetConfigApi:we}=E(),{transformClassifyChild:je}=D(),ze=i(),Be=N(),Te=n(null);let Pe=n(150),Ae=n(!1),Je=n([]),Me=n([]),Ee=n([]),De=n(2),Fe=n({name:"全部数据",sid:"all_data"}),Re=n([]),We=n(""),qe=n(!1),Ge=n("全部数据");l(M,Ie.isShowResetButton),l(A,Ie.filterApiConfig),l(J,Ie.filterType);let Qe=t((()=>0===De.value?{marginRight:"8px"}:2===De.value?{display:"inline-block"}:{})),$e=t((()=>{let e=Me.value.filter((e=>-1!==Ie.conditionSid.indexOf(e.sid)));if(-1!==Ie.conditionSid.indexOf("all_data"))return"全部数据";{let i=[];return e.map((e=>{i.push(e.name)})),i.join(",")}})),Ve=t((()=>function(e){let i=0===e.digital?"(0)":e.digital?`(${e.digital})`:"";const{name:n,isPublic:l}=e;return ci(n,l)+i}));function He(e){e.open?e.open=!1:e.open=!0}function Ke(e,i,n){Ge.value=e.name;let l=function(e){let i=[];return Je.value.forEach((n=>{n.children?n.children.forEach((n=>{-1!==e.indexOf(n.sid)?(n.selected=!0,i.push(n)):n.selected=!1})):-1!==e.indexOf(n.sid)?(n.selected=!0,i.push(n)):n.selected=!1})),i}(function(e,i,n){let l=JSON.parse(JSON.stringify(i));l="all_data"===e||-1!==l.indexOf(e)?["all_data"]:[e];return l}(e.sid,Ie.conditionSid));ei(!1);const t=je(null==e?void 0:e.conObj,Ie.searchFieldList);_e("changeSearch",Boolean("all_data"===e.sid),e,t,n,l)}function Ue(){let e="";if(2===De.value)e=0;else{let i=De.value;e=++i}Pe.value=150,Xe(e)}async function Xe(e,i){let n={tableId:Ie.tableId,setting:JSON.stringify({classificationIndex:e,classificationWidth:i})};try{await we(n,"requestSaveListPersonaSetting",{},Ie.filterApiConfig)&&_e("setClassificationIndex",e)}catch(e){console.log(e)}}function Ye(){qe.value=!0,ei(!1)}function Ze(e){qe.value=e}function ei(e){Ae.value=void 0===e?!Ae.value:e}function ii(){if(!Ie.tableId)return Be.warning("请传入tableId");Je.value=[];let{displayCategoryList:e=[],conditionList:i=[],settingId:n=""}=Ie.conditionMap;Re.value=JSON.parse(JSON.stringify(e))||[],Ee.value=JSON.parse(JSON.stringify(i)),Me.value=JSON.parse(JSON.stringify([{name:"全部数据",sid:"all_data"},...i])),We.value=n;let l=[];var t;0===Re.value.length&&(Re.value=["未分类"]),Re.value.forEach((e=>{let i={name:e,children:[]};Me.value.forEach((n=>{if(n.displayCategory===e||!n.displayCategory&&"未分类"===e&&"all_data"!==n.sid){if(-1!==Ie.conditionSid.indexOf(n.sid)){n.selected=!0,i.open=!0;const e=je(null==n?void 0:n.conObj,Ie.searchFieldList);_e("changeSearch",!1,n,e)}n.isShow&&i.children.push(n)}})),i.children.length>0&&l.push(i)})),l.unshift({name:"全部数据",sid:"all_data"}),Je.value=l,0===De.value&&(t=!0,Je.value.forEach((e=>{e.children&&e.children.length&&(e.open=t)}))),ri(Je.value,Ie.condiTionDigital)}function ni({distance:e}){const i=Pe.value+e;Pe.value=Math.min(Math.max(i,50),650)}function li(){Xe(De.value,Pe.value)}async function ti(){await di(Ie.tableId),si()}async function ai(e){await di(Ie.tableId),oi()}function si(e){oi(e).then((e=>({})))}function oi(e,i={}){if(!Ie.tableId)return new Promise((e=>e(!1)));let n=Object.keys(i).length>0?i:JSON.parse(JSON.stringify(Ie.conditionMap));return new Promise(((i,l)=>{var t,a,s,o,d,c,r;if(Object.keys(n).length>0){Ee.value=n.conditionList||[],Re.value=n.displayCategoryList||[];let l={conditionList:Ee.value,displayCategoryList:Re.value};_e("getQuickSearchListObj",l),We.value=null!=(t=n.settingId)?t:"";const u=Ee.value.find((e=>e.isDefault))||{name:"全部数据",sid:"all_data"};(null==(s=null==(a=ze.tableOptions)?void 0:a.filterCondition)?void 0:s.displayCategory)&&e&&i({name:null==(d=null==(o=ze.tableOptions)?void 0:o.filterCondition)?void 0:d.name,sid:null==(r=null==(c=ze.tableOptions)?void 0:c.filterCondition)?void 0:r.displayCategory}),i(u)}else i({})}))}async function di(e){try{if(!e)return new Promise((e=>e(!1)));let i={tableId:e},n=await we(i,"requestTableCondiTionList",{},Ie.filterApiConfig);return Promise.resolve(n)}catch(e){return Promise.resolve(!1)}}function ci(e,i){return i&&e&&"1"===i?e.replace(/\(公共\)$/,""):e}function ri(e,i){const n=Object.keys(i);e.forEach((e=>{var l;e.resultNumber=void 0,"all_data"===e.sid&&(e.resultNumber=i.ALL),n.includes(null==e?void 0:e.sid)&&(e.resultNumber=i[e.sid]),(null==(l=null==e?void 0:e.children)?void 0:l.length)>0&&ri(null==e?void 0:e.children,i)}))}return a((()=>{document.addEventListener("click",(e=>{s((()=>{let i=e.composedPath&&e.composedPath();Te.value&&i.includes(Te.value)||ei(!1)}))}))})),o((()=>Ie.tableId),(e=>{e&&si(!0)}),{immediate:!0}),o((()=>Ie.curClassificationIndex),(e=>{void 0!==e&&(De.value=e,ii())}),{immediate:!0}),o((()=>Ie.curClassificationWidth),(e=>{e&&(Pe.value=Number(e)||150)}),{immediate:!0}),o((()=>Ie.conditionMap),(e=>{!async function(){try{await ii()}catch(e){console.log(e)}}()}),{immediate:!0,deep:!0}),o((()=>Ie.condiTionDigital),(e=>{ri(Je.value,e)}),{immediate:!0,deep:!0}),(i,n)=>{var l,t;return d(),c("div",{class:r(["classification-block","classificationIndex-"+u(De)]),style:h(u(Qe))},[0===u(De)?f((d(),c("div",{key:0,class:"tree-type classify-0",style:h({width:u(Pe)+"px",paddingBottom:1!=e.hideClearConditionChange?"80px":0,position:"relative"})},[1!=e.hideConditionChangeBtn||1!=e.hideConditionChangeSetting?(d(),c("div",F,[1!=e.hideConditionChangeBtn?(d(),c("span",{key:0,class:"header-1",onClick:Ue},[p(u(O),{component:u(L),size:"16"},null,8,["component"]),m(" "+v("切换"))])):g("v-if",!0),1!=e.hideConditionChangeSetting?(d(),c("span",{key:1,class:"header-1",onClick:Ye},[p(u(O),{component:u(_),size:"16"},null,8,["component"]),m(" "+v("设置"))])):g("v-if",!0)])):g("v-if",!0),y("ul",R,[(d(!0),c(C,null,k(u(Je),((i,n)=>(d(),c(C,null,[0===n||!i.children||0===i.children.length||i.children&&0!==i.children.filter((e=>e.isShow)).length?(d(),c("li",{key:n,class:r(["tree-item",{"tree-header":0===n||!i.children||0===i.children.length}])},[0!==n&&i.children&&0!==i.children.length?(d(),c(C,{key:1},[y("span",{class:r(["parent",{open:i.open}]),onClick:e=>He(i)},[y("span",null,v(i.name),1),p(u(O),{component:i.open?u(I):u(w)},null,8,["component"])],10,Q),i.open?(d(!0),c(C,{key:0},k(i.children.filter((e=>e.isShow)),((e,n)=>(d(),c("div",{key:n,class:"children",onClick:n=>Ke(e,0,i)},[e.isShow?(d(),b(u(x),{key:0,trigger:"hover",placement:"right"},{trigger:S((()=>[y("span",{class:r(["child-item",{selected:e.selected}])},[y("span",V,[y("span",H,v(ci(e.name,null==e?void 0:e.isPublic)),1),null!=e.resultNumber?(d(),c("label",K,[m("("),y("span",null,v(e.resultNumber),1),m(")")])):g("v-if",!0)]),e.selected?(d(),b(u(O),{key:0,component:u(j),size:"20"},null,8,["component"])):g("v-if",!0)],2)])),default:S((()=>[y("span",null,[m(v(u(Ve)(e))+" ",1),null!=e.resultNumber?(d(),c(C,{key:0},[m("("+v(e.resultNumber)+")",1)],64)):g("v-if",!0)])])),_:2},1024)):g("v-if",!0)],8,$)))),128)):g("v-if",!0)],64)):(d(),c("span",{key:0,class:r(["child-item header-item",{selected:i.selected||-1!==e.conditionSid.indexOf("all_data")}]),onClick:e=>Ke(i)},[g("全部数据 "),y("span",q,v(i.name),1),null!=i.resultNumber?(d(),c("label",G,[m("("),y("span",null,v(i.resultNumber),1),m(")")])):g("v-if",!0)],10,W))],2)):g("v-if",!0)],64)))),256))]),1!=e.hideClearConditionChange?(d(),c("div",U,[y("div",X,"已选择"+v(e.conditionSid.filter((e=>"all_data"!==e)).length)+"项",1),y("div",{class:"selected-item-del",onClick:n[0]||(n[0]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[Y,m(" 清空筛选 ")])])):g("v-if",!0)],4)),[[u(P),{mode:"VR",onMove:ni,onEnd:li}]]):g("v-if",!0),1===u(De)?(d(),c(C,{key:1},[1!=e.hideConditionChangeBtn||1!=e.hideConditionChangeSetting||1!=e.hideConditionChangeSetting||u(Ee).filter((e=>e.isShow)).length>0?(d(),c("div",Z,[1!=e.hideConditionChangeBtn||1!=e.hideConditionChangeSetting?(d(),c("div",ee,[y("span",{class:r(["all-data",{selected:-1!==e.conditionSid.indexOf("all_data")}]),onClick:n[1]||(n[1]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[m(" 全部数据 "),null!=(null==(l=e.condiTionDigital)?void 0:l.ALL)?(d(),c("label",ie,[m("("),y("span",null,v((null==(t=e.condiTionDigital)?void 0:t.ALL)||0),1),m(")")])):g("v-if",!0),u(Fe).digital||0===u(Fe).digital?(d(),c(C,{key:1},[m(" ("+v(u(Fe).digital||0)+") ",1)],64)):g("v-if",!0)],2),y("div",ne,[1!=e.hideConditionChangeBtn?(d(),c("span",{key:0,class:"setting-1",onClick:Ue,style:{"margin-right":"30px"}},[p(u(O),{component:u(L),size:"16"},null,8,["component"]),m(" "+v("切换"))])):g("v-if",!0),1!=e.hideConditionChangeSetting?(d(),c("span",{key:1,class:"setting-1",onClick:Ye},[p(u(O),{component:u(_),size:"16"},null,8,["component"]),m(" "+v("设置"))])):g("v-if",!0)])])):g("v-if",!0),y("ul",{class:"tile",style:h({borderBottom:1!=e.hideClearConditionChange?"1px solid #d5d5d5":0})},[(d(!0),c(C,null,k(u(Je).slice(1),((e,i)=>(d(),c(C,null,[e.children&&e.children.length>0?(d(),c("li",{class:"tile-item",key:i},[e.children&&0!==e.children.length?(d(),c(C,{key:1},[y("span",te,v(e.name),1),y("div",ae,[(d(!0),c(C,null,k(e.children,((i,n)=>(d(),c(C,null,[i.isShow?(d(),c("span",{key:n,class:r(["child-item",{selected:i.selected}]),onClick:n=>Ke(i,0,e)},[y("span",oe,v(ci(i.name,null==i?void 0:i.isPublic)),1),null!=i.resultNumber?(d(),c("label",de,[m("("),y("span",null,v(i.resultNumber),1),m(")")])):g("v-if",!0)],10,se)):g("v-if",!0)],64)))),256))])],64)):(d(),c("span",{key:0,class:r(["child-item",{selected:e.selected}]),style:{"padding-left":"17px"},onClick:i=>Ke(e)},v(e.name)+" "+v(e.digital),11,le))])):g("v-if",!0)],64)))),256))],4),1!=e.hideClearConditionChange?(d(),c("div",ce,[y("div",re,"已选择"+v(e.conditionSid.filter((e=>"all_data"!==e)).length)+"项",1),(d(!0),c(C,null,k(u(Je).slice(1),(e=>(d(),c(C,null,[e.children&&0!==e.children.length?(d(!0),c(C,{key:1},k(e.children,((i,n)=>(d(),c(C,null,[i.selected?(d(),c("div",{class:"selected-item",key:i.sid},[m(v(i.name)+" ",1),p(u(O),{component:u(z),onClick:n=>Ke(i,0,e)},null,8,["component","onClick"])])):g("v-if",!0)],64)))),256)):(d(),c("div",{class:"selected-item",key:e.sid},[m(v(e.name)+" ",1),p(u(O),{component:u(z),onClick:i=>Ke(e)},null,8,["component","onClick"])]))],64)))),256)),y("div",{class:"selected-item-del",onClick:n[2]||(n[2]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[ue,m(" 清空筛选 ")])])):g("v-if",!0)])):g("v-if",!0)],64)):g("v-if",!0),2===u(De)?(d(),c("div",{key:2,class:"select-type classify-2",ref_key:"selectType",ref:Te},[y("span",{class:"title",onClick:n[3]||(n[3]=()=>ei())},[p(u(x),{trigger:"hover",placement:"top"},{trigger:S((()=>[y("span",he,v(u($e)),1)])),default:S((()=>[y("span",fe,v(u($e)),1)])),_:1}),p(u(O),{component:u(Ae)?u(B):u(I)},null,8,["component"])]),u(Ae)?(d(),c("div",pe,[y("ul",{class:"tree",style:h({padding:1!=e.hideClearConditionChange?"40px 0":"40px 0 0"})},[(d(!0),c(C,null,k(u(Je),((i,n)=>(d(),c(C,null,[0===n||!i.children||0===i.children.length||i.children&&0!==i.children.filter((e=>e.isShow)).length?(d(),c("li",{key:n,class:r(["tree-item",{"tree-header":0===n||!i.children||0===i.children.length}])},[0!==n&&i.children&&0!==i.children.length?(d(),c(C,{key:1},[0!==i.children.filter((e=>e.isShow)).length?(d(),c("span",{key:0,class:r(["parent",{open:i.open}]),onClick:e=>He(i)},[m(v(i.name)+v(i.digital||0===i.digital?"("+i.digital+")":"")+" ",1),p(u(O),{component:i.open?u(I):u(w)},null,8,["component"])],10,Ce)):g("v-if",!0),i.open?(d(!0),c(C,{key:1},k(i.children.filter((e=>e.isShow)),((e,n)=>(d(),c("div",{key:n,class:"children",onClick:n=>Ke(e,0,i)},[e.isShow?(d(),b(u(x),{key:0,placement:"right",trigger:"hover","z-index":1e4},{trigger:S((()=>[y("span",{class:r(["child-item",{selected:e.selected}])},[y("span",be,[y("span",Se,v(ci(e.name,null==e?void 0:e.isPublic)),1),null!=e.resultNumber?(d(),c("label",Ne,[m("("),y("span",null,v(e.resultNumber),1),m(")")])):g("v-if",!0)]),e.selected?(d(),b(u(O),{key:0,component:u(j),size:"20"},null,8,["component"])):g("v-if",!0)],2)])),default:S((()=>[y("span",null,[m(v(u(Ve)(e)),1),null!=e.resultNumber?(d(),c(C,{key:0},[m("("+v(e.resultNumber)+")",1)],64)):g("v-if",!0)])])),_:2},1024)):g("v-if",!0)],8,ke)))),128)):g("v-if",!0)],64)):(d(),c(C,{key:0},[y("span",{class:r(["child-item child-header header-item",{selected:i.selected||-1!==e.conditionSid.indexOf("all_data")}]),onClick:e=>Ke(i)},[y("span",ve,v(i.name),1),null!=i.resultNumber?(d(),c("label",ge,[m("("),y("span",null,v(i.resultNumber),1),m(")")])):g("v-if",!0)],10,me),y("div",ye,[1!=e.hideConditionChangeBtn?(d(),c("span",{key:0,class:"tree-footer-icon",onClick:Ue},[p(u(O),{component:u(L),size:"16"},null,8,["component"]),m(" "+v("切换"))])):g("v-if",!0),1!=e.hideConditionChangeSetting?(d(),c("span",{key:1,class:"tree-footer-icon",onClick:Ye},[p(u(O),{component:u(_),size:"16"},null,8,["component"]),m(" "+v("设置"))])):g("v-if",!0)])],64))],2)):g("v-if",!0)],64)))),256))],4),1!=e.hideClearConditionChange?(d(),c("div",Oe,[y("div",xe,"已选择"+v(e.conditionSid.filter((e=>"all_data"!==e)).length)+"项",1),y("div",{class:"selected-item-del",onClick:n[4]||(n[4]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[Le,m(" 清空筛选 ")])])):g("v-if",!0)])):g("v-if",!0)],512)):g("v-if",!0),g(" 弹出弹窗 "),p(T,{ref:"search",searchFieldList:e.searchFieldList,conditionList:u(Ee),displayCategoryList:u(Re),settingId:u(We),tableId:e.tableId,classifyModal:u(qe),onSaveGetTableCondiTionList:ai,onCondiTionListInit:ti,onSetClassifyModal:Ze},null,8,["searchFieldList","conditionList","displayCategoryList","settingId","tableId","classifyModal"])],6)}}});export{_e as default};
1
+ import{defineComponent as e,useAttrs as i,ref as n,provide as l,computed as t,onMounted as a,nextTick as s,watch as o,openBlock as d,createElementBlock as c,normalizeClass as r,unref as u,normalizeStyle as h,withDirectives as f,createVNode as p,createTextVNode as m,toDisplayString as v,createCommentVNode as g,createElementVNode as y,Fragment as C,renderList as k,createBlock as b,withCtx as S}from"vue";import{useMessage as x,NIcon as N,NTooltip as O}from"naive-ui";import{Repeat as I,SettingsOutline as w,ChevronDown as L,ChevronForward as _,Checkmark as j,Close as z,ChevronUp as B}from"@vicons/ionicons5";import M from"./components/set-classification/index.vue.js";import{vFlexibleResize as T}from"../../../shared/directive/flexibleResize.js";import{InjectionFilterApiConfig as A,InjectionClassifyfilterType as P}from"../../table-filter/src/constants/index.js";import{root_isShowResetButton as J}from"./const/index.js";import E from"../../table-filter/src/hooks/useMixins.js";import D from"../../table-filter/src/hooks/useAdvanced.js";const F={key:0,class:"header"},R={class:"tree"},W=["onClick"],q={class:"number"},G={key:0,class:"item-count"},Q=["onClick"],$=["onClick"],V={class:"child-item-name"},H={class:"number"},K={key:0,class:"item-count"},U={key:1,class:"tree-type-footer"},X={class:"selected-num"},Y=y("i",{class:"iconfont-table-filter icon-table-filter-menzhenyishengzhananniushanchu2"},null,-1),Z={key:0,class:"tile-type classify-1"},ee={key:0,class:"header"},ie={key:0,class:"item-count"},ne={class:"right-setting"},le=["onClick"],te={class:"parent ellips"},ae={class:"children"},se=["onClick"],oe={class:"number"},de={key:0,class:"item-count"},ce={key:1,class:"selected-list"},re={class:"selected-num"},ue=y("i",{class:"iconfont-table-filter icon-table-filter-menzhenyishengzhananniushanchu2"},null,-1),he={class:"name"},fe={class:"name"},pe={key:0,class:"main-wrapper"},me=["onClick"],ve={class:"number"},ge={key:0,class:"item-count"},ye={class:"tree-footer"},Ce=["onClick"],ke=["onClick"],be={class:"child-item-name"},Se={class:"number"},xe={key:0,class:"item-count"},Ne={key:0,class:"select-type-footer"},Oe={class:"selected-num"},Ie=y("i",{class:"iconfont-table-filter icon-table-filter-menzhenyishengzhananniushanchu2"},null,-1);var we=e({__name:"index",props:{tableId:{type:String,default:""},searchFieldList:{type:Array,default:()=>[]},conditionMap:{type:Object,default:()=>({})},conditionSid:{type:Array,default:()=>["all_data"]},curClassificationIndex:{type:Number,default:0},showClassificationIndexs:{type:Array,default:()=>[0,1,2]},curClassificationWidth:{type:Number},hideConditionChangeBtn:{type:Number,default:0},hideConditionChangeSetting:{type:Number,default:0},hideClearConditionChange:{type:Number,default:1},isShowResetButton:{type:Boolean,default:!0},filterApiConfig:{type:Object,default:()=>({})},condiTionDigital:{type:Object,default:()=>({})},filterType:{type:String,default:"1"}},emits:["changeSearch","setClassificationIndex","getQuickSearchListObj"],setup(e,{emit:we}){const Le=e,{handleGetConfigApi:_e}=E(),{transformClassifyChild:je}=D(),ze=i(),Be=x(),Me=n(null);let Te=n(150),Ae=n(!1),Pe=n([]),Je=n([]),Ee=n([]),De=n(2),Fe=n({name:"全部数据",sid:"all_data"}),Re=n([]),We=n(""),qe=n(!1),Ge=n("全部数据");l(J,Le.isShowResetButton),l(A,Le.filterApiConfig),l(P,Le.filterType);let Qe=t((()=>0===De.value?{marginRight:"8px"}:2===De.value?{display:"inline-block"}:{})),$e=t((()=>{let e=Je.value.filter((e=>-1!==Le.conditionSid.indexOf(e.sid)));if(-1!==Le.conditionSid.indexOf("all_data"))return"全部数据";{let i=[];return e.map((e=>{i.push(e.name)})),i.join(",")}})),Ve=t((()=>function(e){let i=0===e.digital?"(0)":e.digital?`(${e.digital})`:"";const{name:n,isPublic:l}=e;return ci(n,l)+i}));function He(e){e.open?e.open=!1:e.open=!0}function Ke(e,i,n){Ge.value=e.name;let l=function(e){let i=[];return Pe.value.forEach((n=>{n.children?n.children.forEach((n=>{-1!==e.indexOf(n.sid)?(n.selected=!0,i.push(n)):n.selected=!1})):-1!==e.indexOf(n.sid)?(n.selected=!0,i.push(n)):n.selected=!1})),i}(function(e,i,n){let l=JSON.parse(JSON.stringify(i));l="all_data"===e||-1!==l.indexOf(e)?["all_data"]:[e];return l}(e.sid,Le.conditionSid));ei(!1);const t=je(null==e?void 0:e.conObj,Le.searchFieldList);we("changeSearch",Boolean("all_data"===e.sid),e,t,n,l)}function Ue(){let e="";const i=Math.max(...Le.showClassificationIndexs),n=Math.min(...Le.showClassificationIndexs);if(De.value===i)e=n;else{let i=Le.showClassificationIndexs.indexOf(De.value);e=Le.showClassificationIndexs[i+1]}Te.value=150,Xe(e)}async function Xe(e,i){let n={tableId:Le.tableId,setting:JSON.stringify({classificationIndex:e,classificationWidth:i})};try{await _e(n,"requestSaveListPersonaSetting",{},Le.filterApiConfig)&&we("setClassificationIndex",e)}catch(e){console.log(e)}}function Ye(){qe.value=!0,ei(!1)}function Ze(e){qe.value=e}function ei(e){Ae.value=void 0===e?!Ae.value:e}function ii(){if(!Le.tableId)return Be.warning("请传入tableId");Pe.value=[];let{displayCategoryList:e=[],conditionList:i=[],settingId:n=""}=Le.conditionMap;Re.value=JSON.parse(JSON.stringify(e))||[],Ee.value=JSON.parse(JSON.stringify(i)),Je.value=JSON.parse(JSON.stringify([{name:"全部数据",sid:"all_data"},...i])),We.value=n;let l=[];var t;0===Re.value.length&&(Re.value=["未分类"]),Re.value.forEach((e=>{let i={name:e,children:[]};Je.value.forEach((n=>{if(n.displayCategory===e||!n.displayCategory&&"未分类"===e&&"all_data"!==n.sid){if(-1!==Le.conditionSid.indexOf(n.sid)){n.selected=!0,i.open=!0;const e=je(null==n?void 0:n.conObj,Le.searchFieldList);we("changeSearch",!1,n,e)}n.isShow&&i.children.push(n)}})),i.children.length>0&&l.push(i)})),l.unshift({name:"全部数据",sid:"all_data"}),Pe.value=l,0===De.value&&(t=!0,Pe.value.forEach((e=>{e.children&&e.children.length&&(e.open=t)}))),ri(Pe.value,Le.condiTionDigital)}function ni({distance:e}){const i=Te.value+e;Te.value=Math.min(Math.max(i,50),650)}function li(){Xe(De.value,Te.value)}async function ti(){await di(Le.tableId),si()}async function ai(e){await di(Le.tableId),oi()}function si(e){oi(e).then((e=>({})))}function oi(e,i={}){if(!Le.tableId)return new Promise((e=>e(!1)));let n=Object.keys(i).length>0?i:JSON.parse(JSON.stringify(Le.conditionMap));return new Promise(((i,l)=>{var t,a,s,o,d,c,r;if(Object.keys(n).length>0){Ee.value=n.conditionList||[],Re.value=n.displayCategoryList||[];let l={conditionList:Ee.value,displayCategoryList:Re.value};we("getQuickSearchListObj",l),We.value=null!=(t=n.settingId)?t:"";const u=Ee.value.find((e=>e.isDefault))||{name:"全部数据",sid:"all_data"};(null==(s=null==(a=ze.tableOptions)?void 0:a.filterCondition)?void 0:s.displayCategory)&&e&&i({name:null==(d=null==(o=ze.tableOptions)?void 0:o.filterCondition)?void 0:d.name,sid:null==(r=null==(c=ze.tableOptions)?void 0:c.filterCondition)?void 0:r.displayCategory}),i(u)}else i({})}))}async function di(e){try{if(!e)return new Promise((e=>e(!1)));let i={tableId:e},n=await _e(i,"requestTableCondiTionList",{},Le.filterApiConfig);return Promise.resolve(n)}catch(e){return Promise.resolve(!1)}}function ci(e,i){return i&&e&&"1"===i?e.replace(/\(公共\)$/,""):e}function ri(e,i){const n=Object.keys(i);e.forEach((e=>{var l;e.resultNumber=void 0,"all_data"===e.sid&&(e.resultNumber=i.ALL),n.includes(null==e?void 0:e.sid)&&(e.resultNumber=i[e.sid]),(null==(l=null==e?void 0:e.children)?void 0:l.length)>0&&ri(null==e?void 0:e.children,i)}))}return a((()=>{document.addEventListener("click",(e=>{s((()=>{let i=e.composedPath&&e.composedPath();Me.value&&i.includes(Me.value)||ei(!1)}))}))})),o((()=>Le.tableId),(e=>{e&&si(!0)}),{immediate:!0}),o((()=>Le.curClassificationIndex),(e=>{void 0!==e&&(De.value=e,ii())}),{immediate:!0}),o((()=>Le.curClassificationWidth),(e=>{e&&(Te.value=Number(e)||150)}),{immediate:!0}),o((()=>Le.conditionMap),(e=>{!async function(){try{await ii()}catch(e){console.log(e)}}()}),{immediate:!0,deep:!0}),o((()=>Le.condiTionDigital),(e=>{ri(Pe.value,e)}),{immediate:!0,deep:!0}),(i,n)=>{var l,t;return d(),c("div",{class:r(["classification-block","classificationIndex-"+u(De)]),style:h(u(Qe))},[0===u(De)&&e.showClassificationIndexs.includes(0)?f((d(),c("div",{key:0,class:"tree-type classify-0",style:h({width:u(Te)+"px",paddingBottom:1!=e.hideClearConditionChange?"80px":0,position:"relative"})},[1!=e.hideConditionChangeBtn||1!=e.hideConditionChangeSetting?(d(),c("div",F,[1!=e.hideConditionChangeBtn?(d(),c("span",{key:0,class:"header-1",onClick:Ue},[p(u(N),{component:u(I),size:"16"},null,8,["component"]),m(" "+v("切换"))])):g("v-if",!0),1!=e.hideConditionChangeSetting?(d(),c("span",{key:1,class:"header-1",onClick:Ye},[p(u(N),{component:u(w),size:"16"},null,8,["component"]),m(" "+v("设置"))])):g("v-if",!0)])):g("v-if",!0),y("ul",R,[(d(!0),c(C,null,k(u(Pe),((i,n)=>(d(),c(C,null,[0===n||!i.children||0===i.children.length||i.children&&0!==i.children.filter((e=>e.isShow)).length?(d(),c("li",{key:n,class:r(["tree-item",{"tree-header":0===n||!i.children||0===i.children.length}])},[0!==n&&i.children&&0!==i.children.length?(d(),c(C,{key:1},[y("span",{class:r(["parent",{open:i.open}]),onClick:e=>He(i)},[y("span",null,v(i.name),1),p(u(N),{component:i.open?u(L):u(_)},null,8,["component"])],10,Q),i.open?(d(!0),c(C,{key:0},k(i.children.filter((e=>e.isShow)),((e,n)=>(d(),c("div",{key:n,class:"children",onClick:n=>Ke(e,0,i)},[e.isShow?(d(),b(u(O),{key:0,trigger:"hover",placement:"right"},{trigger:S((()=>[y("span",{class:r(["child-item",{selected:e.selected}])},[y("span",V,[y("span",H,v(ci(e.name,null==e?void 0:e.isPublic)),1),null!=e.resultNumber?(d(),c("label",K,[m("("),y("span",null,v(e.resultNumber),1),m(")")])):g("v-if",!0)]),e.selected?(d(),b(u(N),{key:0,component:u(j),size:"20"},null,8,["component"])):g("v-if",!0)],2)])),default:S((()=>[y("span",null,[m(v(u(Ve)(e))+" ",1),null!=e.resultNumber?(d(),c(C,{key:0},[m("("+v(e.resultNumber)+")",1)],64)):g("v-if",!0)])])),_:2},1024)):g("v-if",!0)],8,$)))),128)):g("v-if",!0)],64)):(d(),c("span",{key:0,class:r(["child-item header-item",{selected:i.selected||-1!==e.conditionSid.indexOf("all_data")}]),onClick:e=>Ke(i)},[g("全部数据 "),y("span",q,v(i.name),1),null!=i.resultNumber?(d(),c("label",G,[m("("),y("span",null,v(i.resultNumber),1),m(")")])):g("v-if",!0)],10,W))],2)):g("v-if",!0)],64)))),256))]),1!=e.hideClearConditionChange?(d(),c("div",U,[y("div",X,"已选择"+v(e.conditionSid.filter((e=>"all_data"!==e)).length)+"项",1),y("div",{class:"selected-item-del",onClick:n[0]||(n[0]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[Y,m(" 清空筛选 ")])])):g("v-if",!0)],4)),[[u(T),{mode:"VR",onMove:ni,onEnd:li}]]):g("v-if",!0),1===u(De)&&e.showClassificationIndexs.includes(1)?(d(),c(C,{key:1},[1!=e.hideConditionChangeBtn||1!=e.hideConditionChangeSetting||1!=e.hideConditionChangeSetting||u(Ee).filter((e=>e.isShow)).length>0?(d(),c("div",Z,[1!=e.hideConditionChangeBtn||1!=e.hideConditionChangeSetting?(d(),c("div",ee,[y("span",{class:r(["all-data",{selected:-1!==e.conditionSid.indexOf("all_data")}]),onClick:n[1]||(n[1]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[m(" 全部数据 "),null!=(null==(l=e.condiTionDigital)?void 0:l.ALL)?(d(),c("label",ie,[m("("),y("span",null,v((null==(t=e.condiTionDigital)?void 0:t.ALL)||0),1),m(")")])):g("v-if",!0),u(Fe).digital||0===u(Fe).digital?(d(),c(C,{key:1},[m(" ("+v(u(Fe).digital||0)+") ",1)],64)):g("v-if",!0)],2),y("div",ne,[1!=e.hideConditionChangeBtn?(d(),c("span",{key:0,class:"setting-1",onClick:Ue,style:{"margin-right":"30px"}},[p(u(N),{component:u(I),size:"16"},null,8,["component"]),m(" "+v("切换"))])):g("v-if",!0),1!=e.hideConditionChangeSetting?(d(),c("span",{key:1,class:"setting-1",onClick:Ye},[p(u(N),{component:u(w),size:"16"},null,8,["component"]),m(" "+v("设置"))])):g("v-if",!0)])])):g("v-if",!0),y("ul",{class:"tile",style:h({borderBottom:1!=e.hideClearConditionChange?"1px solid #d5d5d5":0})},[(d(!0),c(C,null,k(u(Pe).slice(1),((e,i)=>(d(),c(C,null,[e.children&&e.children.length>0?(d(),c("li",{class:"tile-item",key:i},[e.children&&0!==e.children.length?(d(),c(C,{key:1},[y("span",te,v(e.name),1),y("div",ae,[(d(!0),c(C,null,k(e.children,((i,n)=>(d(),c(C,null,[i.isShow?(d(),c("span",{key:n,class:r(["child-item",{selected:i.selected}]),onClick:n=>Ke(i,0,e)},[y("span",oe,v(ci(i.name,null==i?void 0:i.isPublic)),1),null!=i.resultNumber?(d(),c("label",de,[m("("),y("span",null,v(i.resultNumber),1),m(")")])):g("v-if",!0)],10,se)):g("v-if",!0)],64)))),256))])],64)):(d(),c("span",{key:0,class:r(["child-item",{selected:e.selected}]),style:{"padding-left":"17px"},onClick:i=>Ke(e)},v(e.name)+" "+v(e.digital),11,le))])):g("v-if",!0)],64)))),256))],4),1!=e.hideClearConditionChange?(d(),c("div",ce,[y("div",re,"已选择"+v(e.conditionSid.filter((e=>"all_data"!==e)).length)+"项",1),(d(!0),c(C,null,k(u(Pe).slice(1),(e=>(d(),c(C,null,[e.children&&0!==e.children.length?(d(!0),c(C,{key:1},k(e.children,((i,n)=>(d(),c(C,null,[i.selected?(d(),c("div",{class:"selected-item",key:i.sid},[m(v(i.name)+" ",1),p(u(N),{component:u(z),onClick:n=>Ke(i,0,e)},null,8,["component","onClick"])])):g("v-if",!0)],64)))),256)):(d(),c("div",{class:"selected-item",key:e.sid},[m(v(e.name)+" ",1),p(u(N),{component:u(z),onClick:i=>Ke(e)},null,8,["component","onClick"])]))],64)))),256)),y("div",{class:"selected-item-del",onClick:n[2]||(n[2]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[ue,m(" 清空筛选 ")])])):g("v-if",!0)])):g("v-if",!0)],64)):g("v-if",!0),2===u(De)&&e.showClassificationIndexs.includes(2)?(d(),c("div",{key:2,class:"select-type classify-2",ref_key:"selectType",ref:Me},[y("span",{class:"title",onClick:n[3]||(n[3]=()=>ei())},[p(u(O),{trigger:"hover",placement:"top"},{trigger:S((()=>[y("span",he,v(u($e)),1)])),default:S((()=>[y("span",fe,v(u($e)),1)])),_:1}),p(u(N),{component:u(Ae)?u(B):u(L)},null,8,["component"])]),u(Ae)?(d(),c("div",pe,[y("ul",{class:"tree",style:h({padding:1!=e.hideClearConditionChange?"40px 0":"40px 0 0"})},[(d(!0),c(C,null,k(u(Pe),((i,n)=>(d(),c(C,null,[0===n||!i.children||0===i.children.length||i.children&&0!==i.children.filter((e=>e.isShow)).length?(d(),c("li",{key:n,class:r(["tree-item",{"tree-header":0===n||!i.children||0===i.children.length}])},[0!==n&&i.children&&0!==i.children.length?(d(),c(C,{key:1},[0!==i.children.filter((e=>e.isShow)).length?(d(),c("span",{key:0,class:r(["parent",{open:i.open}]),onClick:e=>He(i)},[m(v(i.name)+v(i.digital||0===i.digital?"("+i.digital+")":"")+" ",1),p(u(N),{component:i.open?u(L):u(_)},null,8,["component"])],10,Ce)):g("v-if",!0),i.open?(d(!0),c(C,{key:1},k(i.children.filter((e=>e.isShow)),((e,n)=>(d(),c("div",{key:n,class:"children",onClick:n=>Ke(e,0,i)},[e.isShow?(d(),b(u(O),{key:0,placement:"right",trigger:"hover","z-index":1e4},{trigger:S((()=>[y("span",{class:r(["child-item",{selected:e.selected}])},[y("span",be,[y("span",Se,v(ci(e.name,null==e?void 0:e.isPublic)),1),null!=e.resultNumber?(d(),c("label",xe,[m("("),y("span",null,v(e.resultNumber),1),m(")")])):g("v-if",!0)]),e.selected?(d(),b(u(N),{key:0,component:u(j),size:"20"},null,8,["component"])):g("v-if",!0)],2)])),default:S((()=>[y("span",null,[m(v(u(Ve)(e)),1),null!=e.resultNumber?(d(),c(C,{key:0},[m("("+v(e.resultNumber)+")",1)],64)):g("v-if",!0)])])),_:2},1024)):g("v-if",!0)],8,ke)))),128)):g("v-if",!0)],64)):(d(),c(C,{key:0},[y("span",{class:r(["child-item child-header header-item",{selected:i.selected||-1!==e.conditionSid.indexOf("all_data")}]),onClick:e=>Ke(i)},[y("span",ve,v(i.name),1),null!=i.resultNumber?(d(),c("label",ge,[m("("),y("span",null,v(i.resultNumber),1),m(")")])):g("v-if",!0)],10,me),y("div",ye,[1!=e.hideConditionChangeBtn?(d(),c("span",{key:0,class:"tree-footer-icon",onClick:Ue},[p(u(N),{component:u(I),size:"16"},null,8,["component"]),m(" "+v("切换"))])):g("v-if",!0),1!=e.hideConditionChangeSetting?(d(),c("span",{key:1,class:"tree-footer-icon",onClick:Ye},[p(u(N),{component:u(w),size:"16"},null,8,["component"]),m(" "+v("设置"))])):g("v-if",!0)])],64))],2)):g("v-if",!0)],64)))),256))],4),1!=e.hideClearConditionChange?(d(),c("div",Ne,[y("div",Oe,"已选择"+v(e.conditionSid.filter((e=>"all_data"!==e)).length)+"项",1),y("div",{class:"selected-item-del",onClick:n[4]||(n[4]=e=>Ke({sid:"all_data",name:"全部数据",digital:u(Fe).digital}))},[Ie,m(" 清空筛选 ")])])):g("v-if",!0)])):g("v-if",!0)],512)):g("v-if",!0),g(" 弹出弹窗 "),p(M,{ref:"search",searchFieldList:e.searchFieldList,conditionList:u(Ee),displayCategoryList:u(Re),settingId:u(We),tableId:e.tableId,classifyModal:u(qe),onSaveGetTableCondiTionList:ai,onCondiTionListInit:ti,onSetClassifyModal:Ze},null,8,["searchFieldList","conditionList","displayCategoryList","settingId","tableId","classifyModal"])],6)}}});export{we as default};
@@ -475,9 +475,9 @@ declare const _default: import("vue").DefineComponent<{
475
475
  hide: boolean;
476
476
  }>;
477
477
  draggable: boolean;
478
- isHighlightRow: boolean;
479
478
  idx: number;
480
479
  isHighlight: boolean;
480
+ isHighlightRow: boolean;
481
481
  isFieldSet: boolean;
482
482
  fieldDescribeMode: "column" | "tooltip";
483
483
  }>;
@@ -496,9 +496,9 @@ declare const _default: import("vue").DefineComponent<{
496
496
  hide: boolean;
497
497
  }>;
498
498
  draggable: boolean;
499
- isHighlightRow: boolean;
500
499
  idx: number;
501
500
  isHighlight: boolean;
501
+ isHighlightRow: boolean;
502
502
  isFieldSet: boolean;
503
503
  fieldDescribeMode: "column" | "tooltip";
504
504
  }>;
@@ -613,9 +613,9 @@ declare const _default: import("vue").DefineComponent<{
613
613
  hide: boolean;
614
614
  }>;
615
615
  draggable: boolean;
616
- isHighlightRow: boolean;
617
616
  idx: number;
618
617
  isHighlight: boolean;
618
+ isHighlightRow: boolean;
619
619
  isFieldSet: boolean;
620
620
  fieldDescribeMode: "column" | "tooltip";
621
621
  }>;
@@ -317,9 +317,9 @@ declare const _default: import("vue").DefineComponent<{
317
317
  hide: boolean;
318
318
  }>;
319
319
  draggable: boolean;
320
- isHighlightRow: boolean;
321
320
  idx: number;
322
321
  isHighlight: boolean;
322
+ isHighlightRow: boolean;
323
323
  isFieldSet: boolean;
324
324
  fieldDescribeMode: "column" | "tooltip";
325
325
  }>;
@@ -51,6 +51,10 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
51
51
  }>>;
52
52
  required: true;
53
53
  };
54
+ checkAbleLevel: {
55
+ type: PropType<number | "last">;
56
+ default: string;
57
+ };
54
58
  onChange: {};
55
59
  value: {
56
60
  type: PropType<string | AnyObject[]>;
@@ -106,6 +110,10 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
106
110
  }>>;
107
111
  required: true;
108
112
  };
113
+ checkAbleLevel: {
114
+ type: PropType<number | "last">;
115
+ default: string;
116
+ };
109
117
  onChange: {};
110
118
  value: {
111
119
  type: PropType<string | AnyObject[]>;
@@ -118,4 +126,5 @@ export declare const LEVEL_SEARCH_CASCADER: import("vue").DefineComponent<{
118
126
  valueField: string;
119
127
  lazyRequest: boolean;
120
128
  requestCache: boolean;
129
+ checkAbleLevel: number | "last";
121
130
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,inject as o,createVNode as a}from"vue";import t from"../../../../../../shared/components/no-data/NoData.vue.js";import"../../../../../../shared/utils/index.js";import"naive-ui";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import{useLevelSearchCascader as r}from"../../../../../../shared/hooks/useLevelSearchCascader.js";import"@vueuse/shared";import"../../../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{connect as s,mapProps as u}from"@formily/vue";import"../../../../index.js";import{InjectionAsyncQueue as l,InjectionChangeContextCollector as i}from"../../../constants/index.js";import{useCommonInjection as n}from"../../../hooks/useCommonInjection.js";import d from"../../../../../search-cascader/index.js";import{assignUpdateValue as m}from"../../../utils/schema.js";import{useFormField as p}from"../../../hooks/useFormField.js";const v=s(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:s}){const u=o(l),{field:m,fieldKey:v}=p(),{valueRef:c,labelKey:f,valueKey:h,optionsRef:y,showRef:j,fetchData:C,menuWidth:F,searchCascaderRef:S}=r(e,s,{fieldKey:v,asyncQueue:u,getRequestPayload:()=>({field:m.value})}),g=o(i),k=f.value,x=h.value;function K(){F.value=150}g.setContext(v.value,(()=>({labelField:k,valueField:x})));const{injectValueValidate:b,injectValueBindKey:R}=n();b(c);const q=R(c);return()=>a(d,{ref:S,value:c.value,"onUpdate:value":e=>c.value=e,show:j.value,"onUpdate:show":e=>j.value=e,options:y.value,key:q.value,labelKey:f.value,valueKey:h.value,search:C,onFocus:K,menuWidth:F.value},{empty:()=>a(t,null,null)})}}),u({dataSource:"options"},m));export{v as LEVEL_SEARCH_CASCADER};
1
+ import{defineComponent as e,inject as o,createVNode as t}from"vue";import a from"../../../../../../shared/components/no-data/NoData.vue.js";import"../../../../../../shared/utils/index.js";import"naive-ui";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import{useLevelSearchCascader as l}from"../../../../../../shared/hooks/useLevelSearchCascader.js";import"@vueuse/shared";import"../../../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{connect as r,mapProps as s}from"@formily/vue";import"../../../../index.js";import{InjectionAsyncQueue as u,InjectionChangeContextCollector as i}from"../../../constants/index.js";import{useCommonInjection as n}from"../../../hooks/useCommonInjection.js";import d from"../../../../../search-cascader/index.js";import{assignUpdateValue as m}from"../../../utils/schema.js";import{useFormField as p}from"../../../hooks/useFormField.js";const c=r(e({name:"FormSearchCascade",props:{options:{type:Array,default:()=>[]},labelField:{type:String,default:"text"},valueField:{type:String,default:"value"},autograph:{type:String,required:!0},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},wordbook:{type:Object,required:!0},checkAbleLevel:{type:[Number,String],default:"last"},onChange:{},value:{type:[String,Array]}},emits:["update:value"],setup(e,{emit:r}){const s=o(u),{field:m,fieldKey:c}=p(),{valueRef:v,labelKey:h,valueKey:f,optionsRef:y,showRef:j,fetchData:b,menuWidth:k,searchCascaderRef:S}=l(e,r,{fieldKey:c,asyncQueue:s,getRequestPayload:()=>({field:m.value})}),g=o(i),C=h.value,F=f.value;function x(){k.value=150}g.setContext(c.value,(()=>({labelField:C,valueField:F})));const{injectValueValidate:K,injectValueBindKey:R}=n();K(v);const q=R(v);return()=>t(d,{ref:S,value:v.value,"onUpdate:value":e=>v.value=e,show:j.value,"onUpdate:show":e=>j.value=e,options:y.value,key:q.value,checkAbleLevel:e.checkAbleLevel,labelKey:h.value,valueKey:f.value,search:b,onFocus:x,menuWidth:k.value},{empty:()=>t(a,null,null)})}}),s({dataSource:"options"},m));export{c as LEVEL_SEARCH_CASCADER};
@@ -136,7 +136,7 @@ declare const _default: import("vue").DefineComponent<{
136
136
  labelKey: import("vue").ComputedRef<string>;
137
137
  optionsRef: import("vue").Ref<AnyObject[]>;
138
138
  showRef: import("vue").Ref<boolean>;
139
- fetchData: (node?: AnyObject | undefined, keyword?: string | undefined, updateValueWhenNoChild?: boolean) => Promise<void | AnyObject>;
139
+ fetchData: (node?: AnyObject | undefined, keyword?: string | undefined, dbClick?: boolean | undefined, updateValueWhenNoChild?: boolean) => Promise<void | AnyObject>;
140
140
  menuWidth: import("vue").Ref<number>;
141
141
  searchCascaderRef: import("vue").Ref<{
142
142
  getWidth: () => number;
@@ -343,6 +343,7 @@ declare const _default: import("vue").DefineComponent<{
343
343
  search: (payload?: {
344
344
  type: "search" | "update";
345
345
  node: AnyObject;
346
+ dbClick?: boolean | undefined;
346
347
  } | undefined, keyword?: string | undefined) => Promise<void>;
347
348
  changeCursorNode: (node: AnyObject) => void;
348
349
  NInput: any;
@@ -146,6 +146,7 @@ declare const SearchCascader: SFCWithInstall<import("vue").DefineComponent<{
146
146
  search: (payload?: {
147
147
  type: "search" | "update";
148
148
  node: import("../../shared/types").AnyObject;
149
+ dbClick?: boolean | undefined;
149
150
  } | undefined, keyword?: string | undefined) => Promise<void>;
150
151
  changeCursorNode: (node: import("../../shared/types").AnyObject) => void;
151
152
  NInput: any;
@@ -148,6 +148,7 @@ declare const _default: import("vue").DefineComponent<{
148
148
  search: (payload?: {
149
149
  type: 'search' | 'update';
150
150
  node: AnyObject;
151
+ dbClick?: boolean;
151
152
  }, keyword?: string) => Promise<void>;
152
153
  changeCursorNode: (node: AnyObject) => void;
153
154
  NInput: any;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as a,provide as t,ref as l,nextTick as o,watch as r,openBlock as u,createBlock as n,unref as s,mergeProps as i,isRef as d,withCtx as c,createElementVNode as v,createVNode as p,createCommentVNode as f,normalizeStyle as h,renderSlot as y}from"vue";import{useTheme as m}from"../../../shared/hooks/useTheme.js";import{useEventBus as b,useVModel as g,onClickOutside as k,useDebounceFn as w}from"@vueuse/core";import"date-fns";import{isArray as S,isString as C,isObject as K,isFunction as j}from"lodash-es";import{isPromise as P,NOOP as _}from"@vue/shared";import{uuidGenerator as N}from"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NPopover as x,NInput as A}from"naive-ui";import U from"./components/ClearIcon.vue.js";import{InjectionSearchCascaderCheckAbleLevel as W,InjectionKeyboardEventBus as B,InjectionSearchCascaderLoadingNode as F,InjectionSearchCascaderValue as I}from"./constants/index.js";import{SearchMenu as L}from"./components/SearchMenu.js";const T={style:{width:"100%"}},V=["id"];var E=e({__name:"SearchCascader",props:{value:{type:[String,Array]},show:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},childKey:{type:String,default:"children"},placeholder:{type:String,default:"请选择"},editPlaceholder:{type:String,default:"请输入关键字进行搜索"},options:{type:Array,default:()=>[]},search:{type:Function},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},checkAbleLevel:{type:[Number,String],default:"last"},beforeSetValue:{type:Function},menuWidth:{type:[Number,String],default:150},disabled:Boolean,inputProps:{type:Object},popperProps:{type:Object}},emits:["update:value","focus","update:show"],setup(e,{expose:E,emit:O}){const R=e,$=m();const H=a((()=>!R.disabled&&R.clearable&&(S(R.value)?R.value.length:!!R.value)));function M(){!function(e){if(!j(R.beforeSetValue))return O("update:value",e);const a=R.beforeSetValue(e);P(a)?a.then((e=>O("update:value",e)),_):O("update:value",a)}([])}function q(e){var a;"INPUT"===(null==(a=e.target)?void 0:a.tagName)&&ae()}const z=e=>{var a;"INPUT"!==(null==(a=e.target)?void 0:a.tagName)||"Enter"!==e.code||Q.value?G.emit(e.key,e):ae()},D=a((()=>({"--menu-width":R.menuWidth}))),G=b("cascaderKeydown"),J=N(),Q=g(R,"show",O);t(W,a((()=>R.checkAbleLevel))),t(B,G);const X=l(""),Y=a((()=>C(R.value)&&R.value?R.value:S(R.value)&&R.value.length?R.value.map((e=>K(e)?e[R.labelKey]:e)).join(" / "):R.editPlaceholder)),Z=a({get:()=>Q.value?X.value:C(R.value)?R.value:S(R.value)?R.value.reduce(((e,a,t)=>0===t?a[R.labelKey]:e+" / "+a[R.labelKey]),""):"",set(e){X.value=e,se(void 0,e)}});function ee(e){O("focus",e)}function ae(){Q.value||R.disabled||(Q.value=!0,X.value="",se())}async function te(){var e;Q.value=!1,null==(e=le.value)||e.blur()}const le=l();k(le,(e=>{var a;if(!Q.value)return;const t=e;if(!t.target)return te();!function(e){let a=!1,t=e;for(;t;){if(t.id===J){a=!0;break}t=t.parentElement}return a}(t.target)?te():null==(a=le.value)||a.focus()}));const oe=l(),re=l(),ue=l(),ne=l(null);t(F,ne),t(I,a((()=>R.value)));const se=w((async(e,a)=>{var t;const{type:l,node:r}=e||{};try{if("update"===l)return void(j(R.search)&&R.search({...r,isLeaf:!0}));ne.value=r;const e=await(j(R.search)&&R.search(r,a));re.value=K(e)||S(e)?e:r}finally{ne.value=null,await o(),null==(t=oe.value)||t.syncPosition()}}),400),ie=e=>{ue.value=e};return r((()=>R.show),(e=>{e&&(ue.value={})})),E({getWidth(){var e;if(!le.value)return 0;const a=null==(e=le.value)?void 0:e.$el;return a?a.clientWidth:void 0},setCursor(e){ue.value=e}}),(a,t)=>(u(),n(s(x),i({class:"search-cascader",trigger:"manual",show:s(Q),"onUpdate:show":t[1]||(t[1]=e=>d(Q)?Q.value=e:null),"show-arrow":!1,placement:"bottom-start",style:s(D),disabled:e.disabled,width:e.options.length?void 0:"trigger",ref_key:"popoverRef",ref:oe},e.popperProps),{trigger:c((()=>[v("div",T,[p(s(A),i({disabled:e.disabled,class:{"search-cascader__input":!e.disabled},placeholder:s(Q)?s(Y):e.placeholder,clearable:!1,value:s(Z),"onUpdate:value":t[0]||(t[0]=e=>d(Z)?Z.value=e:null),readonly:!s(Q),ref_key:"inputRef",ref:le,onFocus:ee,onClick:q,onKeydown:z},e.inputProps),{suffix:c((()=>[s(H)?(u(),n(U,{key:0,onClick:M})):f("v-if",!0)])),_:1},16,["disabled","class","placeholder","value","readonly"])])])),default:c((()=>[v("section",{id:s(J)},[p(s(L),{style:h(s($)),"label-key":e.labelKey,"value-key":e.valueKey,options:e.options,onNodeClick:s(se),onChangeCursor:ie,"current-node":re.value,"cursor-node":ue.value},{empty:c((()=>[y(a.$slots,"empty")])),_:3},8,["style","label-key","value-key","options","onNodeClick","current-node","cursor-node"])],8,V)])),_:3},16,["show","style","disabled","width"]))}});export{E as default};
1
+ import{defineComponent as e,computed as a,provide as t,ref as l,nextTick as o,watch as r,openBlock as u,createBlock as n,unref as s,mergeProps as i,isRef as d,withCtx as c,createElementVNode as v,createVNode as p,createCommentVNode as f,normalizeStyle as h,renderSlot as y}from"vue";import{useTheme as m}from"../../../shared/hooks/useTheme.js";import{useEventBus as b,useVModel as g,onClickOutside as k,useDebounceFn as w}from"@vueuse/core";import"date-fns";import{isArray as S,isString as C,isObject as K,isFunction as j}from"lodash-es";import{isPromise as P,NOOP as _}from"@vue/shared";import{uuidGenerator as N}from"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NPopover as x,NInput as A}from"naive-ui";import U from"./components/ClearIcon.vue.js";import{InjectionSearchCascaderCheckAbleLevel as W,InjectionKeyboardEventBus as B,InjectionSearchCascaderLoadingNode as F,InjectionSearchCascaderValue as I}from"./constants/index.js";import{SearchMenu as L}from"./components/SearchMenu.js";const T={style:{width:"100%"}},V=["id"];var E=e({__name:"SearchCascader",props:{value:{type:[String,Array]},show:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},childKey:{type:String,default:"children"},placeholder:{type:String,default:"请选择"},editPlaceholder:{type:String,default:"请输入关键字进行搜索"},options:{type:Array,default:()=>[]},search:{type:Function},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},checkAbleLevel:{type:[Number,String],default:"last"},beforeSetValue:{type:Function},menuWidth:{type:[Number,String],default:150},disabled:Boolean,inputProps:{type:Object},popperProps:{type:Object}},emits:["update:value","focus","update:show"],setup(e,{expose:E,emit:O}){const R=e,$=m();const H=a((()=>!R.disabled&&R.clearable&&(S(R.value)?R.value.length:!!R.value)));function M(){!function(e){if(!j(R.beforeSetValue))return O("update:value",e);const a=R.beforeSetValue(e);P(a)?a.then((e=>O("update:value",e)),_):O("update:value",a)}([])}function q(e){var a;"INPUT"===(null==(a=e.target)?void 0:a.tagName)&&ae()}const z=e=>{var a;"INPUT"!==(null==(a=e.target)?void 0:a.tagName)||"Enter"!==e.code||Q.value?G.emit(e.key,e):ae()},D=a((()=>({"--menu-width":R.menuWidth}))),G=b("cascaderKeydown"),J=N(),Q=g(R,"show",O);t(W,a((()=>R.checkAbleLevel))),t(B,G);const X=l(""),Y=a((()=>C(R.value)&&R.value?R.value:S(R.value)&&R.value.length?R.value.map((e=>K(e)?e[R.labelKey]:e)).join(" / "):R.editPlaceholder)),Z=a({get:()=>Q.value?X.value:C(R.value)?R.value:S(R.value)?R.value.reduce(((e,a,t)=>0===t?a[R.labelKey]:e+" / "+a[R.labelKey]),""):"",set(e){X.value=e,se(void 0,e)}});function ee(e){O("focus",e)}function ae(){Q.value||R.disabled||(Q.value=!0,X.value="",se())}async function te(){var e;Q.value=!1,null==(e=le.value)||e.blur()}const le=l();k(le,(e=>{var a;if(!Q.value)return;const t=e;if(!t.target)return te();!function(e){let a=!1,t=e;for(;t;){if(t.id===J){a=!0;break}t=t.parentElement}return a}(t.target)?te():null==(a=le.value)||a.focus()}));const oe=l(),re=l(),ue=l(),ne=l(null);t(F,ne),t(I,a((()=>R.value)));const se=w((async(e,a)=>{var t;const{type:l,node:r,dbClick:u}=e||{};try{if("update"===l)return void(j(R.search)&&R.search({...r,isLeaf:!0}));ne.value=r;const e=await(j(R.search)&&R.search(r,a,u));re.value=K(e)||S(e)?e:r}finally{ne.value=null,await o(),null==(t=oe.value)||t.syncPosition()}}),400),ie=e=>{ue.value=e};return r((()=>R.show),(e=>{e&&(ue.value={})})),E({getWidth(){var e;if(!le.value)return 0;const a=null==(e=le.value)?void 0:e.$el;return a?a.clientWidth:void 0},setCursor(e){ue.value=e}}),(a,t)=>(u(),n(s(x),i({class:"search-cascader",trigger:"manual",show:s(Q),"onUpdate:show":t[1]||(t[1]=e=>d(Q)?Q.value=e:null),"show-arrow":!1,placement:"bottom-start",style:s(D),disabled:e.disabled,width:e.options.length?void 0:"trigger",ref_key:"popoverRef",ref:oe},e.popperProps),{trigger:c((()=>[v("div",T,[p(s(A),i({disabled:e.disabled,class:{"search-cascader__input":!e.disabled},placeholder:s(Q)?s(Y):e.placeholder,clearable:!1,value:s(Z),"onUpdate:value":t[0]||(t[0]=e=>d(Z)?Z.value=e:null),readonly:!s(Q),ref_key:"inputRef",ref:le,onFocus:ee,onClick:q,onKeydown:z},e.inputProps),{suffix:c((()=>[s(H)?(u(),n(U,{key:0,onClick:M})):f("v-if",!0)])),_:1},16,["disabled","class","placeholder","value","readonly"])])])),default:c((()=>[v("section",{id:s(J)},[p(s(L),{style:h(s($)),"label-key":e.labelKey,"value-key":e.valueKey,options:e.options,onNodeClick:s(se),onChangeCursor:ie,"current-node":re.value,"cursor-node":ue.value},{empty:c((()=>[y(a.$slots,"empty")])),_:3},8,["style","label-key","value-key","options","onNodeClick","current-node","cursor-node"])],8,V)])),_:3},16,["show","style","disabled","width"]))}});export{E as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as r,createVNode as t,createTextVNode as o,computed as n,inject as a,onBeforeUnmount as l,withModifiers as c}from"vue";import{traverse as s}from"../../../../shared/utils/index.js";import{Reload as u,ChevronForward as i}from"@vicons/ionicons5";import{NOOP as d}from"@vue/shared";import{useVirtualList as p}from"@vueuse/core";import{isArray as f,isFunction as v,isNumber as y,isEqual as h,isString as m}from"lodash-es";import{NCheckbox as N}from"naive-ui";import{InjectionSearchCascaderLoadingNode as g,InjectionSearchCascaderValue as C,InjectionSearchCascaderCheckAbleLevel as b,InjectionKeyboardEventBus as k}from"../constants/index.js";const K=e({props:{options:{type:Array,default:()=>[]},activeNodes:{type:Array,default:()=>[]},level:{type:Number,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},cursorNode:{type:Object,default:()=>({})}},emits:["nodeClick","changeCursor"],setup(e,{emit:r}){const o=n((()=>e.options)),{list:s,containerProps:v,wrapperProps:K}=p(o,{itemHeight:32,overscan:5}),_=a(g),x=a(C),A=a(b),S=a(k),j=n((()=>y(A.value)&&A.value<=e.level));function w(e){return Object.keys(e).length<=0}function I(r){return e.cursorNode==r}function O(r){const t=function(e){const r=[e];let t=e;for(;t.parent;)t=t.parent,r.unshift(t);return r}(r);if(f(x.value))return h(o(t,e.valueKey),o(x.value,e.valueKey));if(m(x.value)){const r=x.value.split("/").map((e=>e.trim()));return h(r,o(t,e.labelKey))}return!1;function o(e,r){return e.map((e=>e[r]))}}function R(e){const r=v.ref.value;if(r){const t=32*e-(null==r?void 0:r.clientHeight);r.scrollTo(0,t>0?t:0)}}function T(t,n){if("ArrowUp"===t){if(w(e.cursorNode))return;const t=o.value.findIndex((r=>r===e.cursorNode));if(t>=0){const e=0===t?o.value.length-1:t-1,n=o.value[e];r("changeCursor",n),R(e+3)}}if("ArrowRight"===t){if(w(e.cursorNode))return;r("nodeClick",{type:"search",node:e.cursorNode}),r("changeCursor",{})}if("ArrowDown"===t){if(w(e.cursorNode))return r("changeCursor",o.value[0]);const t=o.value.findIndex((r=>r===e.cursorNode));if(t>=0){const e=t>=o.value.length-1?0:t+1,n=o.value[e];r("changeCursor",n),R(e+1)}}if("ArrowLeft"===t&&e.activeNodes.length){const t=e.activeNodes.slice(-1);r("changeCursor",t[0])}"Enter"===t&&function(){if(!w(e.cursorNode))Reflect.set(n,"stopCapture",!0),j.value?r("nodeClick",{type:"update",node:e.cursorNode}):r("nodeClick",{type:"search",node:e.cursorNode})}()}return l((()=>{S.off(T)})),S.on(T),()=>t("div",{class:"search-cascader__optionWrapper",ref:v.ref,style:v.style,onScroll:v.onScroll},[t("div",{style:K.value.style},[s.value.map((o=>{return t("div",{class:["search-cascader__option",{"search-cascader__option--active":(n=o.data,(null==(a=e.activeNodes)?void 0:a.includes(n))||I(o.data))}],onClick:()=>r("nodeClick",{type:"search",node:o.data}),title:o.data[e.labelKey]},[t("div",{class:"search-cascader__optionText"},[j.value?t(N,{style:{marginRight:"8px"},checked:O(o.data),onClick:c(d,["stop"]),onUpdateChecked:e=>e&&function(e){r("nodeClick",{type:"update",node:e})}(o.data)},null):null,t("span",{class:{"search-cascader__optionText--active":O(o.data)}},[o.data[e.labelKey]])]),_.value===o.data?t(u,{class:"rotate"},null):o.data.isLeaf?null:t(i,null,null)]);var n,a}))])])}}),_=e({props:{childKey:{type:String,default:"children"},options:{type:Array,default:()=>[]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},currentNode:{type:Object},cursorNode:{type:Object}},emits:["nodeClick","changeCursor"],setup(e,{slots:n,emit:a}){const l=r([]);function c(r,o){return t(K,{level:o+1,labelKey:e.labelKey,valueKey:e.valueKey,activeNodes:l.value,onNodeClick:e=>a("nodeClick",e),onChangeCursor:e=>a("changeCursor",e),options:r,cursorNode:e.cursorNode},null)}function u(r){let t=!1;return s(r,((r,o)=>{e.currentNode===r&&(t=!0,o())}),["children"]),t}function i(){var r,t;if(!f(e.options)||!e.currentNode)return[];const o=[e.options];let n=e.options;for(l.value.length=0;f(n);){const r=n.find(u);if(!r)break;l.value.push(r),n=r[e.childKey],o.push(n)}if(e.cursorNode){const n=o.findIndex((r=>(r&&r.findIndex((r=>r===e.cursorNode)))>=0));if(n>=0&&!(null==(t=null==(r=e.cursorNode)?void 0:r.children)?void 0:t.length)){const e=o.slice(0,n+1);return l.value.splice(n,o.length),e}}return o}return()=>t("section",{class:"search-cascader__menuWrapper"},[f(e.options)&&e.options.length?e.currentNode?i().map(c):c(e.options,0):t("section",{class:"search-cascader__emptyWrapper"},[v(n.empty)?n.empty():t("section",null,[o("empty")])])])}});export{_ as SearchMenu};
1
+ import{defineComponent as e,ref as t,createVNode as r,createTextVNode as o,computed as n,inject as l,onBeforeUnmount as a,withModifiers as c}from"vue";import{traverse as s}from"../../../../shared/utils/index.js";import{Reload as u,ChevronForward as i}from"@vicons/ionicons5";import{NOOP as d}from"@vue/shared";import{useVirtualList as p}from"@vueuse/core";import{isArray as f,isFunction as v,isNumber as y,isEqual as h,isString as m}from"lodash-es";import{NCheckbox as N}from"naive-ui";import{InjectionSearchCascaderLoadingNode as g,InjectionSearchCascaderValue as C,InjectionSearchCascaderCheckAbleLevel as k,InjectionKeyboardEventBus as b}from"../constants/index.js";const K=e({props:{options:{type:Array,default:()=>[]},activeNodes:{type:Array,default:()=>[]},level:{type:Number,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},cursorNode:{type:Object,default:()=>({})}},emits:["nodeClick","changeCursor"],setup(e,{emit:t}){const o=n((()=>e.options)),{list:s,containerProps:v,wrapperProps:K}=p(o,{itemHeight:32,overscan:5}),_=l(g),x=l(C),A=l(k),S=l(b),j=n((()=>y(A.value)&&A.value<=e.level));function w(e){return Object.keys(e).length<=0}function T(t){return e.cursorNode==t}function I(t){const r=function(e){const t=[e];let r=e;for(;r.parent;)r=r.parent,t.unshift(r);return t}(t);if(f(x.value))return h(o(r,e.valueKey),o(x.value,e.valueKey));if(m(x.value)){const t=x.value.split("/").map((e=>e.trim()));return h(t,o(r,e.labelKey))}return!1;function o(e,t){return e.map((e=>e[t]))}}function O(e){const t=v.ref.value;if(t){const r=32*e-(null==t?void 0:t.clientHeight);t.scrollTo(0,r>0?r:0)}}function R(r,n){if("ArrowUp"===r){if(w(e.cursorNode))return;const r=o.value.findIndex((t=>t===e.cursorNode));if(r>=0){const e=0===r?o.value.length-1:r-1,n=o.value[e];t("changeCursor",n),O(e+3)}}if("ArrowRight"===r){if(w(e.cursorNode))return;t("nodeClick",{type:"search",node:e.cursorNode}),t("changeCursor",{})}if("ArrowDown"===r){if(w(e.cursorNode))return t("changeCursor",o.value[0]);const r=o.value.findIndex((t=>t===e.cursorNode));if(r>=0){const e=r>=o.value.length-1?0:r+1,n=o.value[e];t("changeCursor",n),O(e+1)}}if("ArrowLeft"===r&&e.activeNodes.length){const r=e.activeNodes.slice(-1);t("changeCursor",r[0])}"Enter"===r&&function(){if(!w(e.cursorNode))Reflect.set(n,"stopCapture",!0),j.value?t("nodeClick",{type:"update",node:e.cursorNode}):t("nodeClick",{type:"search",node:e.cursorNode})}()}a((()=>{S.off(R)}));let W=null,H=0;return S.on(R),()=>r("div",{class:"search-cascader__optionWrapper",ref:v.ref,style:v.style,onScroll:v.onScroll},[r("div",{style:K.value.style},[s.value.map((o=>{return r("div",{class:["search-cascader__option",{"search-cascader__option--active":(n=o.data,(null==(l=e.activeNodes)?void 0:l.includes(n))||T(o.data))}],onClick:()=>function(e){H++,1===H?W=setTimeout((()=>{t("nodeClick",{type:"search",node:e}),W=null}),200):(W&&clearTimeout(W),W=setTimeout((()=>{t("nodeClick",{type:"search",node:e,dbClick:!0}),H=0,W=null}),200))}(o.data),title:o.data[e.labelKey]},[r("div",{class:"search-cascader__optionText"},[j.value?r(N,{style:{marginRight:"8px"},checked:I(o.data),onClick:c(d,["stop"]),onUpdateChecked:e=>e&&function(e){t("nodeClick",{type:"update",node:e})}(o.data)},null):null,r("span",{class:{"search-cascader__optionText--active":I(o.data)}},[o.data[e.labelKey]])]),_.value===o.data?r(u,{class:"rotate"},null):o.data.isLeaf?null:r(i,null,null)]);var n,l}))])])}}),_=e({props:{childKey:{type:String,default:"children"},options:{type:Array,default:()=>[]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},currentNode:{type:Object},cursorNode:{type:Object}},emits:["nodeClick","changeCursor"],setup(e,{slots:n,emit:l}){const a=t([]);function c(t,o){return r(K,{level:o+1,labelKey:e.labelKey,valueKey:e.valueKey,activeNodes:a.value,onNodeClick:e=>l("nodeClick",e),onChangeCursor:e=>l("changeCursor",e),options:t,cursorNode:e.cursorNode},null)}function u(t){let r=!1;return s(t,((t,o)=>{e.currentNode===t&&(r=!0,o())}),["children"]),r}function i(){var t,r;if(!f(e.options)||!e.currentNode)return[];const o=[e.options];let n=e.options;for(a.value.length=0;f(n);){const t=n.find(u);if(!t)break;a.value.push(t),n=t[e.childKey],o.push(n)}if(e.cursorNode){const n=o.findIndex((t=>(t&&t.findIndex((t=>t===e.cursorNode)))>=0));if(n>=0&&!(null==(r=null==(t=e.cursorNode)?void 0:t.children)?void 0:r.length)){const e=o.slice(0,n+1);return a.value.splice(n,o.length),e}}return o}return()=>r("section",{class:"search-cascader__menuWrapper"},[f(e.options)&&e.options.length?e.currentNode?i().map(c):c(e.options,0):r("section",{class:"search-cascader__emptyWrapper"},[v(n.empty)?n.empty():r("section",null,[o("empty")])])])}});export{_ as SearchMenu};
@@ -8,6 +8,7 @@ export declare function useLevelSearchCascader(props: Partial<{
8
8
  requestCache: boolean;
9
9
  value: string | AnyObject[];
10
10
  }> & {
11
+ checkAbleLevel: number | string;
11
12
  autograph: string;
12
13
  wordbook: LowCodeTypes.wordbook;
13
14
  labelField: string;
@@ -22,7 +23,7 @@ export declare function useLevelSearchCascader(props: Partial<{
22
23
  valueKey: import("vue").ComputedRef<string>;
23
24
  optionsRef: Ref<AnyObject[]>;
24
25
  showRef: Ref<boolean>;
25
- fetchData: (node?: AnyObject, keyword?: string, updateValueWhenNoChild?: boolean) => Promise<void | AnyObject>;
26
+ fetchData: (node?: AnyObject, keyword?: string, dbClick?: boolean, updateValueWhenNoChild?: boolean) => Promise<void | AnyObject>;
26
27
  menuWidth: Ref<number>;
27
28
  searchCascaderRef: Ref<{
28
29
  getWidth: () => number;
@@ -1 +1 @@
1
- import"../utils/index.js";import"naive-ui";import{computed as e,ref as t,watch as r,unref as n}from"vue";import"@vueuse/core";import"date-fns";import{isEqual as i,noop as o,isString as a,isNumber as l,isEmpty as u,isFunction as s,cloneDeep as c,omit as d,isArray as v}from"lodash-es";import{useFormRequest as p}from"./useFormRequest/index.js";import"@vueuse/shared";import"./selectHooks/useSearchContent.js";import"@vicons/ionicons5";function h(h,y,{asyncQueue:f,fieldKey:m,getRequestPayload:k=o}){const g=e({get:()=>h.value,set(e){i(e,h.value)||y("update:value",e)}}),w=t(!1),_=t([]),b=e((()=>{var e,t,r;return null!=(r=null==(t=null==(e=h.wordbook)?void 0:e.show_key)?void 0:t[0])?r:h.labelField})),O=e((()=>{var e,t;return null!=(t=null==(e=h.wordbook)?void 0:e.value_key)?t:h.valueField})),L=e((()=>{var e,t;return null==(t=null==(e=h.wordbook)?void 0:e.render_key)?void 0:t[0]})),j=e((()=>{var e;return(null==(e=h.wordbook)?void 0:e.level_num)||1/0})),C=function(e,t,r){return{transformListToChildren(e){if(!e.length)return[];const t=[(e=c(e))[0]];let r=e[0];for(let t=1;t<e.length;t++){const n=e[t];n&&(r.children=[n],n.parent=r,r=n)}return[e,t]},getNodeDepth(e){let t=1,r=e.parent;for(;r;)t++,r=r.parent;return t},enrichChildOption(e,t,r){return{...e,parent:t,isLeaf:this.getNodeDepth(t)+1>=r}},enrichKeywordOption:(e,n)=>(e.__keyword=!!n,e.isLeaf=!!n,n&&r.value&&e[r.value]&&(e[t.value]=e[r.value]),e),sortOptionWithIdList:(t,r)=>r.map((r=>t.find((t=>t[e.value]===r)))),generateOptionWithIdList(t,r,n){let i=t[0];return{options:r.reduce(((e,r,a)=>{const l=o(t,r);return 0===a?(i=l,[l]):(Object.assign(l,{parent:i,isLeaf:a+1>=n}),i.children=[l],i=l,e)}),[]),lastOption:i};function o(t,r){return t.find((t=>t[e.value]===r))}},parseLinkFromString2List:e=>e.split("_").filter((e=>e)),isClickNodeCheckbox:e=>e&&!e.__keyword&&e.isLeaf,createConfigObject:(t,r,n)=>r?t.conObj||[]:n?[{con:"EQ",is_compare_field:!1,field_key:t.level_key,value:n[e.value]}]:t.conObjFirstLevel||[],createOptionValue(e){const t=[];let r=e;for(;r;)t.unshift(d(r,["parent","isLeaf","__keyword","children"])),r=r.parent;return t},shouldInitOptionList:(t,r,n)=>v(t)&&!u(t)&&t.every((t=>t[e.value]))&&!r&&!n}}(O,b,L),{getSearchRequestInfo:K}=p(),I=t(150),R=t();async function x(e,t,r=!0){var i,o;if(I.value=t&&(null==(i=R.value)?void 0:i.getWidth())||150,C.shouldInitOptionList(g.value,e,t)){const[e,t]=C.transformListToChildren(g.value),r=e[Math.max(0,e.length-2)];if(g.value.length>1){_.value=t;const r=e[Math.max(0,e.length-2)];return await x(r,void 0,!1),r}if(null==(o=_.value)?void 0:o.length)return r}try{return C.isClickNodeCheckbox(e)?c(e):e?e.__keyword?async function(){var t;if(!a(e.id_link))return Promise.reject(`id_link isn't string "${e.id_link}"`);const r=C.parseLinkFromString2List(e.id_link);l(j.value)&&j.value!==1/0&&r.splice(j.value);const i=await async function(e){if(!K().primaryKeyUrl)return[];try{return await f.addAsync(t(h.wordbook,h.autograph,e,n(m)))}catch(e){a(e)&&console.error(e)}function t(e,t,r,n){const i=K();return{key:n,params:{autograph:t,tableId:e.id,primaryKeyValue:r.join(","),page:1},...i,url:i.primaryKeyUrl,cache:h.requestCache,payload:{field:{},labelKey:b.value,valueKey:O.value}}}}(r);if(!i)return Promise.reject("fetchPrimaryKeyValue failed");const{lastOption:o,options:s}=C.generateOptionWithIdList(i,r,j.value);if(s.length<j.value&&(await x(o),u(o.children)))return g.value=C.sortOptionWithIdList(i,r),w.value=!1,Promise.reject("lastOption.children is empty");return _.value=s,null==(t=R.value)||t.setCursor(o),o}():async function(){const t=await f.addAsync(d(h.wordbook,h.autograph,e,n(m)));if(!t.length)return r?c(e):Promise.reject("childrenList is empty");e.children=t.map((t=>C.enrichChildOption(t,e,j.value)))}():async function(){var r;const i=await f.addAsync(d(h.wordbook,h.autograph,e,n(m)));_.value=i.map((e=>C.enrichKeywordOption(e,t))),t&&(null==(r=R.value)||r.setCursor(_.value[0]))}()}catch(e){a(e)&&console.error(e)}function c(e){return g.value=C.createOptionValue(e),w.value=!1,Promise.reject("update value success, no need to continue")}function d(e,r,n,i){const o={autograph:()=>r,wordbookId:"id",wordbookType:"type",fieldKeys:()=>e.search_key?JSON.stringify(e.search_key):void 0,conObj:()=>JSON.stringify(C.createConfigObject(e,t,n)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>t,page:()=>1},l=Object.entries(o).reduce(((t,[r,n])=>(t[r]=a(n)?e[n]:s(n)?n():void 0,t)),{});return{...K(),params:l,key:i,cache:h.requestCache,payload:{...k(),labelKey:b.value,valueKey:O.value}}}}return r((()=>h.wordbook),((e,t)=>{i(e,t)||(_.value=[],e&&(g.value||!h.lazyRequest)&&x())}),{immediate:!0}),{valueRef:g,labelKey:b,valueKey:O,optionsRef:_,showRef:w,fetchData:x,menuWidth:I,searchCascaderRef:R}}export{h as useLevelSearchCascader};
1
+ import"../utils/index.js";import"naive-ui";import{computed as e,ref as t,watch as r,unref as n}from"vue";import"@vueuse/core";import"date-fns";import{isEqual as i,noop as o,isString as a,isNumber as l,isEmpty as u,isFunction as s,cloneDeep as c,omit as d,isArray as v}from"lodash-es";import{useFormRequest as p}from"./useFormRequest/index.js";import"@vueuse/shared";import"./selectHooks/useSearchContent.js";import"@vicons/ionicons5";function h(h,y,{asyncQueue:f,fieldKey:m,getRequestPayload:k=o}){const g=e({get:()=>h.value,set(e){i(e,h.value)||y("update:value",e)}}),b=t(!1),w=t([]),_=e((()=>{var e,t,r;return null!=(r=null==(t=null==(e=h.wordbook)?void 0:e.show_key)?void 0:t[0])?r:h.labelField})),O=e((()=>{var e,t;return null!=(t=null==(e=h.wordbook)?void 0:e.value_key)?t:h.valueField})),L=e((()=>{var e,t;return null==(t=null==(e=h.wordbook)?void 0:e.render_key)?void 0:t[0]})),j=e((()=>{var e;return(null==(e=h.wordbook)?void 0:e.level_num)||1/0})),C=function(e,t,r){return{transformListToChildren(e){if(!e.length)return[];const t=[(e=c(e))[0]];let r=e[0];for(let t=1;t<e.length;t++){const n=e[t];n&&(r.children=[n],n.parent=r,r=n)}return[e,t]},getNodeDepth(e){let t=1,r=e.parent;for(;r;)t++,r=r.parent;return t},enrichChildOption(e,t,r){return{...e,parent:t,isLeaf:this.getNodeDepth(t)+1>=r}},enrichKeywordOption:(e,n)=>(e.__keyword=!!n,e.isLeaf=!!n,n&&r.value&&e[r.value]&&(e[t.value]=e[r.value]),e),sortOptionWithIdList:(t,r)=>r.map((r=>t.find((t=>t[e.value]===r)))),generateOptionWithIdList(t,r,n){let i=t[0];return{options:r.reduce(((e,r,a)=>{const l=o(t,r);return 0===a?(i=l,[l]):(Object.assign(l,{parent:i,isLeaf:a+1>=n}),i.children=[l],i=l,e)}),[]),lastOption:i};function o(t,r){return t.find((t=>t[e.value]===r))}},parseLinkFromString2List:e=>e.split("_").filter((e=>e)),isClickNodeCheckbox:e=>e&&!e.__keyword&&e.isLeaf,createConfigObject:(t,r,n)=>r?t.conObj||[]:n?[{con:"EQ",is_compare_field:!1,field_key:t.level_key,value:n[e.value]}]:t.conObjFirstLevel||[],createOptionValue(e){const t=[];let r=e;for(;r;)t.unshift(d(r,["parent","isLeaf","__keyword","children"])),r=r.parent;return t},shouldInitOptionList:(t,r,n)=>v(t)&&!u(t)&&t.every((t=>t[e.value]))&&!r&&!n}}(O,_,L),{getSearchRequestInfo:K}=p(),I=t(150),N=t();async function R(e,t,r,i=!0){var o,c;if(I.value=t&&(null==(o=N.value)?void 0:o.getWidth())||150,C.shouldInitOptionList(g.value,e,t)){const[e,t]=C.transformListToChildren(g.value),r=e[Math.max(0,e.length-2)];if(g.value.length>1){w.value=t;const r=e[Math.max(0,e.length-2)];return await R(r,void 0,!1,!1),r}if(null==(c=w.value)?void 0:c.length)return r}try{return C.isClickNodeCheckbox(e)?d(e):e?e.__keyword?async function(){var t;if(!a(e.id_link))return Promise.reject(`id_link isn't string "${e.id_link}"`);const i=C.parseLinkFromString2List(e.id_link);l(j.value)&&j.value!==1/0&&i.splice(j.value);const o=await async function(e){if(!K().primaryKeyUrl)return[];try{return await f.addAsync(t(h.wordbook,h.autograph,e,n(m)))}catch(e){a(e)&&console.error(e)}function t(e,t,r,n){const i=K();return{key:n,params:{autograph:t,tableId:e.id,primaryKeyValue:r.join(","),page:1},...i,url:i.primaryKeyUrl,cache:h.requestCache,payload:{field:{},labelKey:_.value,valueKey:O.value}}}}(i);if(!o)return Promise.reject("fetchPrimaryKeyValue failed");const{lastOption:s,options:c}=C.generateOptionWithIdList(o,i,j.value);i.length<j.value&&(r&&(isNaN(+h.checkAbleLevel)||i.length>=+h.checkAbleLevel)?s&&(s.children=[]):await R(s));if(u(null==s?void 0:s.children))return g.value=C.sortOptionWithIdList(o,i),b.value=!1,Promise.reject("lastOption.children is empty");return w.value=c,null==(t=N.value)||t.setCursor(s),s}():async function(){const t=await f.addAsync(v(h.wordbook,h.autograph,e,n(m)));if(!t.length)return i?d(e):Promise.reject("childrenList is empty");e.children=t.map((t=>C.enrichChildOption(t,e,j.value)))}():async function(){var r;const i=await f.addAsync(v(h.wordbook,h.autograph,e,n(m)));w.value=i.map((e=>C.enrichKeywordOption(e,t))),t&&(null==(r=N.value)||r.setCursor(w.value[0]))}()}catch(e){a(e)&&console.error(e)}function d(e){return g.value=C.createOptionValue(e),b.value=!1,Promise.reject("update value success, no need to continue")}function v(e,r,n,i){const o={autograph:()=>r,wordbookId:"id",wordbookType:"type",fieldKeys:()=>e.search_key?JSON.stringify(e.search_key):void 0,conObj:()=>JSON.stringify(C.createConfigObject(e,t,n)),primaryKey:"primary_key",levelKey:"level_key",keyword:()=>t,page:()=>1},l=Object.entries(o).reduce(((t,[r,n])=>(t[r]=a(n)?e[n]:s(n)?n():void 0,t)),{});return{...K(),params:l,key:i,cache:h.requestCache,payload:{...k(),labelKey:_.value,valueKey:O.value}}}}return r((()=>h.wordbook),((e,t)=>{i(e,t)||(w.value=[],e&&(g.value||!h.lazyRequest)&&R())}),{immediate:!0}),{valueRef:g,labelKey:_,valueKey:O,optionsRef:w,showRef:b,fetchData:R,menuWidth:I,searchCascaderRef:N}}export{h as useLevelSearchCascader};
@@ -1 +1 @@
1
- var e="@cnhis-design-vue/shared",i="3.2.5-beta.50",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.2.5-beta.50",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.2.5-beta.52",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.2.5-beta.52",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.2.5-beta.50",
3
+ "version": "3.2.5-beta.52",
4
4
  "license": "ISC",
5
5
  "module": "./es/components/index.js",
6
6
  "main": "./es/components/index.js",
@@ -71,5 +71,5 @@
71
71
  "iOS 7",
72
72
  "last 3 iOS versions"
73
73
  ],
74
- "gitHead": "feadc0806413ec6204d7bd0e73de0b833f9f2d7b"
74
+ "gitHead": "bf9e46588bc4d47cb6a090f7b8ed0f714accae17"
75
75
  }