cnhis-design-vue 3.1.42-beta.40 → 3.1.42-beta.41

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.
Files changed (35) hide show
  1. package/README.md +87 -87
  2. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  3. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  4. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  5. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  6. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  7. package/es/components/iho-table/src/IhoTable.vue.js +1 -1
  8. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +2 -2
  9. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.d.ts +19 -19
  10. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +59 -236
  11. package/es/components/iho-table/src/hooks/tapHooks/useExposeHooks.d.ts +1 -4
  12. package/es/components/iho-table/src/hooks/tapHooks/useFieldHooks.d.ts +4 -16
  13. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.d.ts +2 -2
  14. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.js +1 -1
  15. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +25 -3
  16. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  17. package/es/components/iho-table/src/plugins/rowDragPlugin/index.js +1 -1
  18. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -1
  19. package/es/components/iho-table/src/types/index.d.ts +11 -0
  20. package/es/components/iho-table/src/types/pluginType.d.ts +11 -29
  21. package/es/components/iho-table/style/index.css +1 -1
  22. package/es/components/index.css +1 -1
  23. package/es/components/recommend-search/index.d.ts +7 -7
  24. package/es/components/recommend-search/src/RecommendSearch.vue.d.ts +7 -7
  25. package/es/components/recommend-search/src/components/RecommendInput.vue.d.ts +3 -3
  26. package/es/components/recommend-search/src/components/RecommendMenu.vue.d.ts +1 -1
  27. package/es/components/recommend-search/src/components/RecommendSelect.vue.d.ts +2 -2
  28. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  29. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  30. package/es/env.d.ts +24 -24
  31. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  32. package/es/shared/utils/tapable/index.d.ts +139 -0
  33. package/package.json +2 -2
  34. package/es/components/iho-table/index.d.ts +0 -4659
  35. package/es/components/iho-table/src/IhoTable.vue.d.ts +0 -4658
@@ -2,22 +2,10 @@ import { AsyncParallelHook, SyncWaterfallHook } from '../../../../../../es/share
2
2
  import { FieldHookContext, IhoTableFieldItem } from '../../../../../../es/components/iho-table/src/types';
3
3
  import { AbstractFieldHooks } from '../../../../../../es/components/iho-table/src/types';
