cnhis-design-vue 3.2.2-beta.1 → 3.2.2-beta.14

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 (149) hide show
  1. package/README.md +87 -87
  2. package/es/components/biunique-chat/index.d.ts +752 -562
  3. package/es/components/biunique-chat/index.js +1 -1
  4. package/es/components/biunique-chat/src/Index.vue.d.ts +1216 -0
  5. package/es/components/biunique-chat/src/Index.vue.js +1 -0
  6. package/es/components/biunique-chat/src/Index.vue2.js +1 -0
  7. package/es/components/biunique-chat/src/api/index.d.ts +2 -5
  8. package/es/components/biunique-chat/src/api/index.js +1 -1
  9. package/es/components/biunique-chat/src/components/ChatFile.vue.d.ts +241 -0
  10. package/es/components/biunique-chat/src/components/ChatFile.vue.js +1 -0
  11. package/es/components/biunique-chat/src/components/ChatFile.vue2.js +1 -0
  12. package/es/components/biunique-chat/src/components/ChatFooter.vue.d.ts +3 -5
  13. package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
  14. package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +639 -0
  15. package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
  16. package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +63 -5
  17. package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
  18. package/es/components/biunique-chat/src/components/ChatRecord.vue.d.ts +101 -0
  19. package/es/components/biunique-chat/src/components/ChatRecord.vue.js +1 -0
  20. package/es/components/biunique-chat/src/components/ChatRecord.vue2.js +1 -0
  21. package/es/components/biunique-chat/src/components/ChatSet.vue.d.ts +246 -0
  22. package/es/components/biunique-chat/src/components/ChatSet.vue.js +1 -0
  23. package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -0
  24. package/es/components/biunique-chat/src/components/PersonProfile.vue.d.ts +59 -0
  25. package/es/components/biunique-chat/src/components/PersonProfile.vue.js +1 -0
  26. package/es/components/biunique-chat/src/components/PersonProfile.vue2.js +1 -0
  27. package/es/components/biunique-chat/src/components/SiderList.vue.d.ts +20 -28
  28. package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
  29. package/es/components/biunique-chat/src/constants/index.d.ts +20 -0
  30. package/es/components/biunique-chat/src/constants/index.js +1 -0
  31. package/es/components/biunique-chat/src/hooks/useState.d.ts +7 -0
  32. package/es/components/biunique-chat/src/hooks/useState.js +1 -0
  33. package/es/components/biunique-chat/src/types/index.d.ts +10 -0
  34. package/es/components/biunique-chat/src/types/index.js +1 -0
  35. package/es/components/biunique-chat/src/utils/index.d.ts +8 -0
  36. package/es/components/biunique-chat/src/utils/index.js +1 -0
  37. package/es/components/biunique-chat/style/iconfont.ttf +0 -0
  38. package/es/components/biunique-chat/style/index.css +1 -1
  39. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  40. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  41. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  42. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  43. package/es/components/button-print/src/utils/print.d.ts +1 -0
  44. package/es/components/button-print/src/utils/print.js +1 -1
  45. package/es/components/calendar/index.d.ts +11 -1
  46. package/es/components/calendar/src/Calendar.vue.d.ts +11 -1
  47. package/es/components/callback/src/components/dialog/drawer.vue2.js +1 -1
  48. package/es/components/callback/src/components/dialog/modal.vue2.js +1 -1
  49. package/es/components/callback/src/components/render/popupMaps.d.ts +7 -0
  50. package/es/components/card-reader-sdk/src/cardReaderSDK.d.ts +26 -7
  51. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  52. package/es/components/card-reader-sdk/src/types/index.d.ts +4 -1
  53. package/es/components/card-reader-sdk/src/utils/ensureUID2IdCard.d.ts +17 -0
  54. package/es/components/card-reader-sdk/src/utils/ensureUID2IdCard.js +1 -0
  55. package/es/components/classification/src/index.vue.d.ts +3 -0
  56. package/es/components/expand-field/src/components/FormBatchOptionsModal.vue2.js +1 -1
  57. package/es/components/expand-field/src/components/PersonModal.vue2.js +1 -1
  58. package/es/components/expand-field/src/components/form.vue2.js +1 -1
  59. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  60. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcessChart.js +1 -1
  61. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  62. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
  63. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  64. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
  65. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  66. package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
  67. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  68. package/es/components/fabric-chart/src/hooks/useCommon.d.ts +1 -0
  69. package/es/components/fabric-chart/src/hooks/useCommon.js +1 -1
  70. package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
  71. package/es/components/form-config/index.d.ts +16 -0
  72. package/es/components/form-config/src/FormConfig.vue.d.ts +16 -0
  73. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +5 -0
  74. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +8 -0
  75. package/es/components/form-config/src/hooks/useSortalbeConfig.js +1 -1
  76. package/es/components/form-render/index.d.ts +5 -0
  77. package/es/components/form-render/src/FormRender.vue.d.ts +5 -0
  78. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  79. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +5 -0
  80. package/es/components/form-render/src/components/renderer/inputNumber.js +1 -1
  81. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +2 -0
  82. package/es/components/form-render/src/hooks/useFormEvent.d.ts +2 -1
  83. package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
  84. package/es/components/form-render/src/hooks/useSelectedSetting.d.ts +3 -4
  85. package/es/components/form-render/src/hooks/useSelectedSetting.js +1 -1
  86. package/es/components/form-render/src/types/index.d.ts +1 -0
  87. package/es/components/iho-table/index.d.ts +2 -0
  88. package/es/components/iho-table/src/IhoTable.vue.d.ts +2 -0
  89. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  90. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +1 -0
  91. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
  92. package/es/components/iho-table/src/plugins/headerPlugin.js +1 -1
  93. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  94. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index.d.ts +5 -0
  95. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHeaderCSS.js +1 -1
  96. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHoverColumn.js +1 -1
  97. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/renderer.js +1 -1
  98. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/types.d.ts +1 -0
  99. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.d.ts +1 -0
  100. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  101. package/es/components/iho-table/src/types/index.d.ts +1 -0
  102. package/es/components/iho-table/src/utils/index.d.ts +1 -1
  103. package/es/components/iho-table/src/utils/index.js +1 -1
  104. package/es/components/iho-table/style/index.css +1 -1
  105. package/es/components/index.css +1 -1
  106. package/es/components/index.js +1 -1
  107. package/es/components/info-header/index.d.ts +15 -0
  108. package/es/components/info-header/src/InfoHeader.vue.d.ts +15 -0
  109. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +1 -0
  110. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +1 -0
  111. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +6 -0
  112. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +5 -0
  113. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  114. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  115. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  116. package/es/components/shortcut-setter/index.d.ts +5 -0
  117. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +5 -0
  118. package/es/components/step-notice/index.d.ts +9 -0
  119. package/es/components/step-notice/src/StepNotice.vue.d.ts +9 -0
  120. package/es/components/step-notice/src/StepNotice.vue2.js +1 -1
  121. package/es/components/step-notice/src/components/NoticeItem.vue.d.ts +3 -0
  122. package/es/components/step-notice/src/components/NoticeItem.vue2.js +1 -1
  123. package/es/components/step-notice/src/types.d.ts +1 -0
  124. package/es/components/step-notice/style/index.css +1 -1
  125. package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
  126. package/es/components/table-export-field/src/components/SaveProjectModal.vue2.js +1 -1
  127. package/es/shared/assets/img/failure.png.js +1 -1
  128. package/es/shared/assets/img/no-permission.png.js +1 -1
  129. package/es/shared/assets/img/nodata.png.js +1 -1
  130. package/es/shared/assets/img/notfound.png.js +1 -1
  131. package/es/shared/assets/img/qr.png.js +1 -1
  132. package/es/shared/assets/img/success.png.js +1 -1
  133. package/es/shared/assets/img/table_style_2.png.js +1 -1
  134. package/es/shared/assets/img/video.png.js +1 -1
  135. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  136. package/es/shared/assets/img/xb_big.png.js +1 -1
  137. package/es/shared/assets/img/xb_small.png.js +1 -1
  138. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  139. package/es/shared/hooks/index.js +1 -1
  140. package/es/shared/hooks/useTheme.d.ts +1 -0
  141. package/es/shared/hooks/useTheme.js +1 -1
  142. package/es/shared/package.json.js +1 -1
  143. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  144. package/es/shared/utils/index.js +1 -1
  145. package/es/shared/utils/tapable/index.d.ts +139 -0
  146. package/package.json +2 -2
  147. package/es/components/biunique-chat/src/BiuniqueChat.vue.d.ts +0 -1005
  148. package/es/components/biunique-chat/src/BiuniqueChat.vue.js +0 -1
  149. package/es/components/biunique-chat/src/BiuniqueChat.vue2.js +0 -1