4
4
  declare class FieldHooks extends AbstractFieldHooks {
5
- readonly fieldStart: AsyncParallelHook<[import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, {
6
- $table: import("vue").Ref<import("../../../../../shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
7
- emits: import("../../../../../../es/components/iho-table/src/types").IhoTableEmits;
8
- }], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
9
- readonly field: SyncWaterfallHook<[IhoTableFieldItem, FieldHookContext, import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, {
10
- $table: import("vue").Ref<import("../../../../../shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
11
- emits: import("../../../../../../es/components/iho-table/src/types").IhoTableEmits;
12
- }], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
13
- readonly fieldList: SyncWaterfallHook<[IhoTableFieldItem[], import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, {
14
- $table: import("vue").Ref<import("../../../../../shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
15
- emits: import("../../../../../../es/components/iho-table/src/types").IhoTableEmits;
16
- }], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
17
- readonly fieldEnd: AsyncParallelHook<[import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, {
18
- $table: import("vue").Ref<import("../../../../../shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
19
- emits: import("../../../../../../es/components/iho-table/src/types").IhoTableEmits;
20
- }], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
5
+ readonly fieldStart: AsyncParallelHook<[import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, import("../../../../../../es/components/iho-table/src/types").IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
6
+ readonly field: SyncWaterfallHook<[IhoTableFieldItem, FieldHookContext, import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, import("../../../../../../es/components/iho-table/src/types").IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
7
+ readonly fieldList: SyncWaterfallHook<[IhoTableFieldItem[], import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, import("../../../../../../es/components/iho-table/src/types").IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
8
+ readonly fieldEnd: AsyncParallelHook<[import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, import("../../../../../../es/components/iho-table/src/types").IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
21
9
  }
22
10
  export declare function useFieldHooks(): {
23
11
  create: () => FieldHooks;
@@ -1,8 +1,8 @@
1
1
  import { SyncHook } from '../../../../../../es/shared/utils/tapable';
2
2
  import { Ref } from 'vue';
3
- import { AbstractSetupHooks, IhoTableConfig, IhoTableFieldItem } from '../../../../../../es/components/iho-table';
3
+ import { AbstractSetupHooks, IhoTableConfig, IhoTableFieldItem, IhoTableHandlerContext } from '../../../../../../es/components/iho-table';
4
4
  declare class SetupHooks extends AbstractSetupHooks {
5
- readonly setup: SyncHook<[Ref<IhoTableConfig>, Ref<IhoTableFieldItem[]>], void, import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
5
+ readonly setup: SyncHook<[Ref<IhoTableConfig>, Ref<IhoTableFieldItem[]>, IhoTableHandlerContext<true>], void, import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
6
6
  }
7
7
  export declare function useSetupHooks(): {
8
8
  create: () => SetupHooks;
@@ -1 +1 @@
1
- import s from"../../../../../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"../../../index.js";import{AbstractSetupHooks as e}from"../../types/pluginType.js";class t extends e{constructor(){super(...arguments),this.setup=new s(["config","fieldList"])}}function o(){return{create:function(){return new t}}}export{o as useSetupHooks};
1
+ import s from"../../../../../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"../../../index.js";import{AbstractSetupHooks as t}from"../../types/pluginType.js";class e extends t{constructor(){super(...arguments),this.setup=new s(["config","fieldList","context"])}}function o(){return{create:function(){return new e}}}export{o as useSetupHooks};
@@ -1,10 +1,10 @@
1
1
  import { PropType } from 'vue';
2
2
  import { VxeTableDefines } from 'vxe-table';
3
3
  import { AnyObject } from '../../../../../../../../es/shared/types';
4
+ import { IhoTableLowCodeField } from '../../../../../../../../es/components/iho-table';
4
5
  declare const _default: import("vue").DefineComponent<{
5
6
  value: {
6
7
  type: PropType<string | number | (string | number)[]>;
7
- default: undefined;
8
8
  };
9
9
  column: {
10
10
  type: PropType<VxeTableDefines.ColumnInfo>;
@@ -18,10 +18,20 @@ declare const _default: import("vue").DefineComponent<{
18
18
  type: NumberConstructor;
19
19
  required: true;
20
20
  };
21
+ options: {
22
+ type: PropType<AnyObject[]>;
23
+ default: () => never[];
24
+ };
25
+ queryOptions: {
26
+ type: PropType<IhoTableLowCodeField.QueryOptions>;
27
+ };
28
+ placeholder: {
29
+ type: StringConstructor;
30
+ default: string;
31
+ };
21
32
  }, () => 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<{
22
33
  value: {
23
34
  type: PropType<string | number | (string | number)[]>;
24
- default: undefined;
25
35
  };
26
36
  column: {
27
37
  type: PropType<VxeTableDefines.ColumnInfo>;
@@ -35,9 +45,21 @@ declare const _default: import("vue").DefineComponent<{
35
45
  type: NumberConstructor;
36
46
  required: true;
37
47
  };
48
+ options: {
49
+ type: PropType<AnyObject[]>;
50
+ default: () => never[];
51
+ };
52
+ queryOptions: {
53
+ type: PropType<IhoTableLowCodeField.QueryOptions>;
54
+ };
55
+ placeholder: {
56
+ type: StringConstructor;
57
+ default: string;
58
+ };
38
59
  }>> & {
39
60
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
40
61
  }, {
41
- value: string | number | (string | number)[];
62
+ options: AnyObject[];
63
+ placeholder: string;
42
64
  }>;
43
65
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,reactive as o,watch as t,createVNode as n,mergeProps as l}from"vue";import{NSelect as r}from"naive-ui";import{useIhoTableFormEvent as a}from"../../../../utils/index.js";import{useAutoFocus as u}from"../hooks/useAutoFocus.js";import{useDebounceFn as i}from"@vueuse/core";import{cloneDeep as s}from"lodash-es";var c=e({name:"EditSelect",inheritAttrs:!1,components:{NSelect:r},props:{value:{type:[Array,String,Number],default:void 0},column:{type:Object,required:!0},row:{type:Object,required:!0},rowIndex:{type:Number,required:!0}},emits:["update:value"],setup(e,{attrs:c,emit:p}){const{isShow:d,setRef:m,formRef:v}=u(),{emitFormChangeWithParams:f}=a(e),h=o({placeholder:c.placeholder||"请选择",options:c.options});var w;async function y(o){var t;h.loading=!0;const n={keyword:o,row:e.row,column:e.column,rowIndex:e.rowIndex};try{h.options=await(null==(t=c.queryOptions)?void 0:t.call(c,n)),h.loading=!1}catch(o){console.log(`获取${e.column.field}_options错误`)}}function b(o){const t=e.value;p("update:value",o),f({oldValue:t})}function g(e){var o,t;const n=s(e);"Tab"===e.key&&(null==(t=null==(o=v.value)?void 0:o.handleKeydown)||t.call(o,{...n,key:"Enter",preventDefault:e.preventDefault.bind(e)}))}t((()=>c.options),(e=>{e.length&&(h.options=e,h.remote=!1,h.onSearch=null)})),(null==(w=h.options)?void 0:w.length)||(h.remote=!0,h.loading=!1,h.onSearch=i(y,400),h.onSearch(""));const S=()=>({class:"iho-table__selectOption"}),x={class:"iho-table__selectMenu"};return()=>n(r,l({ref:m,show:d.value,"onUpdate:show":e=>d.value=e},c,h,{value:e.value,clearable:!0,filterable:!0,nodeProps:S,menuProps:x,onUpdateValue:b,onKeydown:g}),null)}});export{c as default};
1
+ import{defineComponent as e,reactive as o,watch as t,createVNode as r,mergeProps as n}from"vue";import{NSelect as l}from"naive-ui";import{useIhoTableFormEvent as a}from"../../../../utils/index.js";import{useAutoFocus as u}from"../hooks/useAutoFocus.js";import{useDebounceFn as i}from"@vueuse/core";import{isFunction as s,isArray as p}from"lodash-es";var c=e({name:"EditSelect",props:{value:{type:[Array,String,Number]},column:{type:Object,required:!0},row:{type:Object,required:!0},rowIndex:{type:Number,required:!0},options:{type:Array,default:()=>[]},queryOptions:{type:Function},placeholder:{type:String,default:"请选择"}},emits:["update:value"],setup(e,{emit:c}){const{isShow:d,setRef:m,formRef:f}=u(),{emitFormChangeWithParams:y}=a(e),h=o({options:e.options,loading:!1,remote:!1,onSearch:null}),v=i((async function(o=""){h.loading=!0;try{if(!s(e.queryOptions))return;h.options=await e.queryOptions({keyword:o,row:e.row,column:e.column,rowIndex:e.rowIndex})}catch(o){console.log(`获取${e.column.field}_options错误`)}finally{h.loading=!1}}),400);function w(o){const t=e.value;c("update:value",o),y({oldValue:t})}function b(e){var o,t;"Tab"===e.key&&f.value&&(null==(t=(o=f.value).handleKeydown)||t.call(o,{...e,key:"Enter",preventDefault:e.preventDefault.bind(e)}))}t((()=>e.options),(e=>{if(p(e)&&e.length)return h.options=e,h.remote=!1,void(h.onSearch=null);h.remote=!0,h.onSearch=v,h.onSearch()}),{immediate:!0});const g=()=>({class:"iho-table__selectOption"}),S={class:"iho-table__selectMenu"};return()=>r(l,n({ref:m,show:d.value,"onUpdate:show":e=>d.value=e,placeholder:e.placeholder},h,{value:e.value,clearable:!0,filterable:!0,nodeProps:g,menuProps:S,onUpdateValue:w,onKeydown:b}),null)}});export{c as default};
@@ -1 +1 @@
1
- import{onMounted as e,onBeforeUnmount as o}from"vue";import"../../../index.js";import l from"sortablejs";import{defineTablePlugin as r}from"../../hooks/useTablePlugin.js";function a(){const a="rowDragPlugin",u=new Map;return r({name:a,apply(r){r.fieldHooks.fieldEnd.tapPromise(a,(async({uuid:o,rowDraggable:r},{$table:a,emits:t})=>{o&&r&&e((async()=>{var e,r,n;const i=null==(n=null==(r=null==(e=a.value)?void 0:e.$el)?void 0:r.querySelector)?void 0:n.call(r,".body--wrapper>.vxe-table--body tbody");if(!i)return;const d=l.create(i,{handle:".vxe-body--row",onEnd:e=>{t("rowDrag",e)}});u.set(o,d)}))})),r.setupHooks.setup.tap(a,(e=>{o((()=>{var o;(null==(o=e.value)?void 0:o.uuid)&&u.has(e.value.uuid)&&u.delete(e.value.uuid)}))}))}})}export{a as rowDragPlugin};
1
+ import{promiseTimeout as e}from"@vueuse/shared";import{isFunction as o}from"lodash-es";import{nextTick as r,onBeforeUnmount as t}from"vue";import"../../../index.js";import n from"sortablejs";import{defineTablePlugin as a}from"../../hooks/useTablePlugin.js";function u(){const u="rowDragPlugin",i=new Map;return a({name:u,apply(a){a.fieldHooks.fieldEnd.tapPromise(u,(async(t,{$table:a,emits:u})=>{const{uuid:l,sortableConfig:s={}}=t;l&&s.enable&&!i.get(l)&&(await r(),async function r(t=0){var d,f,p;if(t>2)return;const m=null==(p=null==(f=null==(d=a.value)?void 0:d.$el)?void 0:f.querySelector)?void 0:p.call(f,".body--wrapper>.vxe-table--body tbody");if(m){const e=n.create(m,{handle:".vxe-body--row",...s,onEnd:e=>{u("rowDrag",e),o(s.onEnd)&&s.onEnd(e),s.usePreset&&function(e,o,r){r.treeConfig&&r.treeConfig.transform}(0,0,a.value)}});return i.set(l,e)}await e(100),r(++t)}())})),a.setupHooks.setup.tap(u,(e=>{t((()=>{var o;(null==(o=e.value)?void 0:o.uuid)&&i.has(e.value.uuid)&&i.delete(e.value.uuid)}))}))}})}export{u as rowDragPlugin};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as t,ref as o,computed as l,provide as a,watch as r,onMounted as n,createVNode as s,h as i,onBeforeUnmount as u,reactive as d,unref as c}from"vue";import{traverse as m}from"../../../../../shared/utils/index.js";import{useThrottleFn as p}from"@vueuse/core";import{promiseTimeout as f}from"@vueuse/shared";import{isFunction as h,omit as g,isString as v,last as x}from"lodash-es";import"../../../index.js";import{InjectionIhoTableUUID as I,WIDGET_TYPE as y}from"../../constants/index.js";import{useUUIDMap as R}from"../../utils/index.js";import{defineTablePlugin as H}from"../../hooks/useTablePlugin.js";class b{constructor(){this.records={},this.maxRecords=d({})}set(e,t,o){this.records[e]||(this.records[e]={}),this.records[e][t]=o,this.maxRecords[e]=Math.max(...Object.values(this.records[e]),0)}getMax(e){var t;return null!=(t=this.maxRecords[e])?t:0}}const{getItemFromUUID:w,removeItemFromUUID:D}=R((()=>new b),!0),{getItemFromUUID:U,removeItemFromUUID:S,setItemFromUUID:T}=R((()=>null)),{getItemFromUUID:E,removeItemFromUUID:F,setItemFromUUID:M}=R((()=>{})),j=e({props:{payload:{type:Object,required:!0}},setup(e){const u=t(I),d=t("$xetable"),c=o(),m=w(u),p=l((()=>e.payload.row[e.payload.column.field]));async function g(){await f(0);const{row:t,column:o}=e.payload,l=d.getRowSeq(t);m&&null!=l&&c.value&&m.set(l,o.field,c.value.clientHeight)}a("updateCellHeight",g),r([()=>e.payload.rowIndex,()=>e.payload.column.field,p,()=>e.payload.column.renderWidth],g,{immediate:!0}),n((()=>{d&&!U(u)&&T(u,d)}));const v=l((()=>{var t,o,l,a;const r=null!=(o=null==(t=e.payload.column.editRender)?void 0:t.props)?o:{},n=null!=(a=null==(l=r.slots)?void 0:l.default)?a:r.slotFn;return h(n)?n:()=>p.value}));return()=>s("div",{ref:c,style:"padding:7px 0"},[i(v.value,e.payload)])}});function k(e,t,{scrollTop:o=0}){var l,a;const{uuid:r,rowConfig:n={}}=t;if(!r)return;const s=w(r),{oSize:i=0,gt:u=100}=null!=(l=E(r))?l:{},{internalData:d,reactData:m}=e,{scrollYStore:p,elemStore:f,afterFullData:h,fullDataRowIdData:g}=d;if(u>h.length)return;const v=null!=(a=n.height)?a:36,I=f["main-body-wrapper"],y=I?c(I):null,R=y?Math.max(8,Math.ceil(y.clientHeight/v)+2+2*i):8,H=[0];let b=0;o&&h.find(((t,l)=>{const a=e.getRowSeq(t),r=(x(H)||0)+Math.max(v,s.getMax(a));if(H.push(r),r>o)return b=Math.max(0,l-i),!0})),Object.assign(p,{startIndex:b,endIndex:b+R});const D=`${H[b]}px`,U=`${h.reduce(((t,o)=>{const l=e.getRowSeq(o);return t+Math.max(v,s.getMax(l))}),0)}px`;["main","left","right"].forEach((e=>{const t=f[`${e}-body-table`],o=t?c(t):null;o&&(o.style.marginTop=D),["header","body","footer"].forEach((t=>{const o=f[`${e}-${t}-ySpace`],l=o?c(o):null;l&&(l.style.height=U)}))}));const S=h.slice(p.startIndex,p.endIndex);S.forEach(((t,o)=>{const l=e.getRowid(t),a=g[l];a&&(a.$index=o)})),m.tableData=S}function C(){const e="variableHeightRendererPlugin";return H({name:e,vxe(e){e.renderer.add(y.VARIABLE_HEIGHT,{renderCell:(e,t)=>s(j,{payload:t},null)})},apply(t){function o(e){if(!e.uuid)return;const t=E(e.uuid);t&&(e.scrollY=t),setTimeout((()=>{const t=U(e.uuid);if(!t)return;e.scrollY={enabled:!1},t.reactData.scrollYLoad=!1;const o=t.getScroll();k(t,e,{scrollTop:o.scrollTop})}),300)}t.dataHooks.dataStart.tap(e,o),t.eventHooks.onFilterChange.tap(e,((e,t)=>o(t))),t.eventHooks.onSortChange.tap(e,((e,t)=>o(t))),t.eventHooks.onToggleTreeExpand.tap(e,((e,t)=>o(t))),t.eventHooks.onResizableChange.tap(e,(async({column:e},t)=>{if(!e.editRender||!e.editRender.props)return;e.editRender.props.variableHeight&&o(t)})),t.fieldHooks.field.tap(e,(e=>{if(Reflect.get(e,"variableHeight")){const t=e.slots;e.slots=g(t,["default"]),e.editRender={...e.editRender,name:y.VARIABLE_HEIGHT}}return e})),t.fieldHooks.fieldList.tap(e,((e,t,{$table:o})=>(t.uuid&&m(e,((e,l)=>{var a,r,n;if((null==(a=e.editRender)?void 0:a.name)===y.VARIABLE_HEIGHT){const e=null!=(n=null==(r=t.rowConfig)?void 0:r.height)?n:36,a=w(t.uuid),s=t.cellStyle;t.cellStyle=function(t){const l={};if(t.column.fixed&&o.value){const r=Math.max(e,a.getMax(o.value.getRowSeq(t.row)));r&&(l.height=`${r}px`)}return Object.assign(l,s?h(s)?s(t):s:null)};const i=t.cellClassName;t.cellClassName=function(e){var t;const o=h(i)?i(e):i,l=o?v(o)?{[o]:!0}:o:{};return Object.assign({"virtual-height":(null==(t=e.column.editRender)?void 0:t.name)===y.VARIABLE_HEIGHT},l)},setTimeout((()=>{M(t.uuid,t.scrollY),t.scrollY={enabled:!1};const e=U(t.uuid);e&&(e.reactData.scrollYLoad=!1,k(e,t,{scrollTop:0}))}),300),l()}})),e))),t.setupHooks.setup.tap(e,(e=>{u((()=>{e.value.uuid&&(D(e.value.uuid),S(e.value.uuid),F(e.value.uuid))}))})),t.eventHooks.onScroll.tap(e,p((async(e,t)=>{const{uuid:o}=t;if(!o)return;const l=U(o);l&&(await f(0),k(l,t,e))}),200))}})}export{C as variableHeightRendererPlugin};
1
+ import{defineComponent as e,inject as t,ref as o,computed as n,provide as r,watch as l,onMounted as a,createVNode as s,h as i,unref as d,onBeforeUnmount as u,shallowReactive as c}from"vue";import{traverse as m}from"../../../../../shared/utils/index.js";import{useThrottleFn as p}from"@vueuse/core";import{promiseTimeout as f}from"@vueuse/shared";import{ary as h,isFunction as g,isNumber as v,omit as x,last as I}from"lodash-es";import"../../../index.js";import{InjectionIhoTableUUID as b,InjectionIhoTableConfig as w,WIDGET_TYPE as y}from"../../constants/index.js";import{useUUIDMap as R}from"../../utils/index.js";import{defineTablePlugin as H}from"../../hooks/useTablePlugin.js";class D{constructor(){this.records={},this.maxRecords=c(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const n=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==n&&this.maxRecords.set(e,n)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:U,removeItemFromUUID:S}=R((()=>new D),!0),{getItemFromUUID:T,removeItemFromUUID:M,setItemFromUUID:C}=R((()=>null)),{getItemFromUUID:E,removeItemFromUUID:k,setItemFromUUID:F}=R((()=>{})),$=e({props:{payload:{type:Object,required:!0}},setup(e){const d=t(b),u=t("$xetable"),c=t(w),m=o(),p=U(d),x=n((()=>e.payload.row[e.payload.column.field]));async function I(t=0){var o,n;if(t>2)return;await f(0);const{row:r,column:l}=e.payload,a=u.getRowSeq(r);if(!p||null==a||!m.value)return;const s=null==(n=null==(o=c.value)?void 0:o.rowConfig)?void 0:n.height,i=m.value.clientHeight;v(s)&&s>=i||(m.value.clientWidth<l.renderWidth/2?(p.set(a,l.field,i),await f(100),I(++t)):p.set(a,l.field,i))}r("updateCellHeight",I),l([()=>e.payload.rowIndex,()=>e.payload.column.field,x,()=>e.payload.column.renderWidth],h(I,0),{immediate:!0}),a((()=>{u&&!T(d)&&C(d,u)}));const y=n((()=>{var t,o,n,r;const l=null!=(o=null==(t=e.payload.column.editRender)?void 0:t.props)?o:{},a=null!=(r=null==(n=l.slots)?void 0:n.default)?r:l.slotFn;return g(a)?a:()=>x.value}));return()=>s("div",{ref:m,style:"padding:7px 0"},[i(y.value,e.payload)])}});function j(e,t,{scrollTop:o=0}){var n,r;const{uuid:l,rowConfig:a={}}=t;if(!l)return;const s=U(l),{oSize:i=0,gt:u=100}=null!=(n=E(l))?n:{},{internalData:c,reactData:m}=e,{scrollYStore:p,elemStore:f,afterFullData:h,fullDataRowIdData:v}=c;if(u>h.length)return;const x=null!=(r=a.height)?r:36,b=f["main-body-wrapper"],w=b?d(b):null;let y=w?Math.max(8,Math.ceil(w.clientHeight/x)+2+i):8;const R=[0];let H=0;if(o&&h.find(((t,n)=>{const r=e.getRowSeq(t),l=(I(R)||0)+Math.max(x,s.getMax(r));if(R.push(l),l>o)return H=Math.max(0,n-i),y+=Math.min(H,i),!0})),H>0&&g(t.spanMethod)){const{spanMethod:o}=t,n={rowspan:1,colspan:1};for(;H>0;){if(!e.getColumns().some(((e,t)=>{const{rowspan:r,colspan:l}=o({column:e,columnIndex:t,$columnIndex:t,row:h[H],rowIndex:H,$rowIndex:H,_rowIndex:H,isHidden:!e.visible,fixed:e.fixed,type:e.type,visibleData:h})||n;if(0===r&&0===l)return H--,!0})))break}}const D=H+y;if(p.startIndex===H&&p.endIndex===D)return;p.startIndex=H,p.endIndex=D;const S=`${R[H]}px`,T=`${h.reduce(((t,o)=>{const n=e.getRowSeq(o);return t+Math.max(x,s.getMax(n))}),0)}px`;["main","left","right"].forEach((e=>{const t=f[`${e}-body-table`],o=t?d(t):null;o&&(o.style.marginTop=S),["header","body","footer"].forEach((t=>{const o=f[`${e}-${t}-ySpace`],n=o?d(o):null;n&&(n.style.height=T)}))}));const M=h.slice(p.startIndex,p.endIndex);M.forEach(((t,o)=>{const n=e.getRowid(t),r=v[n];r&&(r.$index=o)})),m.tableData.length=0,m.tableData.push(...M)}function Y(){const e="variableHeightRendererPlugin";return H({name:e,vxe(e){e.renderer.add(y.VARIABLE_HEIGHT,{renderCell:(e,t)=>s($,{payload:t},null)})},apply(t){function o(e){if(!e.uuid)return;const t=E(e.uuid);t&&(e.scrollY=t),setTimeout((()=>{const t=T(e.uuid);if(!t)return;e.scrollY={enabled:!1},t.reactData.scrollYLoad=!1;const o=t.getScroll();j(t,e,{scrollTop:o.scrollTop})}),300)}t.dataHooks.dataStart.tap(e,o),t.eventHooks.onFilterChange.tap(e,((e,t)=>o(t))),t.eventHooks.onSortChange.tap(e,((e,t)=>o(t))),t.eventHooks.onToggleTreeExpand.tap(e,((e,t)=>o(t))),t.eventHooks.onResizableChange.tap(e,(async({column:e},t)=>{if(!e.editRender||!e.editRender.props)return;e.editRender.props.variableHeight&&o(t)})),t.fieldHooks.field.tap(e,(e=>{if(Reflect.get(e,"variableHeight")){const t=e.slots;e.slots=x(t,["default"]),e.editRender={...e.editRender,name:y.VARIABLE_HEIGHT},e.showOverflow=null;const o=e.className,n="variable-height";e.className=o?function(e){return g(o)?[o(e),n]:[o,n]}:n}return e})),t.fieldHooks.fieldList.tap(e,((e,t,{$table:o})=>(t.uuid&&m(e,((e,n)=>{var r,l,a;if((null==(r=e.editRender)?void 0:r.name)===y.VARIABLE_HEIGHT){const e=null!=(a=null==(l=t.rowConfig)?void 0:l.height)?a:36,r=U(t.uuid),s=t.cellStyle;if(t.cellStyle=function(t){const n={};if(t.column.fixed&&o.value){const l=r.getMax(o.value.getRowSeq(t.row));l&&l>e&&(n.height=`${l}px`)}return Object.assign(n,s?g(s)?s(t):s:null)},t.sortableConfig&&t.sortableConfig.enable){const e=t.sortableConfig.onEnd;t.sortableConfig.onEnd=function(o){const n=T(t.uuid);if(n){const{internalData:{elemStore:e}}=n,o=e["main-table-body"];o&&d(o)&&j(n,t,{scrollTop:d(o).scrollTop})}g(e)&&e(o)}}setTimeout((()=>{F(t.uuid,t.scrollY),t.scrollY={enabled:!1};const e=T(t.uuid);e&&(e.reactData.scrollYLoad=!1,j(e,t,{scrollTop:0}))}),300),n()}})),e))),t.setupHooks.setup.tap(e,(e=>{u((()=>{e.value.uuid&&(S(e.value.uuid),M(e.value.uuid),k(e.value.uuid))}))})),t.eventHooks.onScroll.tap(e,p((async(e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const n=T(o);n&&(await f(0),j(n,t,e))}),200))}})}export{Y as variableHeightRendererPlugin};
@@ -28,6 +28,10 @@ export declare type IhoTableConfig = VxeTableProps & Partial<{
28
28
  slots: VxeColumnPropTypes.Slots;
29
29
  maxCheckSize: number;
30
30
  }>;
31
+ sortableConfig: Partial<Sortable.Options & {
32
+ enable: boolean;
33
+ usePreset: boolean;
34
+ }>;
31
35
  [K: string]: unknown;
32
36
  }>;
33
37
  export declare type IhoTableFieldItem = {
@@ -61,6 +65,12 @@ export declare namespace IhoTableLowCodeField {
61
65
  colorAndIcon: ColorAndIconItem[];
62
66
  [K: string]: unknown;
63
67
  }>;
68
+ type QueryOptions = (payload: {
69
+ keyword: string;
70
+ row: AnyObject;
71
+ column: VxeTableDefines.ColumnInfo;
72
+ rowIndex: number;
73
+ }) => Promise<AnyObject[]>;
64
74
  }
65
75
  export declare type LowCodeTableFieldItem = {
66
76
  columnName: string;
@@ -85,6 +95,7 @@ export declare type LowCodeTableFieldItem = {
85
95
  value: string;
86
96
  disabled?: boolean;
87
97
  }[];
98
+ queryOptions: IhoTableLowCodeField.QueryOptions;
88
99
  annotation: boolean;
89
100
  slotFn: NonNullable<IhoTableFieldItem['slots']>['default'];
90
101
  headerSlotFn: NonNullable<IhoTableFieldItem['slots']>['header'];
@@ -1,4 +1,4 @@
1
- import { AnyObject, ArrayAble, Func, Nullable, UndefinedAble } from '../../../../../es/shared/types';
1
+ import { AnyObject, ArrayAble, Func, Nullable } from '../../../../../es/shared/types';
2
2
  import { AsyncParallelHook, AsyncSeriesHook, SyncHook, SyncWaterfallHook } from '../../../../../es/shared/utils/tapable';
3
3
  import { MaybeRef } from '@vueuse/core';
4
4
  import { Ref, VNode } from 'vue';
@@ -19,6 +19,10 @@ export declare type TablePlugin = {
19
19
  vxe?(vxeTable: IhoTableInstance): void;
20
20
  apply?(hooks: TableHooks): void;
21
21
  };
22
+ export declare type IhoTableHandlerContext<isRef extends boolean = true> = {
23
+ $table: isRef extends true ? Ref<Nullable<VxeTableInstance>> : Nullable<VxeTableInstance>;
24
+ emits: IhoTableEmits;
25
+ };
22
26
  export declare type TableHooks = Readonly<{
23
27
  configHooks: AbstractConfigHooks;
24
28
  fieldHooks: AbstractFieldHooks;
@@ -29,12 +33,9 @@ export declare type TableHooks = Readonly<{
29
33
  exposeHooks: AbstractExposeHooks;
30
34
  }>;
31
35
  export declare type WithTableConfig<T = []> = T extends any[] ? [...T, IhoTableConfig] : [T, IhoTableConfig];
32
- export declare type ConfigHookContext = {
33
- $table: Ref<UndefinedAble<VxeTableInstance>>;
34
- };
35
- declare type ConfigHookType<T> = SyncWaterfallHook<[...WithTableConfig<[T]>, ConfigHookContext]>;
36
+ declare type ConfigHookType<T> = SyncWaterfallHook<[...WithTableConfig<[T]>, IhoTableHandlerContext]>;
36
37
  export declare abstract class AbstractConfigHooks {
37
- abstract readonly config: SyncWaterfallHook<[IhoTableConfig, ConfigHookContext]>;
38
+ abstract readonly config: SyncWaterfallHook<[IhoTableConfig, IhoTableHandlerContext]>;
38
39
  abstract readonly rowConfig: ConfigHookType<IhoTableConfig['rowConfig']>;
39
40
  abstract readonly editConfig: ConfigHookType<IhoTableConfig['editConfig']>;
40
41
  abstract readonly columnConfig: ConfigHookType<IhoTableConfig['columnConfig']>;
@@ -59,26 +60,14 @@ export interface FieldHookContext {
59
60
  insertBefore(field: ArrayAble<IhoTableFieldItem>): void;
60
61
  insertAfter(field: ArrayAble<IhoTableFieldItem>): void;
61
62
  }
62
- export declare type WithFieldHookContext<T = []> = [
63
- ...WithTableConfig<T>,
64
- {
65
- $table: Ref<Nullable<VxeTableInstance>>;
66
- emits: IhoTableEmits;
67
- }
68
- ];
63
+ export declare type WithFieldHookContext<T = []> = [...WithTableConfig<T>, IhoTableHandlerContext];
69
64
  export declare abstract class AbstractFieldHooks {
70
65
  abstract readonly fieldStart: AsyncParallelHook<WithFieldHookContext>;
71
66
  abstract readonly field: SyncWaterfallHook<WithFieldHookContext<[IhoTableFieldItem, FieldHookContext]>>;
72
67
  abstract readonly fieldList: SyncWaterfallHook<WithFieldHookContext<[IhoTableFieldItem[]]>>;
73
68
  abstract readonly fieldEnd: AsyncParallelHook<WithFieldHookContext>;
74
69
  }
75
- export declare type WithIhoEventContext<T> = [
76
- ...WithTableConfig<T>,
77
- IhoTableHandler & {
78
- $table: Nullable<VxeTableInstance>;
79
- emits: IhoTableEmits;
80
- }
81
- ];
70
+ export declare type WithIhoEventContext<T> = [...WithTableConfig<T>, IhoTableHandler & IhoTableHandlerContext<false>];
82
71
  declare type EventHookType<T extends Func> = AsyncParallelHook<WithIhoEventContext<Parameters<T>>>;
83
72
  declare type VxeEventTypes = Required<{
84
73
  readonly [K in keyof VxeTableEventProps]: EventHookType<NonNullable<VxeTableEventProps[K]>>;
@@ -158,20 +147,13 @@ export declare abstract class AbstractDataHooks {
158
147
  abstract readonly dataEnd: AsyncParallelHook<WithTableConfig>;
159
148
  }
160
149
  export declare abstract class AbstractSetupHooks {
161
- abstract readonly setup: SyncHook<[Ref<IhoTableConfig>, Ref<IhoTableFieldItem[]>]>;
150
+ abstract readonly setup: SyncHook<[Ref<IhoTableConfig>, Ref<IhoTableFieldItem[]>, IhoTableHandlerContext]>;
162
151
  }
163
152
  export declare abstract class AbstractDomInsertHooks {
164
153
  abstract readonly header: SyncWaterfallHook<[VNode[]]>;
165
154
  abstract readonly footer: SyncWaterfallHook<[VNode[]]>;
166
155
  }
167
- export declare type WithExposeHookConfig<T = []> = [
168
- ...(T extends any[] ? T : [T]),
169
- Ref<IhoTableConfig>,
170
- {
171
- $table: Ref<Nullable<VxeTableInstance>>;
172
- emits: IhoTableEmits;
173
- }
174
- ];
156
+ export declare type WithExposeHookConfig<T = []> = [...(T extends any[] ? T : [T]), Ref<IhoTableConfig>, IhoTableHandlerContext];
175
157
  export declare abstract class AbstractExposeHooks {
176
158
  abstract readonly expose: SyncWaterfallHook<WithExposeHookConfig<Record<string, Func>>>;
177
159
  }
@@ -1 +1 @@
1
- .iho-table{height:100%}.iho-table .vxe-table.size--mini{font-size:14px}.iho-table .vxe-table.size--mini .vxe-body--column:not(.col--ellipsis),.iho-table .vxe-table.size--mini .vxe-footer--column:not(.col--ellipsis),.iho-table .vxe-table.size--mini .vxe-header--column:not(.col--ellipsis){padding:4px 0}.iho-table .vxe-table.size--mini .vxe-sort--asc-btn{top:-2px}.iho-table .vxe-table.size--mini .vxe-sort--desc-btn{bottom:0}.iho-table__headerWrapper{display:inline-flex;flex-wrap:nowrap}.iho-table__boldCell{font-weight:700}.iho-table .vxe-table .vxe-table--header-wrapper,.iho-table .vxe-table.vxe-table--render-default{color:#212121}.iho-table .vxe-table--body-wrapper::-webkit-scrollbar,.iho-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar{background-color:transparent;height:10px;width:10px}.iho-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb,.iho-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#f2f2f2;border:3px dashed transparent;border-radius:5px}.iho-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb:hover,.iho-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb:hover{background:#b2b2b2}.iho-table .vxe-table--empty-content{height:100%;width:100%}.iho-table .vxe-table--empty-content>div,.iho-table .vxe-tree-cell{height:100%}.iho-table .vxe-table--header{background-color:#f2f2f2}.iho-table .vxe-footer--row .vxe-footer--column>.vxe-cell .vxe-cell--item{height:30px;line-height:30px}.iho-table .vxe-table--render-default .vxe-body--row.row--hover,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--stripe{background-color:var(--c-hover-color)}.iho-table .vxe-table--render-default .vxe-body--row.row--checked,.iho-table .vxe-table--render-default .vxe-body--row.row--current,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--checked,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--current,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--radio,.iho-table .vxe-table--render-default .vxe-body--row.row--radio{background-color:var(--c-primary-color-opacity2);font-weight:700}.iho-table .vxe-body--expanded-column,.iho-table .vxe-table--border-line{border-color:var(--c-border-color)!important}.iho-table .vxe-table--footer-wrapper{border-top-color:var(--c-border-color)!important}.iho-table .border--default .vxe-body--column,.iho-table .border--default .vxe-footer--column,.iho-table .border--default .vxe-header--column,.iho-table .border--inner .vxe-body--column,.iho-table .border--inner .vxe-footer--column,.iho-table .border--inner .vxe-header--column{background-image:linear-gradient(var(--c-border-color),var(--c-border-color))!important}.iho-table .border--full .vxe-body--column,.iho-table .border--full .vxe-footer--column,.iho-table .border--full .vxe-header--column{background-image:linear-gradient(var(--c-border-color),var(--c-border-color)),linear-gradient(var(--c-border-color),var(--c-border-color))!important}.iho-table .border--default .vxe-header--row:last-child .vxe-header--gutter,.iho-table .border--full .vxe-header--row:last-child .vxe-header--gutter,.iho-table .border--inner .vxe-header--row:last-child .vxe-header--gutter,.iho-table .border--outer .vxe-header--row:last-child .vxe-header--gutter{background-image:linear-gradient(var(--c-border-color),var(--c-border-color))!important}.iho-table .vxe-table--header-border-line{border-bottom-color:var(--c-border-color)!important}.iho-table .vxe-table--fixed-left-wrapper.scrolling--middle{box-shadow:7px 0 8px -3px rgba(0,0,0,.15)!important}.iho-table .vxe-table--fixed-right-wrapper.scrolling--middle{box-shadow:-7px 0 8px -3px rgba(0,0,0,.15)!important}.iho-table .icon-dot{background:var(--table-icon-color);box-shadow:0 2px 4px 0 var(--table-icon-shadow)}.iho-table .icon-dot,.iho-table .icon-dot-red{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-red{background:red;box-shadow:0 2px 4px 0 rgba(255,0,0,.5)}.iho-table .icon-dot-blue{background:blue;box-shadow:0 2px 4px 0 rgba(0,0,255,.5)}.iho-table .icon-dot-blue,.iho-table .icon-dot-green{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-green{background:green;box-shadow:0 2px 4px 0 rgba(0,128,0,.5)}.iho-table .icon-dot-gray{background:gray;box-shadow:0 2px 4px 0 hsla(0,0%,50%,.5)}.iho-table .icon-dot-gray,.iho-table .icon-dot-yellow{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-yellow{background:#ff0;box-shadow:0 2px 4px 0 rgba(255,255,0,.5)}.iho-table .icon-dot-resolved{background:#36be8c;box-shadow:0 2px 4px 0 rgba(54,190,140,.5)}.iho-table .icon-dot-huifu,.iho-table .icon-dot-resolved{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-huifu{background:#42d0f6;box-shadow:0 2px 4px 0 rgba(66,208,246,.5)}.iho-table .icon-dot-close{background:#718391;box-shadow:0 2px 4px 0 rgba(113,131,145,.5)}.iho-table .icon-dot-audit,.iho-table .icon-dot-close{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-audit{background:#f4ba32;box-shadow:0 2px 4px 0 rgba(244,186,50,.5)}.iho-table .icon-dot-design{background:#927ce1;box-shadow:0 2px 4px 0 rgba(146,124,225,.5)}.iho-table .icon-dot-design,.iho-table .icon-dot-develop{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-develop{background:#4eb0ef;box-shadow:0 2px 4px 0 rgba(78,176,239,.5)}.iho-table .icon-dot-develop-complete{background:#6381f9;border-radius:50%;box-shadow:0 2px 4px 0 rgba(99,129,249,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table__hideSortIcon .vxe-cell--sort{display:none!important}.iho-table .is--filter-active .vxe-cell--filter .vxe-filter--btn{color:var(--c-primary-color)}.iho-table__sortActiveIcon{margin-right:4px;width:14px}.iho-table__filterIcon{cursor:pointer;padding:0 4px}.iho-table__filterIcon:hover{opacity:.7}.iho-table__filterIcon.is-active{color:var(--c-primary-color)}.iho-table__filterWrapper{display:flex;flex-direction:column;gap:8px;margin:8px 12px;width:240px}.iho-table__filterButton{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:30px;padding:0 8px}.iho-table__filterButton--active{color:var(--c-primary-color)}.iho-table__filterButton:hover{background:rgba(0,0,0,.05)}.iho-table__filterListWrapper{border:1px solid rgba(0,0,0,.05)}.iho-table__filterListItem{align-items:center;border-radius:4px;display:flex;height:32px;padding:0 8px}.iho-table__filterListItem:hover{background:rgba(0,0,0,.05)}.iho-table__filterListItem .n-checkbox{width:100%}.iho-table__filterFooter{display:flex;justify-content:space-between}.iho-table__time-picker{position:unset}.iho-table__time-picker .n-input{display:none}.iho-table__time-picker .v-binder-follower-container{height:auto;position:unset}.iho-table__time-picker .v-binder-follower-container .v-binder-follower-content{position:unset;transform:none!important}.iho-table__time-picker .v-binder-follower-container .v-binder-follower-content .n-time-picker-panel{box-shadow:none}.iho-table__scrollbar{margin:8px 8px 8px 0;max-height:255px}.iho-table .virtual-height .vxe-cell,.iho-table .virtual-height .vxe-cell--tree-node,.iho-table .virtual-height .vxe-tree-cell{max-height:fit-content!important;white-space:break-spaces!important}.iho-table__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.iho-table__selectMenu .n-virtual-list::-webkit-scrollbar,.iho-table__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.iho-table__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.iho-table__selectMenu .v-vl-items{min-width:100%;width:max-content}.iho-table__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.iho-table .is--checked.vxe-checkbox,.iho-table .is--checked.vxe-checkbox .vxe-checkbox--icon,.iho-table .is--checked.vxe-custom--option,.iho-table .is--checked.vxe-custom--option .vxe-checkbox--icon,.iho-table .is--checked.vxe-export--panel-column-option,.iho-table .is--checked.vxe-export--panel-column-option .vxe-checkbox--icon,.iho-table .is--checked.vxe-table--filter-option,.iho-table .is--checked.vxe-table--filter-option .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-checkbox,.iho-table .is--indeterminate.vxe-checkbox .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-custom--option,.iho-table .is--indeterminate.vxe-custom--option .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-export--panel-column-option,.iho-table .is--indeterminate.vxe-export--panel-column-option .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-table--filter-option,.iho-table .is--indeterminate.vxe-table--filter-option .vxe-checkbox--icon,.iho-table .vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-custom--option:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-export--panel-column-option:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-table .vxe-sort--asc-btn.sort--active,.iho-table .vxe-table .vxe-sort--desc-btn.sort--active,.iho-table .vxe-table--filter-option:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-table--render-default .is--checked.vxe-cell--checkbox,.iho-table .vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon,.iho-table .vxe-table--render-default .is--indeterminate.vxe-cell--checkbox,.iho-table .vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon,.iho-table .vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--c-primary-color)}.iho-table .vxe-header--column [annotation-hover-show=true]{visibility:hidden}.iho-table .vxe-header--column:hover [annotation-hover-show=true]{visibility:visible}@font-face{font-family:iho-table-iconfont;src:url(iconfont.ttf) format("truetype")}.iho-table .iho-table--iconfont{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:iho-table-iconfont!important;font-size:15px;font-style:normal}.iho-table .iho-table-icon-filter{display:inline-block;transform:translateY(-1px)}.iho-table .iho-table-icon-filter:before{content:"\c2001"}.iho-table .row--custom{background-color:var(--row-background-color)}
1
+ .iho-table{height:100%}.iho-table .vxe-table.size--mini{font-size:14px}.iho-table .vxe-table.size--mini .vxe-body--column:not(.col--ellipsis),.iho-table .vxe-table.size--mini .vxe-footer--column:not(.col--ellipsis),.iho-table .vxe-table.size--mini .vxe-header--column:not(.col--ellipsis){padding:4px 0}.iho-table .vxe-table.size--mini .vxe-sort--asc-btn{top:-2px}.iho-table .vxe-table.size--mini .vxe-sort--desc-btn{bottom:0}.iho-table__headerWrapper{display:inline-flex;flex-wrap:nowrap}.iho-table__boldCell{font-weight:700}.iho-table .vxe-table .vxe-table--header-wrapper,.iho-table .vxe-table.vxe-table--render-default{color:#212121}.iho-table .vxe-table--body-wrapper::-webkit-scrollbar,.iho-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar{background-color:transparent;height:10px;width:10px}.iho-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb,.iho-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#f2f2f2;border:3px dashed transparent;border-radius:5px}.iho-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb:hover,.iho-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb:hover{background:#b2b2b2}.iho-table .vxe-table--empty-content{height:100%;width:100%}.iho-table .vxe-table--empty-content>div,.iho-table .vxe-tree-cell{height:100%}.iho-table .vxe-table--header{background-color:#f2f2f2}.iho-table .vxe-footer--row .vxe-footer--column>.vxe-cell .vxe-cell--item{height:30px;line-height:30px}.iho-table .vxe-table--render-default .vxe-body--row.row--hover,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--stripe{background-color:var(--c-hover-color)}.iho-table .vxe-table--render-default .vxe-body--row.row--checked,.iho-table .vxe-table--render-default .vxe-body--row.row--current,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--checked,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--current,.iho-table .vxe-table--render-default .vxe-body--row.row--hover.row--radio,.iho-table .vxe-table--render-default .vxe-body--row.row--radio{background-color:var(--c-primary-color-opacity2);font-weight:700}.iho-table .vxe-body--expanded-column,.iho-table .vxe-table--border-line{border-color:var(--c-border-color)!important}.iho-table .vxe-table--footer-wrapper{border-top-color:var(--c-border-color)!important}.iho-table .border--default .vxe-body--column,.iho-table .border--default .vxe-footer--column,.iho-table .border--default .vxe-header--column,.iho-table .border--inner .vxe-body--column,.iho-table .border--inner .vxe-footer--column,.iho-table .border--inner .vxe-header--column{background-image:linear-gradient(var(--c-border-color),var(--c-border-color))!important}.iho-table .border--full .vxe-body--column,.iho-table .border--full .vxe-footer--column,.iho-table .border--full .vxe-header--column{background-image:linear-gradient(var(--c-border-color),var(--c-border-color)),linear-gradient(var(--c-border-color),var(--c-border-color))!important}.iho-table .border--default .vxe-header--row:last-child .vxe-header--gutter,.iho-table .border--full .vxe-header--row:last-child .vxe-header--gutter,.iho-table .border--inner .vxe-header--row:last-child .vxe-header--gutter,.iho-table .border--outer .vxe-header--row:last-child .vxe-header--gutter{background-image:linear-gradient(var(--c-border-color),var(--c-border-color))!important}.iho-table .vxe-table--header-border-line{border-bottom-color:var(--c-border-color)!important}.iho-table .vxe-table--fixed-left-wrapper.scrolling--middle{box-shadow:7px 0 8px -3px rgba(0,0,0,.15)!important}.iho-table .vxe-table--fixed-right-wrapper.scrolling--middle{box-shadow:-7px 0 8px -3px rgba(0,0,0,.15)!important}.iho-table .icon-dot{background:var(--table-icon-color);box-shadow:0 2px 4px 0 var(--table-icon-shadow)}.iho-table .icon-dot,.iho-table .icon-dot-red{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-red{background:red;box-shadow:0 2px 4px 0 rgba(255,0,0,.5)}.iho-table .icon-dot-blue{background:blue;box-shadow:0 2px 4px 0 rgba(0,0,255,.5)}.iho-table .icon-dot-blue,.iho-table .icon-dot-green{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-green{background:green;box-shadow:0 2px 4px 0 rgba(0,128,0,.5)}.iho-table .icon-dot-gray{background:gray;box-shadow:0 2px 4px 0 hsla(0,0%,50%,.5)}.iho-table .icon-dot-gray,.iho-table .icon-dot-yellow{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-yellow{background:#ff0;box-shadow:0 2px 4px 0 rgba(255,255,0,.5)}.iho-table .icon-dot-resolved{background:#36be8c;box-shadow:0 2px 4px 0 rgba(54,190,140,.5)}.iho-table .icon-dot-huifu,.iho-table .icon-dot-resolved{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-huifu{background:#42d0f6;box-shadow:0 2px 4px 0 rgba(66,208,246,.5)}.iho-table .icon-dot-close{background:#718391;box-shadow:0 2px 4px 0 rgba(113,131,145,.5)}.iho-table .icon-dot-audit,.iho-table .icon-dot-close{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-audit{background:#f4ba32;box-shadow:0 2px 4px 0 rgba(244,186,50,.5)}.iho-table .icon-dot-design{background:#927ce1;box-shadow:0 2px 4px 0 rgba(146,124,225,.5)}.iho-table .icon-dot-design,.iho-table .icon-dot-develop{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table .icon-dot-develop{background:#4eb0ef;box-shadow:0 2px 4px 0 rgba(78,176,239,.5)}.iho-table .icon-dot-develop-complete{background:#6381f9;border-radius:50%;box-shadow:0 2px 4px 0 rgba(99,129,249,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.iho-table__hideSortIcon .vxe-cell--sort{display:none!important}.iho-table .is--filter-active .vxe-cell--filter .vxe-filter--btn{color:var(--c-primary-color)}.iho-table__sortActiveIcon{margin-right:4px;width:14px}.iho-table__filterIcon{cursor:pointer;padding:0 4px}.iho-table__filterIcon:hover{opacity:.7}.iho-table__filterIcon.is-active{color:var(--c-primary-color)}.iho-table__filterWrapper{display:flex;flex-direction:column;gap:8px;margin:8px 12px;width:240px}.iho-table__filterButton{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:30px;padding:0 8px}.iho-table__filterButton--active{color:var(--c-primary-color)}.iho-table__filterButton:hover{background:rgba(0,0,0,.05)}.iho-table__filterListWrapper{border:1px solid rgba(0,0,0,.05)}.iho-table__filterListItem{align-items:center;border-radius:4px;display:flex;height:32px;padding:0 8px}.iho-table__filterListItem:hover{background:rgba(0,0,0,.05)}.iho-table__filterListItem .n-checkbox{width:100%}.iho-table__filterFooter{display:flex;justify-content:space-between}.iho-table__time-picker{position:unset}.iho-table__time-picker .n-input{display:none}.iho-table__time-picker .v-binder-follower-container{height:auto;position:unset}.iho-table__time-picker .v-binder-follower-container .v-binder-follower-content{position:unset;transform:none!important}.iho-table__time-picker .v-binder-follower-container .v-binder-follower-content .n-time-picker-panel{box-shadow:none}.iho-table__scrollbar{margin:8px 8px 8px 0;max-height:255px}.iho-table .variable-height .vxe-cell,.iho-table .variable-height .vxe-cell--tree-node,.iho-table .variable-height .vxe-tree-cell{max-height:fit-content!important;white-space:break-spaces!important}.iho-table__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.iho-table__selectMenu .n-virtual-list::-webkit-scrollbar,.iho-table__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.iho-table__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.iho-table__selectMenu .v-vl-items{min-width:100%;width:max-content}.iho-table__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.iho-table .is--checked.vxe-checkbox,.iho-table .is--checked.vxe-checkbox .vxe-checkbox--icon,.iho-table .is--checked.vxe-custom--option,.iho-table .is--checked.vxe-custom--option .vxe-checkbox--icon,.iho-table .is--checked.vxe-export--panel-column-option,.iho-table .is--checked.vxe-export--panel-column-option .vxe-checkbox--icon,.iho-table .is--checked.vxe-table--filter-option,.iho-table .is--checked.vxe-table--filter-option .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-checkbox,.iho-table .is--indeterminate.vxe-checkbox .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-custom--option,.iho-table .is--indeterminate.vxe-custom--option .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-export--panel-column-option,.iho-table .is--indeterminate.vxe-export--panel-column-option .vxe-checkbox--icon,.iho-table .is--indeterminate.vxe-table--filter-option,.iho-table .is--indeterminate.vxe-table--filter-option .vxe-checkbox--icon,.iho-table .vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-custom--option:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-export--panel-column-option:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-table .vxe-sort--asc-btn.sort--active,.iho-table .vxe-table .vxe-sort--desc-btn.sort--active,.iho-table .vxe-table--filter-option:not(.is--disabled):hover .vxe-checkbox--icon,.iho-table .vxe-table--render-default .is--checked.vxe-cell--checkbox,.iho-table .vxe-table--render-default .is--checked.vxe-cell--checkbox .vxe-checkbox--icon,.iho-table .vxe-table--render-default .is--indeterminate.vxe-cell--checkbox,.iho-table .vxe-table--render-default .is--indeterminate.vxe-cell--checkbox .vxe-checkbox--icon,.iho-table .vxe-table--render-default .vxe-cell--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--c-primary-color)}.iho-table .vxe-header--column [annotation-hover-show=true]{visibility:hidden}.iho-table .vxe-header--column:hover [annotation-hover-show=true]{visibility:visible}@font-face{font-family:iho-table-iconfont;src:url(iconfont.ttf) format("truetype")}.iho-table .iho-table--iconfont{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:iho-table-iconfont!important;font-size:15px;font-style:normal}.iho-table .iho-table-icon-filter{display:inline-block;transform:translateY(-1px)}.iho-table .iho-table-icon-filter:before{content:"\c2001"}.iho-table .row--custom{background-color:var(--row-background-color)}