@@ -1 +1 @@
1
- import"../../../../shared/utils/index.js";import{isField as e}from"@formily/core";import{isEmpty as t}from"lodash-es";import{isMatchNewLowCodeConditionsWithSqlExpression as r}from"../../../../shared/utils/business.js";function i(i){return{applySelectedSetting:function(o){const s=i.getFormState().values;o.forEach((o=>{if(t(o.children))return;const l=o.children.find((e=>r(s,e)));l&&i.setFieldState(o.selectedField,(t=>{e(t)&&t.setValue(l.value)}))}))}}}export{i as useSelectedSetting};
1
+ import"../../../../shared/utils/index.js";import{isEmpty as e}from"lodash-es";import{isMatchNewLowCodeConditionsWithSqlExpression as i}from"../../../../shared/utils/business.js";function t(){return{applySelectedSetting:function(t,r,s){r.forEach((r=>{if(e(r.children))return;const l=r.children.find((e=>i(t,e)));l&&(s?s(r.selectedField,l.value):t[r.selectedField]=l.value)}))}}}export{t as useSelectedSetting};
@@ -144,6 +144,7 @@ export declare type FormRenderProps = Partial<{
144
144
  businessFormatter: FormBusinessFormatter;
145
145
  requestInstance: FormRequestDefine.RequestInstance;
146
146
  enterToNextWidget: boolean | ((fieldItem: FieldItem) => boolean | void);
147
+ autoExpand: boolean;
147
148
  lowCodeReactions: LowCodeTypes.reactionConfig[];
148
149
  linebarAutoHidden: boolean;
149
150
  bordered: boolean | string;
@@ -3211,6 +3211,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
3211
3211
  verticalConfig?: {
3212
3212
  enable?: boolean | undefined;
3213
3213
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
3214
+ bodyWidth?: number | ((index: number) => number) | undefined;
3214
3215
  } | undefined;
3215
3216
  onFormChange?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
3216
3217
  onCopy?: ((params: import("vxe-table").VxeTableDefines.CopyEventParams) => void) | undefined;
@@ -6774,6 +6775,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6774
6775
  verticalConfig?: {
6775
6776
  enable?: boolean | undefined;
6776
6777
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
6778
+ bodyWidth?: number | ((index: number) => number) | undefined;
6777
6779
  } | undefined;
6778
6780
  onFormChange?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
6779
6781
  onSettingClick?: (() => void) | undefined;
@@ -3212,6 +3212,7 @@ declare const _default: import("vue").DefineComponent<{
3212
3212
  verticalConfig?: {
3213
3213
  enable?: boolean | undefined;
3214
3214
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
3215
+ bodyWidth?: number | ((index: number) => number) | undefined;
3215
3216
  } | undefined;
3216
3217
  onFormChange?: ((payload_0: import("../../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
3217
3218
  onCopy?: ((params: import("vxe-table").VxeTableDefines.CopyEventParams) => void) | undefined;
@@ -6775,6 +6776,7 @@ declare const _default: import("vue").DefineComponent<{
6775
6776
  verticalConfig?: {
6776
6777
  enable?: boolean | undefined;
6777
6778
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
6779
+ bodyWidth?: number | ((index: number) => number) | undefined;
6778
6780
  } | undefined;
6779
6781
  onFormChange?: ((payload_0: import("../../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
6780
6782
  onSettingClick?: (() => void) | undefined;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,provide as o,ref as a,toRaw as l,watch as n,resolveComponent as s,openBlock as r,createElementBlock as i,mergeProps as u,unref as c,createBlock as d,resolveDynamicComponent as f,createElementVNode as m,normalizeStyle as p,createVNode as v,withCtx as b,createSlots as h,renderList as g,createCommentVNode as x,renderSlot as k,normalizeProps as y,guardReactiveProps as C}from"vue";import{useTheme as D}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as j}from"@vueuse/core";import"date-fns";import{isString as $,isEqualWith as I,isFunction as w,pick as q}from"lodash-es";import{useFormAsyncQueue as R,presetRequestHandler as H}from"../../../shared/hooks/useFormRequest/index.js";import{promiseTimeout as T}from"@vueuse/shared";import{widthAppend as _,uuidGenerator as P}from"../../../shared/utils/index.js";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NConfigProvider as A}from"naive-ui";import{useVersion as L}from"../../../shared/hooks/useVersion.js";import{VxeTableEventNameList as S,InjectionIhoTableEmits as F,InjectionTableAsyncQueue as O,InjectionIhoTableAnnotation as B,InjectionIhoTableUUID as E,InjectionIhoTableInstance as N,InjectionIhoTableConfig as V,InjectionIhoTableFieldList as W,InjectionIhoTableHandler as z}from"./constants/index.js";import{createTableHooks as G,applyTableConfigHooks as J,applyTableFieldHooks as K,createTableEventHandlers as M,createDomInsertComponent as Q,createDataTransfer as U}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as X}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as Y}from"./utils/index.js";const Z=["id"];var ee=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object},requestInstance:{type:Object},uniqueCacheData:{type:Boolean,default:!1},parallelism:{type:Number,default:3}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...S],setup(e,{expose:S,emit:ee}){var te,oe;const ae=e,le=D({"--c-border-color":"#d0d0d0","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#e6e6e6","--c-stripe-color":"#f6f6f6"}),ne=t((()=>{var e,t;const o=null!=(t=null==(e=ae.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":$(o)&&(o.includes("calc")||o.endsWith("%"))?o:_(o)}})),se=X(),re=function(e,...t){ee(e,...t);const o=c(fe)[Y(e)];w(o)&&o(...t),se.trigger(e,...t)};o(F,re);const ie=R(t((()=>ae.requestInstance)),t((()=>!!ae.uniqueCacheData))).create(ae.parallelism,{beforeRequest:(e,t)=>t,afterRequest:(e,t)=>H(t)});o(O,ie);const ue=G();o(B,t((()=>ae.annotation)));const ce=P();o(E,ce);const de=a();o(N,de);const fe=a({uuid:null!=(oe=null==(te=ae.tableConfig)?void 0:te.uuid)?oe:ce});o(V,fe);const me=j(pe,10);function pe(){var e,t;fe.value=J(ue,{...ae.tableConfig,uuid:null!=(t=null==(e=ae.tableConfig)?void 0:e.uuid)?t:ce},{$table:de,emits:re,globProps:ae})}const ve=a([]);o(W,ve);const be=j(he,10);function he(){const e=K(ue,ae.fieldList,fe.value,{$table:de,emits:re,globProps:ae});I(e,l(ve.value),((e,t)=>{if(w(e)&&w(t))return e.toString()===t.toString()}))||(ve.value=e)}const ge=U(ue,fe,de),xe=a([]);async function ke(){var e,t;const o=await ge(ae.tableData),a=null==(e=de.value)?void 0:e.getTableData().fullData;if(a){let e=0;if(!(a.some((t=>{var a;if(!(null==(a=de.value)?void 0:a.isInsertByRow(t))){if(t!==o[e])return!0;e++}}))||e!==o.length))return}xe.value=o,null==(t=de.value)||t.recalculate(!0)}const ye={updateTableDataRef:j(ke,10),updateConfigRef:me,updateFieldListRef:be};o(z,ye);const Ce=M({hooks:ue,config:fe,$table:de,context:ye,emits:re,globProps:ae}),De=t((()=>({...fe.value,...Ce})));let je=!1,$e=!1,Ie=!1;const we=j((()=>{je&&pe(),$e&&he(),Ie&&ke(),je=!1,$e=!1,Ie=!1}),10);n((()=>ae.tableConfig),(()=>{je=!0,$e=!0,Ie=!0,we()}),{deep:!0}),n((()=>ae.fieldList),(()=>{$e=!0,Ie=!0,we()}),{deep:!0}),n([()=>[...ae.tableData],()=>{var e;return null==(e=ae.tableData)?void 0:e.length}],(()=>{Ie=!0,we()})),n([()=>ae.tableData,()=>{var e;return null==(e=ae.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=fe.value.treeConfig)?void 0:e.expandAll)&&(await T(11),null==(t=de.value)||t.setAllTreeExpand(!0))})),pe(),he(),ke();const{header:qe,footer:Re}=Q(ue);function He(e){return q(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return S({$table:de,async loadData(e){var t;null==(t=de.value)||t.loadData(await ge(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),reload(){var e,t;null==(e=de.value)||e.loadColumn([]),null==(t=de.value)||t.loadData([]),pe(),he(),ke()},verticalTable:{update:()=>{}},...ue.exposeHooks.expose.call({},fe,{$table:de,emits:re,globProps:ae,...ye})}),ue.setupHooks.setup.call(fe,ve,{$table:de,emits:re,globProps:ae}),(e,t)=>{const o=s("vxe-grid");return r(),i("section",u({class:"iho-table",id:c(ce),style:c(le)},c(L)()),[(r(),d(f(c(qe)))),m("section",{style:p(c(ne))},[v(c(A),{abstract:"",namespace:"vxe-table--ignore-clear"},{default:b((()=>[v(o,u({ref_key:"$table",ref:de},c(De),{columns:ve.value,data:xe.value}),h({_:2},[g(e.$slots,((t,o)=>({name:o,fn:b((t=>[x(" 实际上所有的vxe-grid插槽都支持 "),k(e.$slots,o,y(C(He(t))))]))})))]),1040,["columns","data"])])),_:3})],4),(r(),d(f(c(Re))))],16,Z)}}});export{ee as default};
1
+ import{defineComponent as e,computed as t,provide as o,ref as a,toRaw as l,watch as r,resolveComponent as n,openBlock as s,createElementBlock as i,mergeProps as u,unref as c,createBlock as d,resolveDynamicComponent as f,createElementVNode as m,normalizeStyle as p,createVNode as v,withCtx as b,createSlots as h,renderList as g,createCommentVNode as x,renderSlot as y,normalizeProps as k,guardReactiveProps as C}from"vue";import{useTheme as D,createOpacityColor as j}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as $}from"@vueuse/core";import"date-fns";import{isString as I,isEqualWith as w,isFunction as q,pick as R}from"lodash-es";import{useFormAsyncQueue as H,presetRequestHandler as T}from"../../../shared/hooks/useFormRequest/index.js";import{promiseTimeout as _}from"@vueuse/shared";import{hex2rgba as P,widthAppend as A,uuidGenerator as L}from"../../../shared/utils/index.js";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NConfigProvider as S}from"naive-ui";import{useVersion as F}from"../../../shared/hooks/useVersion.js";import{VxeTableEventNameList as O,InjectionIhoTableEmits as B,InjectionTableAsyncQueue as E,InjectionIhoTableAnnotation as N,InjectionIhoTableUUID as V,InjectionIhoTableInstance as W,InjectionIhoTableConfig as z,InjectionIhoTableFieldList as G,InjectionIhoTableHandler as J}from"./constants/index.js";import{createTableHooks as K,applyTableConfigHooks as M,applyTableFieldHooks as Q,createTableEventHandlers as U,createDomInsertComponent as X,createDataTransfer as Y}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as Z}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as ee}from"./utils/index.js";const te=["id"];var oe=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object},requestInstance:{type:Object},uniqueCacheData:{type:Boolean,default:!1},parallelism:{type:Number,default:3}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...O],setup(e,{expose:O,emit:oe}){var ae,le;const re=e,ne=t((()=>{const e=D({"--c-border-color":"#d0d0d0","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#e6e6e6","--c-stripe-color":"#f6f6f6"}).value;return e["--c-primary-color-opacity3"]=j(...P(e["--c-primary-color"]+""),.3),e})),se=t((()=>{var e,t;const o=null!=(t=null==(e=re.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":I(o)&&(o.includes("calc")||o.endsWith("%"))?o:A(o)}})),ie=Z(),ue=function(e,...t){oe(e,...t);const o=c(pe)[ee(e)];q(o)&&o(...t),ie.trigger(e,...t)};o(B,ue);const ce=H(t((()=>re.requestInstance)),t((()=>!!re.uniqueCacheData))).create(re.parallelism,{beforeRequest:(e,t)=>t,afterRequest:(e,t)=>T(t)});o(E,ce);const de=K();o(N,t((()=>re.annotation)));const fe=L();o(V,fe);const me=a();o(W,me);const pe=a({uuid:null!=(le=null==(ae=re.tableConfig)?void 0:ae.uuid)?le:fe});o(z,pe);const ve=$(be,10);function be(){var e,t;pe.value=M(de,{...re.tableConfig,uuid:null!=(t=null==(e=re.tableConfig)?void 0:e.uuid)?t:fe},{$table:me,emits:ue,globProps:re})}const he=a([]);o(G,he);const ge=$(xe,10);function xe(){const e=Q(de,re.fieldList,pe.value,{$table:me,emits:ue,globProps:re});w(e,l(he.value),((e,t)=>{if(q(e)&&q(t))return e.toString()===t.toString()}))||(he.value=e)}const ye=Y(de,pe,me),ke=a([]);async function Ce(){var e,t;const o=await ye(re.tableData),a=null==(e=me.value)?void 0:e.getTableData().fullData;if(a){let e=0;if(!(a.some((t=>{var a;if(!(null==(a=me.value)?void 0:a.isInsertByRow(t))){if(t!==o[e])return!0;e++}}))||e!==o.length))return}ke.value=o,null==(t=me.value)||t.recalculate(!0)}const De={updateTableDataRef:$(Ce,10),updateConfigRef:ve,updateFieldListRef:ge};o(J,De);const je=U({hooks:de,config:pe,$table:me,context:De,emits:ue,globProps:re}),$e=t((()=>({...pe.value,...je})));let Ie=!1,we=!1,qe=!1;const Re=$((()=>{Ie&&be(),we&&xe(),qe&&Ce(),Ie=!1,we=!1,qe=!1}),10);r((()=>re.tableConfig),(()=>{Ie=!0,we=!0,qe=!0,Re()}),{deep:!0}),r((()=>re.fieldList),(()=>{we=!0,qe=!0,Re()}),{deep:!0}),r([()=>[...re.tableData],()=>{var e;return null==(e=re.tableData)?void 0:e.length}],(()=>{qe=!0,Re()})),r([()=>re.tableData,()=>{var e;return null==(e=re.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=pe.value.treeConfig)?void 0:e.expandAll)&&(await _(11),null==(t=me.value)||t.setAllTreeExpand(!0))})),be(),xe(),Ce();const{header:He,footer:Te}=X(de);function _e(e){return R(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return O({$table:me,async loadData(e){var t;null==(t=me.value)||t.loadData(await ye(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),reload(){var e,t;null==(e=me.value)||e.loadColumn([]),null==(t=me.value)||t.loadData([]),be(),xe(),Ce()},verticalTable:{update:()=>{}},...de.exposeHooks.expose.call({},pe,{$table:me,emits:ue,globProps:re,...De})}),de.setupHooks.setup.call(pe,he,{$table:me,emits:ue,globProps:re}),(e,t)=>{const o=n("vxe-grid");return s(),i("section",u({class:"iho-table",id:c(fe),style:c(ne)},c(F)()),[(s(),d(f(c(He)))),m("section",{style:p(c(se))},[v(c(S),{abstract:"",namespace:"vxe-table--ignore-clear"},{default:b((()=>[v(o,u({ref_key:"$table",ref:me},c($e),{columns:he.value,data:ke.value}),h({_:2},[g(e.$slots,((t,o)=>({name:o,fn:b((t=>[x(" 实际上所有的vxe-grid插槽都支持 "),y(e.$slots,o,k(C(_e(t))))]))})))]),1040,["columns","data"])])),_:3})],4),(s(),d(f(c(Te))))],16,te)}}});export{oe as default};
@@ -13,6 +13,7 @@ declare const _default: import("vue").DefineComponent<{
13
13
  };
14
14
  }>> & {}>>;
15
15
  $table: (VxeTableConstructor & VxeTablePrivateMethods & VxeTableMethods) | undefined;
16
+ tableConfig: import("vue").Ref<import("../../../../../components/iho-table").IhoTableConfig>;
16
17
  multipleRef: import("vue").ComputedRef<boolean>;
17
18
  optionsRef: import("vue").ComputedRef<import("vxe-table").VxeTableDefines.FilterOption[] & VxeColumnPropTypes.Filter[]>;
18
19
  checkedRef: import("vue").WritableComputedRef<string[]>;
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,onMounted as i,toRaw as o,openBlock as r,createElementBlock as n,unref as v,createBlock as c,createCommentVNode as s,createElementVNode as d,createVNode as p,isRef as f,withCtx as h,mergeProps as m,normalizeProps as _,guardReactiveProps as y,Fragment as b,renderList as k,toDisplayString as g,createTextVNode as C,normalizeStyle as L}from"vue";import w from"../../../../../shared/components/CancelRadio/CancelRadio.js";import{keywordMatcher as I,widthAppend as D}from"../../../../../shared/utils/index.js";import{useVirtualList as S}from"@vueuse/core";import{isNumber as U,isString as j,isFunction as x,isEqual as F}from"lodash-es";import{NInput as R,NCheckbox as W,NSpin as E,NCheckboxGroup as $,NRadioGroup as O,NButtonGroup as P,NButton as V}from"naive-ui";import{isVariableHeightTable as Y}from"../../utils/index.js";const q={class:"iho-table__filterWrapper"},z={key:1,class:"iho-table__filterCheckAllWrapper"},A={class:"iho-table__filterListItem"},H={class:"iho-table__filterListItem"},M=["title"],B=["title"],G={class:"iho-table__filterListItemContent"},J={class:"iho-table__filterFooter"};var K=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const K=e,N=l("$xetable"),Q=a((()=>{var e;return!!(null==(e=K.payload)?void 0:e.column.filterMultiple)})),T=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=K.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),X=a({get:()=>T.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),async set(e){if(!K.payload||!N)return;const l=N.reactData.filterStore.options||[];if(Q.value?(l.forEach((l=>l._checked=e.includes(l.value))),N.checkFilterOptions()):l.forEach((l=>l._checked=l.value===e[0])),!Y(N))return a();function a(){K.payload.$panel.confirmFilter(new CustomEvent("click"))}N.reactData.scrollYLoad=!0,a(),N.reactData.scrollYLoad=!1}}),Z=t([...X.value]),ee=t("");async function le(){N&&(N.reactData.filterStore.visible=!1)}u(le);const ae=a((()=>{var e,l;if(!K.payload||!K.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=K.payload.column.editRender)?void 0:e.props)?l:{};return U(a)&&a>0?a:10})),te=a((()=>ee.value?T.value.filter((e=>!!`${e.label}`.includes(ee.value)||(j(e.data)?I(ee.value,e.data):void 0))):T.value)),{list:ue,containerProps:ie,wrapperProps:oe}=S(te,{itemHeight:32,overscan:3}),re=a({get:()=>te.value.every((e=>Z.value.includes(e.value))),set(e){Z.value=e?[...new Set([...Z.value,...te.value.map((e=>e.value))])]:Z.value.filter((e=>te.value.every((l=>l.value!==e))))}}),ne=a((()=>te.value.some((e=>Z.value.includes(e.value)))&&!re.value)),ve=a({get:()=>Z.value.length===T.value.length&&0!==T.value.length,set:e=>{Z.value=e?T.value.map((e=>e.value)):[]}}),ce=a((()=>!!Z.value.length&&!ve.value)),se=a((()=>({height:D(32*ae.value)})));function de(){X.value=Q.value?Z.value:F(Z.value[0],null)?[]:[Z.value[0]],le()}function pe(){Z.value=Q.value?[]:[null]}const fe=t(!1);return i((async()=>{var e;if(!N)return;const l=null==(e=K.payload.column.editRender.props)?void 0:e.onFilterShow;if(x(l))try{fe.value=!0,await l(K.payload);const{filterStore:e}=N.reactData;o(e.options)!==o(T.value)&&(e.options=T.value)}finally{fe.value=!1}})),(e,l)=>(r(),n("section",q,[v(T).length>5?(r(),c(v(R),{key:0,value:ee.value,"onUpdate:value":l[0]||(l[0]=e=>ee.value=e)},null,8,["value"])):s("v-if",!0),v(Q)?(r(),n("div",z,[d("div",A,[p(v(W),{label:"全选当前",checked:v(re),"onUpdate:checked":l[1]||(l[1]=e=>f(re)?re.value=e:null),indeterminate:v(ne)},null,8,["checked","indeterminate"])]),d("div",H,[p(v(W),{label:"全选所有",checked:v(ve),"onUpdate:checked":l[2]||(l[2]=e=>f(ve)?ve.value=e:null),indeterminate:v(ce)},null,8,["checked","indeterminate"])])])):s("v-if",!0),p(v(E),{show:fe.value},{default:h((()=>[v(Q)?(r(),c(v($),{key:0,value:Z.value,"onUpdate:value":l[3]||(l[3]=e=>Z.value=e)},{default:h((()=>[d("section",m(v(ie),{style:v(se),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(oe))),[(r(!0),n(b,null,k(v(ue),(e=>(r(),n("div",{class:"iho-table__filterListItem",key:e.data.value},[p(v(W),{value:e.data.value},{default:h((()=>[d("div",{class:"iho-table__filterListItemContent",title:e.data.label},g(e.data.label),9,M)])),_:2},1032,["value"])])))),128))],16)],16)])),_:1},8,["value"])):(r(),c(v(O),{key:1,value:Z.value[0],"onUpdate:value":l[5]||(l[5]=e=>Z.value[0]=e)},{default:h((()=>[d("section",m(v(ie),{style:v(se),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(oe))),[(r(!0),n(b,null,k(v(ue),(e=>(r(),n("div",{class:"iho-table__filterListItem",key:e.data.value,title:e.data.label},[p(v(w),{value:e.data.value,currentValue:Z.value[0],cancelable:"",onCancel:l[4]||(l[4]=e=>Z.value=[null])},{default:h((()=>[d("div",G,g(e.data.label),1)])),_:2},1032,["value","currentValue"])],8,B)))),128))],16)],16)])),_:1},8,["value"]))])),_:1},8,["show"]),d("footer",J,[d("section",null,[v(Q)?(r(),n(b,{key:0},[C(" 已选择 "),d("span",{style:L({color:"var(--c-primary-color)"})},g(Z.value.length),5),C(" 项 ")],64)):s("v-if",!0)]),p(v(P),{size:"small"},{default:h((()=>[p(v(V),{onClick:pe},{default:h((()=>[C("清空")])),_:1}),p(v(V),{onClick:le},{default:h((()=>[C("取消")])),_:1}),p(v(V),{type:"primary",onClick:de},{default:h((()=>[C("确定")])),_:1})])),_:1})])]))}});export{K as default};
1
+ import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,onMounted as i,toRaw as n,openBlock as o,createElementBlock as r,unref as v,createBlock as s,createCommentVNode as c,createElementVNode as d,createVNode as p,isRef as f,withCtx as m,mergeProps as h,normalizeProps as _,guardReactiveProps as y,Fragment as b,renderList as k,toDisplayString as g,createTextVNode as C,normalizeStyle as L}from"vue";import w from"../../../../../shared/components/CancelRadio/CancelRadio.js";import{keywordMatcher as D,widthAppend as I}from"../../../../../shared/utils/index.js";import{useVirtualList as j}from"@vueuse/core";import{isNumber as x,isString as F,isFunction as S,isEqual as U}from"lodash-es";import{NInput as R,NCheckbox as W,NSpin as E,NCheckboxGroup as Y,NRadioGroup as $,NButtonGroup as O,NButton as P}from"naive-ui";import{InjectionIhoTableConfig as V}from"../../constants/index.js";import{isVariableHeightTable as q}from"../../utils/index.js";const z={class:"iho-table__filterWrapper"},A={key:1,class:"iho-table__filterCheckAllWrapper"},H={class:"iho-table__filterListItem"},M={class:"iho-table__filterListItem"},B=["title"],G=["title"],J={class:"iho-table__filterListItemContent"},K={class:"iho-table__filterFooter"};var N=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const N=e,Q=l("$xetable"),T=l(V),X=a((()=>{var e;return!!(null==(e=N.payload)?void 0:e.column.filterMultiple)})),Z=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=N.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),ee=a({get:()=>Z.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),async set(e){var l,a,t,u;if(!N.payload||!Q)return;const i=Q.reactData.filterStore.options||[];if(X.value?(i.forEach((l=>l._checked=e.includes(l.value))),Q.checkFilterOptions()):i.forEach((l=>l._checked=l.value===e[0])),!q(Q))return n();function n(){N.payload.$panel.confirmFilter(new CustomEvent("click"))}(null!=(a=null==(l=Q.internalData.afterFullData)?void 0:l.length)?a:0)>(null!=(u=null==(t=T.value.scrollY)?void 0:t.gt)?u:100)&&(Q.reactData.scrollYLoad=!0),n(),Q.reactData.scrollYLoad=!1}}),le=t([...ee.value]),ae=t("");async function te(){Q&&(Q.reactData.filterStore.visible=!1)}u(te);const ue=a((()=>{var e,l;if(!N.payload||!N.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=N.payload.column.editRender)?void 0:e.props)?l:{};return x(a)&&a>0?a:10})),ie=a((()=>ae.value?Z.value.filter((e=>!!`${e.label}`.includes(ae.value)||(F(e.data)?D(ae.value,e.data):void 0))):Z.value)),{list:ne,containerProps:oe,wrapperProps:re}=j(ie,{itemHeight:32,overscan:3}),ve=a({get:()=>ie.value.every((e=>le.value.includes(e.value))),set(e){le.value=e?[...new Set([...le.value,...ie.value.map((e=>e.value))])]:le.value.filter((e=>ie.value.every((l=>l.value!==e))))}}),se=a((()=>ie.value.some((e=>le.value.includes(e.value)))&&!ve.value)),ce=a({get:()=>le.value.length===Z.value.length&&0!==Z.value.length,set:e=>{le.value=e?Z.value.map((e=>e.value)):[]}}),de=a((()=>!!le.value.length&&!ce.value)),pe=a((()=>({height:I(32*ue.value)})));function fe(){ee.value=X.value?le.value:U(le.value[0],null)?[]:[le.value[0]],te()}function me(){le.value=X.value?[]:[null]}const he=t(!1);return i((async()=>{var e;if(!Q)return;const l=null==(e=N.payload.column.editRender.props)?void 0:e.onFilterShow;if(S(l))try{he.value=!0,await l(N.payload);const{filterStore:e}=Q.reactData;n(e.options)!==n(Z.value)&&(e.options=Z.value)}finally{he.value=!1}})),(e,l)=>(o(),r("section",z,[v(Z).length>5?(o(),s(v(R),{key:0,value:ae.value,"onUpdate:value":l[0]||(l[0]=e=>ae.value=e)},null,8,["value"])):c("v-if",!0),v(X)?(o(),r("div",A,[d("div",H,[p(v(W),{label:"全选当前",checked:v(ve),"onUpdate:checked":l[1]||(l[1]=e=>f(ve)?ve.value=e:null),indeterminate:v(se)},null,8,["checked","indeterminate"])]),d("div",M,[p(v(W),{label:"全选所有",checked:v(ce),"onUpdate:checked":l[2]||(l[2]=e=>f(ce)?ce.value=e:null),indeterminate:v(de)},null,8,["checked","indeterminate"])])])):c("v-if",!0),p(v(E),{show:he.value},{default:m((()=>[v(X)?(o(),s(v(Y),{key:0,value:le.value,"onUpdate:value":l[3]||(l[3]=e=>le.value=e)},{default:m((()=>[d("section",h(v(oe),{style:v(pe),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(re))),[(o(!0),r(b,null,k(v(ne),(e=>(o(),r("div",{class:"iho-table__filterListItem",key:e.data.value},[p(v(W),{value:e.data.value},{default:m((()=>[d("div",{class:"iho-table__filterListItemContent",title:e.data.label},g(e.data.label),9,B)])),_:2},1032,["value"])])))),128))],16)],16)])),_:1},8,["value"])):(o(),s(v($),{key:1,value:le.value[0],"onUpdate:value":l[5]||(l[5]=e=>le.value[0]=e)},{default:m((()=>[d("section",h(v(oe),{style:v(pe),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(re))),[(o(!0),r(b,null,k(v(ne),(e=>(o(),r("div",{class:"iho-table__filterListItem",key:e.data.value,title:e.data.label},[p(v(w),{value:e.data.value,currentValue:le.value[0],cancelable:"",onCancel:l[4]||(l[4]=e=>le.value=[null])},{default:m((()=>[d("div",J,g(e.data.label),1)])),_:2},1032,["value","currentValue"])],8,G)))),128))],16)],16)])),_:1},8,["value"]))])),_:1},8,["show"]),d("footer",K,[d("section",null,[v(X)?(o(),r(b,{key:0},[C(" 已选择 "),d("span",{style:L({color:"var(--c-primary-color)"})},g(le.value.length),5),C(" 项 ")],64)):c("v-if",!0)]),p(v(O),{size:"small"},{default:m((()=>[p(v(P),{onClick:me},{default:m((()=>[C("清空")])),_:1}),p(v(P),{onClick:te},{default:m((()=>[C("取消")])),_:1}),p(v(P),{type:"primary",onClick:fe},{default:m((()=>[C("确定")])),_:1})])),_:1})])]))}});export{N as default};
@@ -1 +1 @@
1
- import{useAttrs as e,onBeforeUnmount as t,inject as l,createVNode as o}from"vue";import{arrayed as n,widthAppend as a}from"../../../../shared/utils/index.js";import{isObject as r,isString as i,isFunction as s}from"lodash-es";import u from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as d,InjectionIhoTableConfig as m}from"../constants/index.js";import{getLowCodeFieldFromField as h,IhoTableRenderHelper as c}from"../utils/index.js";import{defineTablePlugin as p}from"../hooks/useTablePlugin.js";function f(){const f="headerPlugin";return p({name:f,apply(p){let v=null;p.setupHooks.setup.tap(f,(()=>{v=e(),t((()=>{v=null}))})),p.fieldHooks.field.tap(f,(e=>{var t;const p=null==(t=e.slots)?void 0:t.header;return e.slots={...e.slots,header:t=>function(e,t,h){const p=l(d),f=l(m),x=l("$xetable"),b=e.column||{},j=r(null==p?void 0:p.value)&&!1!==t.annotation,g=c.isEditableColumn(f.value,b),w=c.hasFilter(t)||c.hasDateFiler(t),W=c.hasTitlePrefix(t),k=i(h)?h:s(h)?h(e):null;let y=!1;if(f.value){const e=f.value.editRules&&f.value.editRules[b.field];e&&(y=n(e).some((e=>e.required)))}const D=f.value.border?Math.max(2,Math.ceil(x.reactData.scrollbarWidth/x.reactData.tableColumn.length)):1,M=a(Math.max(0,b.renderWidth-20-D-(y?14:0)-(j?18:0)-(w?23:0)-(g?22:0)-(W?20:0)-(b.sortable?23:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:M}},[null!=k?k:o("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[function(){const e=b.title,t=/\\n|\n|\r/g;if(!t.test(e))return e;const l=e.replace(t,"<br>").split("<br>");return l.map(((e,t)=>[e,t===l.length-1?null:o("br",null,null)]))}()])]),j?o(u,{modelValue:p.value[b.field],"onUpdate:modelValue":e=>p.value[b.field]=e,shortcuts:v&&(v["annotation-shortcuts"]||v.annotationShortcuts)||[]},null):null])}(t,h(e),p)},e}))}})}export{f as default};
1
+ import{useAttrs as e,onBeforeUnmount as t,inject as l,createVNode as o}from"vue";import{arrayed as n,widthAppend as a}from"../../../../shared/utils/index.js";import{isObject as r,isString as i,isFunction as s}from"lodash-es";import u from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as d,InjectionIhoTableConfig as m}from"../constants/index.js";import{getLowCodeFieldFromField as c,IhoTableRenderHelper as h}from"../utils/index.js";import{defineTablePlugin as p}from"../hooks/useTablePlugin.js";function f(){const f="headerPlugin";return p({name:f,apply(p){let v=null;p.setupHooks.setup.tap(f,(()=>{v=e(),t((()=>{v=null}))})),p.fieldHooks.field.tap(f,(e=>{var t;const p=null==(t=e.slots)?void 0:t.header;return e.slots={...e.slots,header:t=>function(e,t,c){const p=l(d),f=l(m),x=l("$xetable"),b=e.column||{},j=r(null==p?void 0:p.value)&&!1!==t.annotation,g=h.isEditableColumn(f.value,b),w=h.hasFilter(t)||h.hasDateFiler(t),W=h.hasTitlePrefix(e.column),k=i(c)?c:s(c)?c(e):null;let y=!1;if(f.value){const e=f.value.editRules&&f.value.editRules[b.field];e&&(y=n(e).some((e=>e.required)))}const D=f.value.border?Math.max(2,Math.ceil(x.reactData.scrollbarWidth/x.reactData.tableColumn.length)):1,M=a(Math.max(0,b.renderWidth-20-D-(y?14:0)-(j?18:0)-(w?23:0)-(g?22:0)-(W?20:0)-(b.sortable?23:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:M}},[null!=k?k:o("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[function(){const e=b.title,t=/\\n|\n|\r/g;if(!t.test(e))return e;const l=e.replace(t,"<br>").split("<br>");return l.map(((e,t)=>[e,t===l.length-1?null:o("br",null,null)]))}()])]),j?o(u,{modelValue:p.value[b.field],"onUpdate:modelValue":e=>p.value[b.field]=e,shortcuts:v&&(v["annotation-shortcuts"]||v.annotationShortcuts)||[]},null):null])}(t,c(e),p)},e}))}})}export{f as default};
@@ -1 +1 @@
1
- import{createVNode as e,defineComponent as o,inject as n,computed as t}from"vue";import{isNumber as l,constant as a,isString as i}from"lodash-es";import"../../../../index.js";import{NCheckbox as d}from"naive-ui";import{defineTablePlugin as c}from"../../../hooks/useTablePlugin.js";function r(){const o="checkRendererPlugin";return c({name:o,apply(n){n.fieldHooks.field.tap(o,((n,{index:t,insertBefore:i},d)=>{if(0===t&&d.selectType&&["checkbox","radio"].includes(d.selectType)){const{radioConfig:n,checkboxConfig:t={}}=d,c={width:45,align:"center",fixed:"left",..."radio"===d.selectType?n:t,field:o,type:d.selectType,annotation:!1};t.disableHeader&&(c.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...c.slots}),t.useNCheckbox&&(c.slots={checkbox:e=>s(e,t),header:l(t.maxCheckSize)?a([]):e=>s(e,t),...c.slots}),i(c)}return n}))}})}function s(o,n){return[e(p,{payload:o,checkboxConfig:n},null)]}const p=o({name:"IhoTableNCheckbox",props:{payload:{type:Object,default:()=>({})},checkboxConfig:{type:Object,default:()=>({})}},setup(o){const l=n("$xetable");function a(e,n){var t;n.stopPropagation(),"header"===(null==(t=o.payload)?void 0:t.type)?null==l||l.triggerCheckAllEvent(new MouseEvent("mouse-down"),e):null==l||l.triggerCheckRowEvent(new MouseEvent("mouse-down"),o.payload,e)}const c=t((()=>{var e,n;return i(null==(e=o.checkboxConfig)?void 0:e.indeterminateField)?null==(n=o.payload.row)?void 0:n[o.checkboxConfig.indeterminateField]:o.payload.indeterminate}));return()=>e(d,{checked:o.payload.checked,"onUpdate:checked":e=>o.payload.checked=e,indeterminate:c.value,disabled:o.payload.disabled,onUpdateChecked:a},null)}});export{r as checkRendererPlugin};
1
+ import{createVNode as e,defineComponent as o,inject as n,computed as l}from"vue";import{isNumber as t,constant as a,isString as i}from"lodash-es";import"../../../../index.js";import{NCheckbox as d}from"naive-ui";import{defineTablePlugin as c}from"../../../hooks/useTablePlugin.js";function r(){const o="checkRendererPlugin";return c({name:o,apply(n){n.fieldHooks.field.tap(o,((n,{index:l,insertBefore:i},d)=>{if(0===l&&d.selectType&&["checkbox","radio"].includes(d.selectType)){const{radioConfig:n,checkboxConfig:l={}}=d,c={width:45,align:"center",fixed:"left",..."radio"===d.selectType?n:l,field:o,type:d.selectType,annotation:!1};l.disableHeader&&(c.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...c.slots}),l.useNCheckbox&&(c.slots={checkbox:e=>s(e,l),header:t(l.maxCheckSize)?a([]):e=>s(e,l),...c.slots}),i(c)}return n}))}})}function s(o,n){return[e(p,{payload:o,checkboxConfig:n},null)]}const p=o({name:"IhoTableNCheckbox",props:{payload:{type:Object,default:()=>({})},checkboxConfig:{type:Object,default:()=>({})}},setup(o){const t=n("$xetable");function a(e,n){var l;n.stopPropagation(),"header"===(null==(l=o.payload)?void 0:l.type)?null==t||t.triggerCheckAllEvent(new MouseEvent("mouse-down"),e):null==t||t.triggerCheckRowEvent(new MouseEvent("mouse-down"),o.payload,e)}const c=l((()=>{var e,n;return i(null==(e=o.checkboxConfig)?void 0:e.indeterminateField)?null==(n=o.payload.row)?void 0:n[o.checkboxConfig.indeterminateField]:o.payload.indeterminate}));return()=>o.payload.visible?e(d,{checked:o.payload.checked,"onUpdate:checked":e=>o.payload.checked=e,indeterminate:c.value,disabled:o.payload.disabled,onUpdateChecked:a},null):null}});export{r as checkRendererPlugin};
@@ -28,6 +28,7 @@ export declare const createVerticalTableHooks: () => {
28
28
  } | null;
29
29
  editStateEvent: (event: MouseEvent) => void;
30
30
  hoveringRow: AnyObject | null;
31
+ hoveringFieldKey: string | null;
31
32
  }>], void, import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
32
33
  cellStyle: SyncWaterfallHook<[CSSProperties, {
33
34
  column: VxeTableDefines.ColumnInfo;
@@ -48,6 +49,7 @@ export declare const createVerticalTableHooks: () => {
48
49
  } | null;
49
50
  editStateEvent: (event: MouseEvent) => void;
50
51
  hoveringRow: AnyObject | null;
52
+ hoveringFieldKey: string | null;
51
53
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
52
54
  cellClassName: SyncWaterfallHook<[Record<string, boolean>, {
53
55
  column: VxeTableDefines.ColumnInfo;
@@ -67,6 +69,7 @@ export declare const createVerticalTableHooks: () => {
67
69
  } | null;
68
70
  editStateEvent: (event: MouseEvent) => void;
69
71
  hoveringRow: AnyObject | null;
72
+ hoveringFieldKey: string | null;
70
73
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
71
74
  config: SyncWaterfallHook<[IhoTableConfig, Partial<{
72
75
  originalTableConfig: IhoTableConfig;
@@ -84,6 +87,7 @@ export declare const createVerticalTableHooks: () => {
84
87
  } | null;
85
88
  editStateEvent: (event: MouseEvent) => void;
86
89
  hoveringRow: AnyObject | null;
90
+ hoveringFieldKey: string | null;
87
91
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
88
92
  headerRowStyle: SyncWaterfallHook<[CSSProperties, {
89
93
  $table: VxeTableConstructor & VxeTablePrivateMethods;
@@ -106,6 +110,7 @@ export declare const createVerticalTableHooks: () => {
106
110
  } | null;
107
111
  editStateEvent: (event: MouseEvent) => void;
108
112
  hoveringRow: AnyObject | null;
113
+ hoveringFieldKey: string | null;
109
114
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
110
115
  };
111
116
  export declare const usePresetVerticalPlugins: VerticalTablePlugin;
@@ -1 +1 @@
1
- import{isVerticalHeader as e,getOriginFieldFromRowData as t,getSpanInfo as n}from"../utils.js";const c=c=>{c.cellStyle.tap("useHeaderCSS",((c,{column:l,row:s})=>(e(l.field)||(s&&["checkbox","radio","seq"].includes(t(s).type||"")&&Object.assign(c,{textAlign:"center"}),Object.assign(c,{textShadow:"none"})),s&&n({row:s,column:l}).colspan>1&&Object.assign(c,{textAlign:"center"}),l.colSpan>1&&Object.assign(c,{textAlign:"center"}),c))),c.cellClassName.tap("useHeaderCSS",((t,{column:n})=>{const c=e(n.field);return Object.assign(t,{"vxe-header--column":c,"vxe-table--header":c,[n.field]:!0})}))};export{c as useHeaderCSS};
1
+ import{isVerticalHeader as e,getOriginFieldFromRowData as t,getSpanInfo as l}from"../utils.js";const n=n=>{n.cellStyle.tap("useHeaderCSS",((n,{column:c,row:s})=>(e(c.field)||(s&&["checkbox","radio","seq"].includes(t(s).type||"")&&Object.assign(n,{textAlign:"center"}),Object.assign(n,{textShadow:"none"})),s&&l({row:s,column:c}).colspan>1&&Object.assign(n,{textAlign:"center"}),c.colSpan>1&&Object.assign(n,{textAlign:"center"}),n))),n.cellClassName.tap("useHeaderCSS",((t,{column:l})=>{const n=e(l.field);return Object.assign(t,{"vxe-header--column":n,"vxe-table--header":n,[l.field.replaceAll("_parent","")]:!0})}))};export{n as useHeaderCSS};
@@ -1 +1 @@
1
- import{useThrottleFn as o}from"@vueuse/core";import{promiseTimeout as e}from"@vueuse/shared";import{unref as r}from"vue";import{getVerticalInfoFromEvent as n,isVerticalHeader as l,createVerticalStateHandler as i}from"../utils.js";const t=(t,u,a)=>{t.config.tap("useHoverColumn",((r,l)=>i(l).getTableConfig("rowConfig.isHover")?Object.assign(r,{onMousemove:o((o=>{var e,r;const i=n(o);if(!i||"body"!==i.type)return l.hoveringRow=null;l.hoveringRow=null!=(r=null==(e=l.originalData)?void 0:e[i.sequence])?r:null}),100),async onMouseleave(){await e(101),l.hoveringRow=null},async onScroll(){await e(101),l.hoveringRow=null}}):r)),t.cellStyle.tap({name:"useHoverColumn",before:"useCurrentColumn"},((o,{column:e},r)=>{if(l(e.field))return o;const n=i(r);if(!n.getTableConfig("rowConfig.isHover"))return o;const t=n.getOriginDataByColumn(e);return r.hoveringRow!==t?o:Object.assign(o,{backgroundColor:"var(--c-hover-color)"})})),u.exposeHooks.expose.tap("VerticalTable-useHoverColumn",((o,e)=>Object.assign(o,{verticalTable:{...o.verticalTable,getHoveringRow:()=>{var o;const n=null==(o=r(e))?void 0:o.uuid;return n?a(n).hoveringRow:null}}})))};export{t as useHoverColumn};
1
+ import{useThrottleFn as o}from"@vueuse/core";import{promiseTimeout as e}from"@vueuse/shared";import{unref as r}from"vue";import{createVerticalStateHandler as n,getVerticalInfoFromEvent as l}from"../utils.js";const u=(u,i,t)=>{u.config.tap("useHoverColumn",((r,u)=>{if(!n(u).getTableConfig("rowConfig.isHover"))return r;function i(o){var e,n;if(o){const r=l(o);if(i(),!r||"body"!==r.type)return;u.hoveringRow=null!=(n=null==(e=u.originalData)?void 0:e[r.sequence])?n:null,u.hoveringFieldKey=r.fieldKey,t(r.fieldKey).forEach((o=>{o.style.backgroundColor||(o.style.backgroundColor="var(--c-hover-color)")}))}else i();function i(){u.hoveringRow=null;const o=u.hoveringFieldKey;o&&(t(o).forEach((o=>{"var(--c-hover-color)"===o.style.backgroundColor&&(o.style.backgroundColor="")})),u.hoveringFieldKey=null)}function t(o){const e=r.uuid;if(!e)return[];const n=document.querySelector(`[uuid="${e}"]`);return n?Array.from(n.querySelectorAll(`.${o}`)):[]}}return Object.assign(r,{onMousemove:o(i,100),async onMouseleave(){await e(101),i()},async onScroll(){i()}})})),i.exposeHooks.expose.tap("VerticalTable-useHoverColumn",((o,e)=>Object.assign(o,{verticalTable:{...o.verticalTable,getHoveringRow:()=>{var o;const n=null==(o=r(e))?void 0:o.uuid;return n?t(n).hoveringRow:null}}})))};export{u as useHoverColumn};
@@ -1 +1 @@
1
- import{inject as e,toRaw as n,computed as l,createVNode as r,withModifiers as o}from"vue";import{property as i,isFunction as t,isEmpty as d,identity as c}from"lodash-es";import{NCheckbox as u,NRadio as a}from"naive-ui";import{InjectionIhoTableUUID as s,WIDGET_TYPE as f}from"../../../constants/index.js";import{isVerticalHeader as v,getOriginBasePayload as m,getOriginRowFromRowData as w,getHeaderDepthByField as p}from"./utils.js";const x={seq:e=>e.rowIndex+1,checkbox:e=>r(u,{checked:e.row.checked,"onUpdate:checked":n=>e.row.checked=n,onClick:o(c,["stop"])},null),radio(e,n){const i=l({get:()=>e.row===n.currentRow,set(){n.currentRow=e.row}});return r(a,{checked:i.value,"onUpdate:checked":e=>i.value=e,onClick:o(c,["stop"])},null)}};function h(n,o,c){return(a,w)=>{var p,h;const k=e(s),g=o(k),{row:b,column:I}=w;if(v(I.field)){return"checkbox"===i("originalField")(b).type?function(e){var n,o;const i=l({get(){var n,l;return!d(e.originalData)&&null!=(l=null==(n=e.originalData)?void 0:n.every((e=>e.checked)))&&l},set(n){var l;null==(l=e.originalData)||l.forEach((e=>e.checked=n))}}),t=l((()=>{var n,l;return null!=(l=null==(n=e.originalData)?void 0:n.some((e=>e.checked)))&&l}));return r(u,{checked:i.value,"onUpdate:checked":e=>i.value=e,indeterminate:!i.value&&t.value,disabled:null==(o=null==(n=e.originalTableConfig)?void 0:n.checkboxConfig)?void 0:o.disableHeader},null)}(g):b[I.field.replaceAll("_parent","")]}const C={$table:w.$table,columnIndex:w.rowIndex,$columnIndex:w.rowIndex,isHidden:w.isHidden,rowid:w.rowid,...m(b,I)};if(!C.row)return null;const{originalField:{editRender:y={},slots:D={}}={}}=b;if(t(D[c]))return D[c](C);if(D.default&&!D.edit)return D.default(C);if(x[C.type])return x[C.type](C,g);const $=y.name||f.DEFAULT,F=n.renderer.get($);return F?"default"===c?null==(p=F.renderCell)?void 0:p.call(F,y,C):null==(h=F.renderEdit)?void 0:h.call(F,y,C):{}}}function k(l,r){return(o,t)=>{var d,c,u;const a=e(s),f=r(a),v=null==(d=f.fixedLeftVerticalData)?void 0:d[t.$rowIndex];if(!v)return null;const m=i("originalField")(v),x=w(v,p(t.column.field)),k=n(null==(c=f.editCell)?void 0:c.row)===n(x)&&n(null==(u=f.editCell)?void 0:u.column)===n(m);return h(l,r,k?"edit":"default")(null,{...t,row:v,rowIndex:t.$rowIndex,rowid:t.$rowIndex+"",fixed:t.column.fixed,isHidden:!t.column.visible,type:t.column.type})}}export{x as VerticalRenderMap,h as createCellRender,k as createHeaderCellRender};
1
+ import{inject as e,createVNode as l,toRaw as n,computed as r,withModifiers as i}from"vue";import{property as o,isFunction as t,isEmpty as d,identity as u}from"lodash-es";import{NPopover as c,NCheckbox as a,NRadio as s}from"naive-ui";import{InjectionIhoTableUUID as f,WIDGET_TYPE as v}from"../../../constants/index.js";import{IhoTableRenderHelper as x}from"../../../utils/index.js";import{isVerticalHeader as m,getHeaderDepthByField as p,getOriginBasePayload as h,getOriginRowFromRowData as w}from"./utils.js";const k={seq:e=>e.rowIndex+1,checkbox:e=>l(a,{checked:e.row.checked,"onUpdate:checked":l=>e.row.checked=l,onClick:i(u,["stop"])},null),radio(e,n){const o=r({get:()=>e.row===n.currentRow,set(){n.currentRow=e.row}});return l(s,{checked:o.value,"onUpdate:checked":e=>o.value=e,onClick:i(u,["stop"])},null)}};function g(n,i,u){return(s,w)=>{var g,b;const I=e(f),C=i(I),{row:D,column:H}=w;if(m(H.field)){const e=o("originalField")(D);if("checkbox"===e.type)return function(e){var n,i;const o=r({get(){var l,n;return!d(e.originalData)&&null!=(n=null==(l=e.originalData)?void 0:l.every((e=>e.checked)))&&n},set(l){var n;null==(n=e.originalData)||n.forEach((e=>e.checked=l))}}),t=r((()=>{var l,n;return null!=(n=null==(l=e.originalData)?void 0:l.some((e=>e.checked)))&&n}));return l(a,{checked:o.value,"onUpdate:checked":e=>o.value=e,indeterminate:!o.value&&t.value,disabled:null==(i=null==(n=e.originalTableConfig)?void 0:n.checkboxConfig)?void 0:i.disableHeader},null)}(C);const n=D[H.field.replaceAll("_parent","")];return x.hasTitlePrefix(e)&&p(H.field)===C.headerDepth?[l(c,null,{trigger:()=>l("i",{class:"vxe-cell-help-icon vxe-icon-question-circle-fill"},null),default:()=>e.titlePrefix.useHTML?l("div",{innerHTML:e.titlePrefix.useHTML},null):l("div",null,[e.titlePrefix.content])}),n]:n}const y={$table:w.$table,columnIndex:w.rowIndex,$columnIndex:w.rowIndex,isHidden:w.isHidden,rowid:w.rowid,...h(D,H)};if(!y.row)return null;const{originalField:{editRender:T={},slots:$={}}={}}=D;if(t($[u]))return $[u](y);if($.default&&!$.edit)return $.default(y);if(k[y.type])return k[y.type](y,C);const L=T.name||v.DEFAULT,F=n.renderer.get(L);return F?"default"===u?null==(g=F.renderCell)?void 0:g.call(F,T,y):null==(b=F.renderEdit)?void 0:b.call(F,T,y):{}}}function b(l,r){return(i,t)=>{var d,u,c;const a=e(f),s=r(a),v=null==(d=s.fixedLeftVerticalData)?void 0:d[t.$rowIndex];if(!v)return null;const x=o("originalField")(v),m=w(v,p(t.column.field)),h=n(null==(u=s.editCell)?void 0:u.row)===n(m)&&n(null==(c=s.editCell)?void 0:c.column)===n(x);return g(l,r,h?"edit":"default")(null,{...t,row:v,rowIndex:t.$rowIndex,rowid:t.$rowIndex+"",fixed:t.column.fixed,isHidden:!t.column.visible,type:t.column.type})}}export{k as VerticalRenderMap,g as createCellRender,b as createHeaderCellRender};
@@ -16,4 +16,5 @@ export declare type IhoTableVerticalState = Partial<{
16
16
  } | null;
17
17
  editStateEvent: (event: MouseEvent) => void;
18
18
  hoveringRow: AnyObject | null;
19
+ hoveringFieldKey: string | null;
19
20
  }>;
@@ -16,6 +16,7 @@ export declare function getSpanInfo({ row, column }: {
16
16
  };
17
17
  export declare function createVerticalFieldList(tableData: AnyObject[], headerDepth: number, verticalState: IhoTableVerticalState): IhoTableFieldItem[];
18
18
  export declare function getVerticalInfoFromEvent(event: MouseEvent): {
19
+ fieldKey: string;
19
20
  type: string;
20
21
  sequence: number;
21
22
  } | undefined;
@@ -1 +1 @@
1
- import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as i,constant as o,isFunction as a,range as l,property as u}from"lodash-es";import{VERTICAL_CELL_TYPE as c}from"./constants.js";function f(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function d(e){return!!r(e)&&e.startsWith("header_")}function s(e){return!!r(e)&&e.startsWith("body_")}function p(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function h(n,t){const r=[];return e(n,((e,n,o)=>{e.parent=o,e.children||(!function(e,n){let t=e,r=n;if(!e.parent)return e[`header_${n}`]=e.title,void l(n+1).forEach((t=>{e[`header_${t}_colspan`]=t===n?n+1:0,e[`header_${t}_rowspan`]=t===n?1:0}));for(;t;)e[`header_${r}`]=t.title,e[`header_${r}_rowspan`]=i(t),e[`header_${r}_colspan`]=1,r--,t=t.parent}(e,t),r.push(e))})),r.forEach(((e,n)=>{const t=r[n-1];t&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===t[n]&&r&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r;function i(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}}function _({row:e,column:n}){var t,r;return d(n.field)?{rowspan:null!=(t=e[n.field+"_rowspan"])?t:1,colspan:null!=(r=e[n.field+"_colspan"])?r:1}:{colspan:1,rowspan:1}}const g=({cell:e}={})=>{const n=e&&e.querySelector("input,.n-input__input-el");return n&&n.click(),n};function m(n,r){let i=120;return e(r,((e,r,o,a)=>{a===n&&(i=Math.max(i,t(e.title||"")+20))})),Math.ceil(i)}function $(e,n,t){let r=C(t).getTableConfig("verticalConfig.headerWidth");return r="auto"===r?m:i(r)?o(r):a(r)?r:m,[...l(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:r(e,t.originalFieldList),fixed:"left",editRender:{name:c,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:120,editRender:{name:c,props:{},enable:!0,autofocus:g}})))]}function w(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[,i,o]=r;return{type:i,sequence:+o}}function b(e){return u("originalField")(e)}function y(e,n){return u(`originalData.${n}`)(e)}function x(e,n){const t=p(n.field),r=b(e);return{row:y(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function v(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function C(e){return{getOriginDataByColumn(n){const{originalData:t=[]}=e;return t[p(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function D(e,n){return new Proxy({},{get(t,r){var i;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(d(r))return e[r];if(s(r)){const t=p(r);return"seq"===e.type?t+1:null==(i=n[t])?void 0:i[e.field]}},set(t,r,i){if(!d(r)){const t=p(r);t>=0&&n[t]&&(n[t][e.field]=i)}return!0}})}g.toString=()=>"input,.n-input__input-el";export{h as bindHeaderInfoAndFlatten,D as createDataProxy,$ as createVerticalFieldList,C as createVerticalStateHandler,v as findFixedLeftFields,p as getHeaderDepthByField,x as getOriginBasePayload,b as getOriginFieldFromRowData,y as getOriginRowFromRowData,_ as getSpanInfo,w as getVerticalInfoFromEvent,s as isVerticalBody,d as isVerticalHeader,f as isVerticalTable};
1
+ import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as i,constant as o,isFunction as a,range as l,property as u}from"lodash-es";import{IhoTableRenderHelper as c}from"../../../utils/index.js";import{VERTICAL_CELL_TYPE as f}from"./constants.js";function d(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function s(e){return!!r(e)&&e.startsWith("header_")}function p(e){return!!r(e)&&e.startsWith("body_")}function h(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function _(n,t){const r=[];return e(n,((e,n,o)=>{e.parent=o,e.children||(!function(e,n){let t=e,r=n;if(!e.parent)return e[`header_${n}`]=e.title,void l(n+1).forEach((t=>{e[`header_${t}_colspan`]=t===n?n+1:0,e[`header_${t}_rowspan`]=t===n?1:0}));for(;t;)e[`header_${r}`]=t.title,e[`header_${r}_rowspan`]=i(t),e[`header_${r}_colspan`]=1,r--,t=t.parent}(e,t),r.push(e))})),r.forEach(((e,n)=>{const t=r[n-1];t&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===t[n]&&r&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r;function i(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}}function g({row:e,column:n}){var t,r;return s(n.field)?{rowspan:null!=(t=e[n.field+"_rowspan"])?t:1,colspan:null!=(r=e[n.field+"_colspan"])?r:1}:{colspan:1,rowspan:1}}const m=({cell:e}={})=>{const n=e&&e.querySelector("input,.n-input__input-el");return n&&n.click(),n};function $(n,r){let i=120;return e(r,((e,r,o,a)=>{a===n&&(i=Math.max(i,t(e.title||"")+20+(c.hasTitlePrefix(e)?20:0)))})),Math.ceil(i)}function b(e,n,t){const r=T(t);let u=r.getTableConfig("verticalConfig.headerWidth");u="auto"===u?$:i(u)?o(u):a(u)?u:$;let c=r.getTableConfig("verticalConfig.bodyWidth");return c=i(c)?o(c):a(c)?c:o(120),[...l(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:u(e,t.originalFieldList),fixed:"left",editRender:{name:f,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:c(n),editRender:{name:f,props:{},enable:!0,autofocus:m}})))]}function y(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[i,o,a]=r;return{fieldKey:i,type:o,sequence:+a}}function w(e){return u("originalField")(e)}function x(e,n){return u(`originalData.${n}`)(e)}function v(e,n){const t=h(n.field),r=w(e);return{row:x(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function C(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function T(e){return{getOriginDataByColumn(n){const{originalData:t=[]}=e;return t[h(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function D(e,n){return new Proxy({},{get(t,r){var i;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(s(r))return e[r];if(p(r)){const t=h(r);return"seq"===e.type?t+1:null==(i=n[t])?void 0:i[e.field]}return t[r]},set(t,r,i){if(!s(r)){const t=h(r);t>=0&&n[t]&&(n[t][e.field]=i)}return!0}})}m.toString=()=>"input,.n-input__input-el";export{_ as bindHeaderInfoAndFlatten,D as createDataProxy,b as createVerticalFieldList,T as createVerticalStateHandler,C as findFixedLeftFields,h as getHeaderDepthByField,v as getOriginBasePayload,w as getOriginFieldFromRowData,x as getOriginRowFromRowData,g as getSpanInfo,y as getVerticalInfoFromEvent,p as isVerticalBody,s as isVerticalHeader,d as isVerticalTable};
@@ -86,6 +86,7 @@ export declare type IhoTableConfig = VxeTableProps & Partial<{
86
86
  verticalConfig: {
87
87
  enable?: boolean;
88
88
  headerWidth?: number | 'auto' | ((level: number) => number);
89
+ bodyWidth?: number | ((index: number) => number);
89
90
  };
90
91
  [K: string]: unknown;
91
92
  }> &
@@ -37,7 +37,7 @@ export declare const IhoTableRenderHelper: Readonly<{
37
37
  isEditableColumn(config: IhoTableConfig, column: IhoTableFieldItem): boolean | undefined;
38
38
  hasFilter(lowCodeField: LowCodeTableFieldItem): boolean;
39
39
  hasDateFiler(lowCodeField: LowCodeTableFieldItem): boolean | undefined;
40
- hasTitlePrefix(lowCodeField: LowCodeTableFieldItem): unknown;
40
+ hasTitlePrefix(lowCodeField: VxeTableDefines.ColumnInfo | IhoTableFieldItem): boolean | import("vxe-table").VxeTooltipPropTypes.Content | undefined;
41
41
  }>;
42
42
  export declare const IhoTableStatusHelper: Readonly<{
43
43
  isPositive(value: string | number | undefined | null): boolean;
@@ -1 +1 @@
1
- import{reactive as e,inject as n,unref as t,toRaw as r,createVNode as o}from"vue";import{jsonParse as i}from"../../../../shared/utils/index.js";import{promiseTimeout as l}from"@vueuse/shared";import{parse as u,isValid as a,compareDesc as c}from"date-fns";import{isNumber as d,isFunction as s,isString as f,isObject as p,isArray as m}from"lodash-es";import{InjectionIhoTableConfig as v,InjectionIhoTableEmits as g,IHO_TABLE_STRING_STATUS as h,IHO_TABLE_NUMBER_STATUS as I,IHO_TABLE_TREE_TYPE as E,EDITABLE_WIDGET_TYPE as T,InjectionIhoTableUUID as w}from"../constants/index.js";import{getSeparateInfo as R}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function C(e){return console.warn(`[IhoTable]: ${e}`)}const S=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function F(){var e,t,r;const o=n(v);return o||C("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function D(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function P(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function b(n,t=!0){const r=t?e(new Map):new Map;return{getItemFromUUID:function(e){return r.set(e,r.get(e)||n()).get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function O(e,n,r,o,i=2){const u=function(){var i;const l=null==(i=t(o))?void 0:i.getColumnByField(e.field);if(!l)return;const u=x(l);return u?s(u.separateWidth)?u.separateWidth({column:l,row:n,rowIndex:r,$table:t(o)}):d(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return d(u)&&u>0?u:i<=0?function(){const n=+e.colWidth;return d(n)?n:64}():(await l(0),O(e,n,r,o,i-1))}function A(e){const o=n(g);function i(){var n;const r=t(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(n=r.column.editRender)?void 0:n.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){o("formChange",{...i(),...r(e)})}function u(e={}){o("formClick",{...i(),...r(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function x(e){var n;return null==(n=e.editRender)?void 0:n.props}const $=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:t,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(t[r.field]);const i=n(w),l=R(i,t);if(!l)return c(t[r.field]);const{originalData:u=t,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:U(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...A(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){if(H(e))return!0;let n=e.fieldSetting;return f(n)&&(n=i(n||"")),p(n)&&((t=n).notParticipatingSearch!==h.POSITIVE&&"manual"===(null==(r=t.mapping)?void 0:r.type));var t,r},hasDateFiler(e){var n;return null==(n=null==e?void 0:e.filterSetting)?void 0:n.daterange},hasTitlePrefix(e){var n,t;return(null==(n=null==e?void 0:e.titlePrefix)?void 0:n.content)||(null==(t=null==e?void 0:e.settingObj)?void 0:t.feildDescribe)}}),N=Object.freeze({isPositive:e=>e===I.POSITIVE||e===h.POSITIVE,isNegative:e=>e===I.NEGATIVE||e===h.NEGATIVE,notPositive:e=>e!==I.POSITIVE&&e!==h.POSITIVE,notNegative:e=>e!==I.NEGATIVE&&e!==h.NEGATIVE});function V(e){return[E.TRANSFORM_WITH_SPAN_METHOD,E.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function W(e){return f(e)&&!!e.match(/^###\{[^{}]+}$/)}function _(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function j(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!f(t))return e[n.field];const{mergedFeildExpression:r}=i(t);return r&&f(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;W(r)&&(r=_(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const y=["SEARCH","SELECT","RADIO","CHECKBOX"];function H(e){return e.notParticipatingSearch===I.NEGATIVE&&y.includes(S.getCellType(e))&&m(e.options)&&e.options.length}function U(e,n=""){return"tooltip"!==e.showOverflow&&f(n)?n:""}function M(e,n){var r,o,i;n=t(n)||"";const l=null!=(o=null==(r=e.editRender)?void 0:r.props)?o:{},c=u(n,(null==(i=null==l?void 0:l.componentProps)?void 0:i.valueFormat)||"HH:mm",new Date);return!a(c)}function G(e,n,r){var o,i;const l=null!=(i=null==(o=e.editRender)?void 0:o.props)?i:{};return r=t(r)||"",!a(new Date(r))||f(l.connectField)&&n[l.connectField]&&(l.isStartDate&&c(new Date(r),new Date(n[l.connectField]))<0||l.isEndDate&&c(new Date(r),new Date(n[l.connectField]))>0)}function L(e){var n,t;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(t=null==(n=e.editRender)?void 0:n.name)?t:S.getCellType(e))!==T.SEPARATE}function k(e){const n=e.internalData.tableFullColumn;return!!m(n)&&n.some((e=>{var n,t;return L(null!=(t=null==(n=e.editRender)?void 0:n.props)?t:{})}))}export{$ as IhoTableRenderHelper,N as IhoTableStatusHelper,S as IhoTableUtils,C as IhoTableWarn,D as eventListener2EventName,P as eventName2EventListener,O as getColumnRenderWidth,x as getLowCodeFieldFromField,F as getRowHeight,U as getTitle,H as isCompatibleColumn,G as isInvalidDate,M as isInvalidTime,W as isRichContent,V as isTransformTreeType,L as isVariableHeightColumn,k as isVariableHeightTable,j as parseMergeField,_ as parseRichContent,A as useIhoTableFormEvent,b as useUUIDMap};
1
+ import{reactive as e,inject as n,unref as t,toRaw as r,createVNode as o}from"vue";import{jsonParse as i}from"../../../../shared/utils/index.js";import{promiseTimeout as l}from"@vueuse/shared";import{parse as u,isValid as a,compareDesc as c}from"date-fns";import{isNumber as d,isFunction as s,isString as f,isObject as p,isArray as m}from"lodash-es";import{InjectionIhoTableConfig as v,InjectionIhoTableEmits as h,IHO_TABLE_STRING_STATUS as I,IHO_TABLE_NUMBER_STATUS as g,IHO_TABLE_TREE_TYPE as E,EDITABLE_WIDGET_TYPE as T,InjectionIhoTableUUID as w}from"../constants/index.js";import{getSeparateInfo as R}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function C(e){return console.warn(`[IhoTable]: ${e}`)}const S=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function F(){var e,t,r;const o=n(v);return o||C("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function P(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function D(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function b(n,t=!0){const r=t?e(new Map):new Map;return{getItemFromUUID:function(e){return r.set(e,r.get(e)||n()).get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function A(e,n,r,o,i=2){const u=function(){var i;const l=null==(i=t(o))?void 0:i.getColumnByField(e.field);if(!l)return;const u=x(l);return u?s(u.separateWidth)?u.separateWidth({column:l,row:n,rowIndex:r,$table:t(o)}):d(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return d(u)&&u>0?u:i<=0?function(){const n=+e.colWidth;return d(n)?n:64}():(await l(0),A(e,n,r,o,i-1))}function O(e){const o=n(h);function i(){var n;const r=t(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(n=r.column.editRender)?void 0:n.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){o("formChange",{...i(),...r(e)})}function u(e={}){o("formClick",{...i(),...r(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function x(e){var n;return null==(n=e.editRender)?void 0:n.props}const $=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:t,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(t[r.field]);const i=n(w),l=R(i,t);if(!l)return c(t[r.field]);const{originalData:u=t,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:j(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...O(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){if(U(e))return!0;let n=e.fieldSetting;return f(n)&&(n=i(n||"")),p(n)&&((t=n).notParticipatingSearch!==I.POSITIVE&&"manual"===(null==(r=t.mapping)?void 0:r.type));var t,r},hasDateFiler(e){var n;return null==(n=null==e?void 0:e.filterSetting)?void 0:n.daterange},hasTitlePrefix(e){var n,t;return e&&((null==(n=e.titlePrefix)?void 0:n.content)||(null==(t=e.titlePrefix)?void 0:t.useHTML))}}),N=Object.freeze({isPositive:e=>e===g.POSITIVE||e===I.POSITIVE,isNegative:e=>e===g.NEGATIVE||e===I.NEGATIVE,notPositive:e=>e!==g.POSITIVE&&e!==I.POSITIVE,notNegative:e=>e!==g.NEGATIVE&&e!==I.NEGATIVE});function H(e){return[E.TRANSFORM_WITH_SPAN_METHOD,E.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function V(e){return f(e)&&!!e.match(/^###\{[^{}]+}$/)}function W(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function _(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!f(t))return e[n.field];const{mergedFeildExpression:r}=i(t);return r&&f(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;V(r)&&(r=W(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const y=["SEARCH","SELECT","RADIO","CHECKBOX"];function U(e){return e.notParticipatingSearch===g.NEGATIVE&&y.includes(S.getCellType(e))&&m(e.options)&&e.options.length}function j(e,n=""){return"tooltip"!==e.showOverflow&&f(n)?n:""}function M(e,n){var r,o,i;n=t(n)||"";const l=null!=(o=null==(r=e.editRender)?void 0:r.props)?o:{},c=u(n,(null==(i=null==l?void 0:l.componentProps)?void 0:i.valueFormat)||"HH:mm",new Date);return!a(c)}function G(e,n,r){var o,i;const l=null!=(i=null==(o=e.editRender)?void 0:o.props)?i:{};return r=t(r)||"",!a(new Date(r))||f(l.connectField)&&n[l.connectField]&&(l.isStartDate&&c(new Date(r),new Date(n[l.connectField]))<0||l.isEndDate&&c(new Date(r),new Date(n[l.connectField]))>0)}function L(e){var n,t;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(t=null==(n=e.editRender)?void 0:n.name)?t:S.getCellType(e))!==T.SEPARATE}function k(e){const n=e.internalData.tableFullColumn;return!!m(n)&&n.some((e=>{var n,t;return L(null!=(t=null==(n=e.editRender)?void 0:n.props)?t:{})}))}export{$ as IhoTableRenderHelper,N as IhoTableStatusHelper,S as IhoTableUtils,C as IhoTableWarn,P as eventListener2EventName,D as eventName2EventListener,A as getColumnRenderWidth,x as getLowCodeFieldFromField,F as getRowHeight,j as getTitle,U as isCompatibleColumn,G as isInvalidDate,M as isInvalidTime,V as isRichContent,H as isTransformTreeType,L as isVariableHeightColumn,k as isVariableHeightTable,_ as parseMergeField,W as parseRichContent,O as useIhoTableFormEvent,b as useUUIDMap};
@@ -1 +1 @@
1
- .iho-table{height:100%}.iho-table .vxe-header--column{font-weight:400;text-shadow:0 0 1px}.iho-table .vxe-body--column.col--drag{cursor:move}.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:#b2b2b2;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-table--header .checkbox-cell--disable{border:2px solid #c0c4cc;border-radius:50%;box-sizing:border-box;cursor:not-allowed;display:inline-block;height:18px;left:-2px;position:relative;top:3px;width:18px}.iho-table .vxe-table--header .checkbox-cell--disable:before{background-color:#c0c4cc;content:"";height:16px;left:50%;position:absolute;top:-2px;transform:translate(-60%) rotate(-45deg);width:2px}.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--column.col--selected{box-shadow:inset 0 0 0 2px var(--c-primary-color)}.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);text-shadow:0 0 1px}.iho-table .vxe-table--render-default .vxe-body--row.row--stripe{background-color:var(--c-stripe-color)}.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 .is--filter-active .vxe-cell--filter .vxe-filter--btn{color:var(--c-primary-color)}.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__filterCheckAllWrapper{display:flex;justify-content:space-between}.iho-table__filterCheckAllWrapper>div{flex:1}.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);overflow-x:hidden}.iho-table__filterListItem{align-items:center;border-radius:4px;display:flex;padding:0 8px}.iho-table__filterListItem:hover{background:var(--c-primary-color-opacity2)}.iho-table__filterListItem .n-checkbox,.iho-table__filterListItem .n-radio{width:100%}.iho-table__filterListItem>*{padding:5px 0}.iho-table__filterListItemContent{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:190px}.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{line-height:1.3;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__selectOptionWrapper{align-items:center;display:flex}.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;font-size:17px;transform:translateY(-1px);vertical-align:middle}.iho-table .iho-table-icon-filter:before{content:"\c2001"}.iho-table .iho-table-icon-date-filter{display:inline-block;transform:translateY(-1px)}.iho-table .iho-table-icon-date-filter:before{content:"\c2002"}.iho-table .row--custom{background-color:var(--row-background-color)}.iho-table__colorAndIcon{background-color:var(--color-and-icon-background-color-type);color:var(--color-and-icon-color-type)}.iho-table__htmlRender *{display:inline!important}.iho-table__ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
1
+ .iho-table{height:100%}.iho-table .vxe-header--column{font-weight:400;text-shadow:0 0 1px}.iho-table .vxe-body--column.col--drag{cursor:move}.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:#b2b2b2;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-table--header .checkbox-cell--disable{border:2px solid #c0c4cc;border-radius:50%;box-sizing:border-box;cursor:not-allowed;display:inline-block;height:18px;left:-2px;position:relative;top:3px;width:18px}.iho-table .vxe-table--header .checkbox-cell--disable:before{background-color:#c0c4cc;content:"";height:16px;left:50%;position:absolute;top:-2px;transform:translate(-60%) rotate(-45deg);width:2px}.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--column.col--selected{box-shadow:inset 0 0 0 2px var(--c-primary-color)}.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--stripe{background-color:var(--c-stripe-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--radio{background-color:var(--c-primary-color-opacity2);text-shadow:0 0 1px}.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{background-color:var(--c-primary-color-opacity3);text-shadow:0 0 1px}.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 .is--filter-active .vxe-cell--filter .vxe-filter--btn{color:var(--c-primary-color)}.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__filterCheckAllWrapper{display:flex;justify-content:space-between}.iho-table__filterCheckAllWrapper>div{flex:1}.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);overflow-x:hidden}.iho-table__filterListItem{align-items:center;border-radius:4px;display:flex;padding:0 8px}.iho-table__filterListItem:hover{background:var(--c-primary-color-opacity2)}.iho-table__filterListItem .n-checkbox,.iho-table__filterListItem .n-radio{width:100%}.iho-table__filterListItem>*{padding:5px 0}.iho-table__filterListItemContent{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:190px}.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{line-height:1.3;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__selectOptionWrapper{align-items:center;display:flex}.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;font-size:17px;transform:translateY(-1px);vertical-align:middle}.iho-table .iho-table-icon-filter:before{content:"\c2001"}.iho-table .iho-table-icon-date-filter{display:inline-block;transform:translateY(-1px)}.iho-table .iho-table-icon-date-filter:before{content:"\c2002"}.iho-table .row--custom{background-color:var(--row-background-color)}.iho-table__colorAndIcon{background-color:var(--color-and-icon-background-color-type);color:var(--color-and-icon-color-type)}.iho-table__htmlRender *{display:inline!important}.iho-table__ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}