cnhis-design-vue 3.2.4-beta.21 → 3.2.4-beta.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  2. package/es/components/callback/src/components/render/popupMaps.d.ts +5 -3
  3. package/es/components/field-set/index.d.ts +14 -1
  4. package/es/components/field-set/src/FieldColor.vue.d.ts +4 -25
  5. package/es/components/field-set/src/FieldFilter.vue.d.ts +487 -0
  6. package/es/components/field-set/src/FieldFilter.vue.js +1 -0
  7. package/es/components/field-set/src/FieldFilter.vue2.js +1 -0
  8. package/es/components/field-set/src/FieldSet.vue.d.ts +4 -25
  9. package/es/components/field-set/src/Index.vue.d.ts +15 -2
  10. package/es/components/field-set/src/Index.vue2.js +1 -1
  11. package/es/components/field-set/src/components/Row.vue.d.ts +5 -9
  12. package/es/components/field-set/src/components/Row.vue2.js +1 -1
  13. package/es/components/field-set/src/constants/filter.d.ts +93 -0
  14. package/es/components/field-set/src/constants/filter.js +1 -0
  15. package/es/components/field-set/src/types/index.d.ts +14 -1
  16. package/es/components/field-set/src/utils/index.d.ts +1 -0
  17. package/es/components/field-set/src/utils/index.js +1 -1
  18. package/es/components/form-config/index.d.ts +10 -6
  19. package/es/components/form-config/src/FormConfig.vue.d.ts +10 -6
  20. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +5 -3
  21. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +5 -3
  22. package/es/components/form-render/index.d.ts +5 -3
  23. package/es/components/form-render/src/FormRender.vue.d.ts +4 -2
  24. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  25. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +5 -3
  26. package/es/components/form-render/src/FormRenderWrapper.vue2.js +1 -1
  27. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  28. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +2 -0
  29. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue2.js +1 -1
  30. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +2 -0
  31. package/es/components/form-render/src/components/renderer/radio_checkbox.js +1 -1
  32. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  33. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  34. package/es/components/form-render/src/components/renderer/select.js +1 -1
  35. package/es/components/form-render/src/hooks/useChangeContext.d.ts +3 -0
  36. package/es/components/form-render/src/hooks/useFormEvent.d.ts +3 -2
  37. package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
  38. package/es/components/form-render/src/types/index.d.ts +4 -0
  39. package/es/components/form-render/src/utils/valueFormatter.d.ts +4 -0
  40. package/es/components/form-render/src/utils/valueFormatter.js +1 -0
  41. package/es/components/info-header/index.d.ts +10 -6
  42. package/es/components/info-header/src/InfoHeader.vue.d.ts +10 -6
  43. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +5 -3
  44. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +5 -3
  45. package/es/components/shortcut-setter/index.d.ts +5 -3
  46. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +5 -3
  47. package/es/shared/package.json.js +1 -1
  48. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,ref as l,onDeactivated as t,createVNode as a,unref as u,createTextVNode as n}from"vue";import{useTheme as r}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isString as s,isObject as i,isArray as d,isFunction as m}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import{promiseTimeout as v}from"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import{FileTrayFull as c,FileTray as p}from"@vicons/ionicons5";import{NPopover as f,NDivider as h,NEllipsis as V,NIcon as g,NPopselect as y,NButton as w,NInput as x}from"naive-ui";var b=e({props:{modelValue:{type:[String,Object],default:""},shortcuts:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(e,{emit:b}){const k=r(),T=o({get:()=>s(e.modelValue)?e.modelValue:i(e.modelValue)&&e.modelValue.content||"",set(o){let l=o;i(e.modelValue)&&(l={...e.modelValue,content:o}),b("update:modelValue",l)}}),P=l(!1),R=o({get:()=>P.value,async set(e){P.value=e,!e&&M.value&&(await new Promise((e=>setTimeout(e,200))),M.value=!1)}}),_=o((()=>{let o=e.shortcuts||[];return i(e.modelValue)&&(d(e.modelValue.shortcuts)?o=e.modelValue.shortcuts:Reflect.has(e.modelValue,"shortcuts")&&(o=[])),o.map((e=>s(e)?{label:e,value:e}:e))})),j=l(),M=l(!1);let C,U;async function z(){var e,o;await v(50),null==(o=null==(e=j.value)?void 0:e.syncPosition)||o.call(e)}function L(e){e.stopPropagation(),clearTimeout(C),R.value&&M.value?R.value=!1:u(T)||(C=setTimeout((()=>(M.value=R.value=!0,z())),200))}function S(e){if(e.stopPropagation(),clearTimeout(C),u(T))return M.value=R.value=!0,z()}function W(e){e.stopPropagation(),clearTimeout(U),u(T)&&(R.value=!0)}function A(e){e.stopPropagation(),clearTimeout(U),u(T)&&!M.value&&(U=setTimeout((()=>{R.value=!1}),300))}return t((()=>{R.value=!1})),function(){return a("section",{class:["annotation-edit",{"is-active":!!u(T)}],style:{"--icon-right":"-5",...k.value},"annotation-hover-show":!u(T)&&!M.value},[a(f,{ref:j,"keep-alive-on-hover":!0,style:{maxWidth:"360px",wordBreak:"break-all"},show:R.value,"onUpdate:show":e=>R.value=e,trigger:"manual",duration:100,onClickoutside:L},{default:function(){return a("section",{onMouseleave:A,onMouseenter:W},[a("div",null,[M.value?[_.value.length?a(y,{options:_.value,"onUpdate:value":e=>T.value+=e,scrollable:!0},{default:()=>a(w,{style:"margin-bottom: 8px;"},{default:()=>"短语"})}):null,a(x,{resizable:!1,autosize:{minRows:3,maxRows:5},"show-count":!0,class:"annotation-edit__textarea",type:"textarea",value:T.value,"onUpdate:value":e=>T.value=e},null)]:a("span",null,[u(T)])]),i(e.modelValue)&&(m(e.modelValue.footerRender)||e.modelValue.author||e.modelValue.date)?[a(h,{style:{margin:"4px 0",minWidth:"360px"}},null),a("section",{class:"annotation-edit__footer"},[m(e.modelValue.footerRender)?e.modelValue.footerRender(e.modelValue):[a(V,null,{default:()=>{var o;return[null!=(o=e.modelValue.authorLabel)?o:"质控人",n(": "),e.modelValue.author]}}),a(V,null,{default:()=>{var o;return[null!=(o=e.modelValue.dateLabel)?o:"质控时间",n(": "),e.modelValue.date]}})]])]:null])},trigger:function(){return a("div",{class:"annotation-edit__icon",onMouseleave:A,onMouseenter:W,onDblclick:S,onClick:L},[a(g,{component:u(T)?c:p},null)])}})])}}});export{b as default};
1
+ import{defineComponent as e,computed as o,ref as l,onDeactivated as t,createVNode as a,unref as u,createTextVNode as n}from"vue";import{useTheme as r}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{isString as i,isObject as s,isArray as d,isFunction as m}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import{promiseTimeout as v}from"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import{FileTrayFull as c,FileTray as p}from"@vicons/ionicons5";import{NPopover as f,NDivider as h,NEllipsis as V,NIcon as g,NPopselect as y,NButton as b,NInput as w}from"naive-ui";var x=e({props:{modelValue:{type:[String,Object],default:""},shortcuts:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(e,{emit:x}){const k=r(),T=o({get:()=>i(e.modelValue)?e.modelValue:s(e.modelValue)&&e.modelValue.content||"",set(o){let l=o;s(e.modelValue)&&(l={...e.modelValue,content:o}),x("update:modelValue",l)}}),P=l(!1),R=o({get:()=>P.value,async set(e){P.value=e,!e&&M.value&&(await new Promise((e=>setTimeout(e,200))),M.value=!1)}}),_=o((()=>{let o=e.shortcuts||[];return s(e.modelValue)&&(d(e.modelValue.shortcuts)?o=e.modelValue.shortcuts:Reflect.has(e.modelValue,"shortcuts")&&(o=[])),o.map((e=>i(e)?{label:e,value:e}:e))})),j=l(),M=l(!1);let C,U;async function z(){var e,o;await v(50),null==(o=null==(e=j.value)?void 0:e.syncPosition)||o.call(e)}function L(e){e.stopPropagation(),clearTimeout(C),R.value&&M.value?R.value=!1:u(T)||(C=setTimeout((()=>(M.value=R.value=!0,z())),200))}function S(e){if(e.stopPropagation(),clearTimeout(C),u(T))return M.value=R.value=!0,z()}function W(e){e.stopPropagation(),clearTimeout(U),u(T)&&(R.value=!0)}function A(e){e.stopPropagation(),clearTimeout(U),u(T)&&!M.value&&(U=setTimeout((()=>{R.value=!1}),300))}return t((()=>{R.value=!1})),function(){return a("section",{class:["annotation-edit",{"is-active":!!u(T)}],style:{"--icon-right":"-5",...k.value},"annotation-hover-show":!u(T)&&!M.value},[a(f,{ref:j,to:"body",flip:!0,"keep-alive-on-hover":!0,style:{maxWidth:"360px",wordBreak:"break-all"},show:R.value,"onUpdate:show":e=>R.value=e,trigger:"manual",duration:100,onClickoutside:L},{default:function(){return a("section",{onMouseleave:A,onMouseenter:W},[a("div",null,[M.value?[_.value.length?a(y,{options:_.value,"onUpdate:value":e=>T.value+=e,scrollable:!0},{default:()=>a(b,{style:"margin-bottom: 8px;"},{default:()=>"短语"})}):null,a(w,{resizable:!1,autosize:{minRows:3,maxRows:5},"show-count":!0,class:"annotation-edit__textarea",type:"textarea",value:T.value,"onUpdate:value":e=>T.value=e},null)]:a("span",null,[u(T)])]),s(e.modelValue)&&(m(e.modelValue.footerRender)||e.modelValue.author||e.modelValue.date)?[a(h,{style:{margin:"4px 0",minWidth:"360px"}},null),a("section",{class:"annotation-edit__footer"},[m(e.modelValue.footerRender)?e.modelValue.footerRender(e.modelValue):[a(V,null,{default:()=>{var o;return[null!=(o=e.modelValue.authorLabel)?o:"质控人",n(": "),e.modelValue.author]}}),a(V,null,{default:()=>{var o;return[null!=(o=e.modelValue.dateLabel)?o:"质控时间",n(": "),e.modelValue.date]}})]])]:null])},trigger:function(){return a("div",{class:"annotation-edit__icon",onMouseleave:A,onMouseenter:W,onDblclick:S,onClick:L},[a(g,{component:u(T)?c:p},null)])}})])}}});export{x as default};
@@ -3,7 +3,7 @@ export declare const CallbackMaps: Map<string, {
3
3
  formRenderRef: import("vue").Ref<import("../../../../../components/form-render").FormRenderExpose | undefined>;
4
4
  key: import("vue").Ref<number>;
5
5
  reload: () => Promise<void>;
6
- formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting"];
6
+ formRenderExposeKeyList: readonly ["validate", "getFormValues", "setFormValues", "setFieldState", "resetFields", "queryWidget", "getFieldList", "applySelectedSetting", "getTextFormValues"];
7
7
  exposed: Partial<import("../../../../../components/form-render").FormRenderExpose>;
8
8
  FormRender: import("vue").DefineComponent<{
9
9
  fieldList: {
@@ -391,8 +391,9 @@ export declare const CallbackMaps: Map<string, {
391
391
  onScroll?: ((...args: any[]) => any) | undefined;
392
392
  onAnnotationChange?: ((...args: any[]) => any) | undefined;
393
393
  "onUpdate:selectedFields"?: ((...args: any[]) => any) | undefined;
394
+ onLinebarChange?: ((...args: any[]) => any) | undefined;
394
395
  }>>;
395
- emit: (event: "scroll" | "formChange" | "annotationChange" | "update:selectedFields", ...args: any[]) => void;
396
+ emit: (event: "scroll" | "formChange" | "annotationChange" | "update:selectedFields" | "linebarChange", ...args: any[]) => void;
396
397
  cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
397
398
  nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
398
399
  formRenderRef: import("vue").Ref<HTMLElement | undefined>;
@@ -738,7 +739,7 @@ export declare const CallbackMaps: Map<string, {
738
739
  readonly displayDirective: "if" | "show" | "show:lazy";
739
740
  }>;
740
741
  NTabs: any;
741
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "formChange" | "annotationChange" | "update:selectedFields")[], "scroll" | "formChange" | "annotationChange" | "update:selectedFields", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
742
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "formChange" | "annotationChange" | "update:selectedFields" | "linebarChange")[], "scroll" | "formChange" | "annotationChange" | "update:selectedFields" | "linebarChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
742
743
  fieldList: {
743
744
  type: import("vue").PropType<import("../../../../../components/form-render").FieldItem[]>;
744
745
  };
@@ -933,6 +934,7 @@ export declare const CallbackMaps: Map<string, {
933
934
  onScroll?: ((...args: any[]) => any) | undefined;
934
935
  onAnnotationChange?: ((...args: any[]) => any) | undefined;
935
936
  "onUpdate:selectedFields"?: ((...args: any[]) => any) | undefined;
937
+ onLinebarChange?: ((...args: any[]) => any) | undefined;
936
938
  }, {
937
939
  anchor: boolean;
938
940
  maxHeight: string | number;
@@ -23,6 +23,10 @@ declare const FieldSet: SFCWithInstall<import("vue").DefineComponent<{
23
23
  value: string;
24
24
  }[]>>;
25
25
  };
26
+ fieldFilterList: {
27
+ type: import("vue").PropType<import("./src/types").FilterSetItem[]>;
28
+ default: () => never[];
29
+ };
26
30
  }, {
27
31
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
28
32
  showTabNames: {
@@ -47,6 +51,10 @@ declare const FieldSet: SFCWithInstall<import("vue").DefineComponent<{
47
51
  value: string;
48
52
  }[]>>;
49
53
  };
54
+ fieldFilterList: {
55
+ type: import("vue").PropType<import("./src/types").FilterSetItem[]>;
56
+ default: () => never[];
57
+ };
50
58
  }>> & {
51
59
  onSave?: ((...args: any[]) => any) | undefined;
52
60
  }>>;
@@ -61,7 +69,7 @@ declare const FieldSet: SFCWithInstall<import("vue").DefineComponent<{
61
69
  }[]>;
62
70
  onSave: () => void;
63
71
  setRef: (e: any, id: string) => void;
64
- getTableFields: (type?: "field" | "fieldColor" | "highlightRow" | "tableStyle" | undefined) => any;
72
+ getTableFields: (type?: "field" | "fieldColor" | "highlightRow" | "tableStyle" | "fieldFilter" | undefined) => any;
65
73
  NTabs: any;
66
74
  NTabPane: import("vue").DefineComponent<{
67
75
  readonly tab: import("vue").PropType<string | number | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -137,11 +145,16 @@ declare const FieldSet: SFCWithInstall<import("vue").DefineComponent<{
137
145
  value: string;
138
146
  }[]>>;
139
147
  };
148
+ fieldFilterList: {
149
+ type: import("vue").PropType<import("./src/types").FilterSetItem[]>;
150
+ default: () => never[];
151
+ };
140
152
  }>> & {
141
153
  onSave?: ((...args: any[]) => any) | undefined;
142
154
  }, {
143
155
  showTabNames: import("./src/types").FieldSetTab[];
144
156
  fieldColorList: import("./src/types").ColorSetItem[];
145
157
  highlightRowColorList: import("./src/types").ColorSetItem[];
158
+ fieldFilterList: import("./src/types").FilterSetItem[];
146
159
  }>>;
147
160
  export default FieldSet;
@@ -305,35 +305,14 @@ declare const _default: import("vue").DefineComponent<{
305
305
  emit: (event: "edit" | "updateChecked", ...args: any[]) => void;
306
306
  onRemove: () => void;
307
307
  onEdit: () => void;
308
- isCheckboxShow: (item: Partial<{
309
- [key: string]: any;
310
- id: string;
311
- name: string;
312
- show: boolean;
313
- sort: boolean;
314
- sortDirection: "NONE" | "ASC" | "DESC";
315
- title: string;
316
- alias: string;
317
- fixedShow: boolean;
318
- fixedWay: "NONE" | "LEFT" | "RIGHT";
319
- columnWidth: number | null;
320
- editable: boolean;
321
- editableDisable: boolean;
322
- required: boolean;
323
- requiredDisable: boolean;
324
- hide: boolean;
325
- }>, key: string) => any;
308
+ getTextValue: (field: string) => any;
309
+ isMultiple: (field: string) => boolean;
310
+ isShow: (field: string) => any;
326
311
  getSortPriorityOptions: () => {
327
312
  label: string;
328
313
  value: number;
329
314
  }[];
330
- getOptions: (column: AnyObject) => {
331
- label: string;
332
- value: string;
333
- }[] | {
334
- label: string;
335
- value: number;
336
- }[];
315
+ getOptions: (column: AnyObject) => any;
337
316
  setDisabled: (column: AnyObject) => any;
338
317
  getStyle: (column: AnyObject) => import("vue").CSSProperties;
339
318
  onUpdateChecked: (checked: boolean, column: AnyObject) => void;
@@ -0,0 +1,487 @@
1
+ import { PropType } from 'vue';
2
+ import { setStyle } from './utils';
3
+ import { FilterSetItem, FieldSetColumnItem } from '../../../components/field-set/src/types';
4
+ import { AnyObject } from '../../../shared/types';
5
+ import { COLUMNLIST_MAP } from './constants/filter';
6
+ declare const _default: import("vue").DefineComponent<{
7
+ rowHeight: {
8
+ type: NumberConstructor;
9
+ default: number;
10
+ };
11
+ footerFlag: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
15
+ defaultList: {
16
+ type: PropType<FilterSetItem[]>;
17
+ default: () => never[];
18
+ };
19
+ }, {
20
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
21
+ rowHeight: {
22
+ type: NumberConstructor;
23
+ default: number;
24
+ };
25
+ footerFlag: {
26
+ type: BooleanConstructor;
27
+ default: boolean;
28
+ };
29
+ defaultList: {
30
+ type: PropType<FilterSetItem[]>;
31
+ default: () => never[];
32
+ };
33
+ }>> & {
34
+ onReset?: ((...args: any[]) => any) | undefined;
35
+ onSave?: ((...args: any[]) => any) | undefined;
36
+ onClose?: ((...args: any[]) => any) | undefined;
37
+ }>>;
38
+ emit: (event: "close" | "save" | "reset", ...args: any[]) => void;
39
+ columns: import("vue").Ref<{
40
+ [x: string]: any;
41
+ title: string;
42
+ type: "color" | "checkbox" | "text" | "input" | "select" | "custom" | "inputNumber";
43
+ field: string;
44
+ checkedAll?: boolean | undefined;
45
+ disabledAll?: boolean | undefined;
46
+ isHeadCheckHide?: boolean | undefined;
47
+ isShow?: boolean | undefined;
48
+ contentRender?: ((column: AnyObject, row: AnyObject) => String | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
49
+ [key: string]: any;
50
+ }>) | undefined;
51
+ }[]>;
52
+ data: import("vue").Ref<{
53
+ [x: string]: any;
54
+ name: string;
55
+ title: string;
56
+ type: string;
57
+ optionType?: string | undefined;
58
+ isShowSearch?: boolean | undefined;
59
+ filterExplicit?: boolean | undefined;
60
+ explicitRequired?: boolean | undefined;
61
+ defaultValue?: string | string[] | undefined;
62
+ customTitle?: string | undefined;
63
+ width?: number | undefined;
64
+ }[]>;
65
+ rowProps: {
66
+ columns: {
67
+ [x: string]: any;
68
+ title: string;
69
+ type: "color" | "checkbox" | "text" | "input" | "select" | "custom" | "inputNumber";
70
+ field: string;
71
+ checkedAll?: boolean | undefined;
72
+ disabledAll?: boolean | undefined;
73
+ isHeadCheckHide?: boolean | undefined;
74
+ isShow?: boolean | undefined;
75
+ contentRender?: ((column: AnyObject, row: AnyObject) => String | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
76
+ [key: string]: any;
77
+ }>) | undefined;
78
+ }[];
79
+ data: {
80
+ [x: string]: any;
81
+ name: string;
82
+ title: string;
83
+ type: string;
84
+ optionType?: string | undefined;
85
+ isShowSearch?: boolean | undefined;
86
+ filterExplicit?: boolean | undefined;
87
+ explicitRequired?: boolean | undefined;
88
+ defaultValue?: string | string[] | undefined;
89
+ customTitle?: string | undefined;
90
+ width?: number | undefined;
91
+ }[];
92
+ onUpdateChecked: ({ checked, column }: {
93
+ checked: boolean;
94
+ column: AnyObject;
95
+ }) => void;
96
+ };
97
+ handleFieldSave: () => void;
98
+ onCancle: () => void;
99
+ reset: () => void;
100
+ handleAllCheck: (checked: boolean, field: string) => void;
101
+ handleCheck: ({ checked, column }: {
102
+ checked: boolean;
103
+ column: AnyObject;
104
+ }) => void;
105
+ getType: (field: keyof typeof COLUMNLIST_MAP) => "checkbox" | "text" | "input" | "select" | "inputNumber";
106
+ initColumns: () => void;
107
+ isNoAllCheck: (field: string) => boolean;
108
+ NButton: any;
109
+ NCheckbox: any;
110
+ NPopconfirm: any;
111
+ Draggable: import("vue").DefineComponent<{
112
+ list: {
113
+ type: ArrayConstructor;
114
+ required: boolean;
115
+ default: any;
116
+ };
117
+ modelValue: {
118
+ type: ArrayConstructor;
119
+ required: boolean;
120
+ default: any;
121
+ };
122
+ itemKey: {
123
+ type: (StringConstructor | FunctionConstructor)[];
124
+ required: boolean;
125
+ };
126
+ clone: {
127
+ type: FunctionConstructor;
128
+ default: (original: any) => any;
129
+ };
130
+ tag: {
131
+ type: StringConstructor;
132
+ default: string;
133
+ };
134
+ move: {
135
+ type: FunctionConstructor;
136
+ default: any;
137
+ };
138
+ componentData: {
139
+ type: ObjectConstructor;
140
+ required: boolean;
141
+ default: any;
142
+ };
143
+ }, unknown, {
144
+ error: boolean;
145
+ }, {
146
+ realList(): any;
147
+ getKey(): any;
148
+ }, {
149
+ getUnderlyingVm(domElement: any): any;
150
+ getUnderlyingPotencialDraggableComponent(htmElement: any): any;
151
+ emitChanges(evt: any): void;
152
+ alterList(onList: any): void;
153
+ spliceList(): void;
154
+ updatePosition(oldIndex: any, newIndex: any): void;
155
+ getRelatedContextFromMoveEvent({ to, related }: {
156
+ to: any;
157
+ related: any;
158
+ }): any;
159
+ getVmIndexFromDomIndex(domIndex: any): any;
160
+ onDragStart(evt: any): void;
161
+ onDragAdd(evt: any): void;
162
+ onDragRemove(evt: any): void;
163
+ onDragUpdate(evt: any): void;
164
+ computeFutureIndex(relatedContext: any, evt: any): any;
165
+ onDragMove(evt: any, originalEvent: any): any;
166
+ onDragEnd(): void;
167
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any[], any, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
168
+ move: Function;
169
+ tag: string;
170
+ clone: Function;
171
+ list: unknown[];
172
+ modelValue: unknown[];
173
+ componentData: Record<string, any>;
174
+ } & {
175
+ itemKey?: string | Function | undefined;
176
+ }>, {
177
+ move: Function;
178
+ tag: string;
179
+ clone: Function;
180
+ list: unknown[];
181
+ modelValue: unknown[];
182
+ componentData: Record<string, any>;
183
+ }>;
184
+ Row: import("vue").DefineComponent<{
185
+ element: {
186
+ type: PropType<Partial<{
187
+ [key: string]: any;
188
+ id: string;
189
+ name: string;
190
+ show: boolean;
191
+ sort: boolean;
192
+ sortDirection: "NONE" | "ASC" | "DESC";
193
+ title: string;
194
+ alias: string;
195
+ fixedShow: boolean;
196
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
197
+ columnWidth: number | null;
198
+ editable: boolean;
199
+ editableDisable: boolean;
200
+ required: boolean;
201
+ requiredDisable: boolean;
202
+ hide: boolean;
203
+ }>>;
204
+ default: () => {};
205
+ };
206
+ columns: {
207
+ type: PropType<FieldSetColumnItem[]>;
208
+ default: () => never[];
209
+ };
210
+ idx: {
211
+ type: NumberConstructor;
212
+ default: number;
213
+ };
214
+ data: {
215
+ type: PropType<Partial<{
216
+ [key: string]: any;
217
+ id: string;
218
+ name: string;
219
+ show: boolean;
220
+ sort: boolean;
221
+ sortDirection: "NONE" | "ASC" | "DESC";
222
+ title: string;
223
+ alias: string;
224
+ fixedShow: boolean;
225
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
226
+ columnWidth: number | null;
227
+ editable: boolean;
228
+ editableDisable: boolean;
229
+ required: boolean;
230
+ requiredDisable: boolean;
231
+ hide: boolean;
232
+ }>[]>;
233
+ default: () => never[];
234
+ };
235
+ isHighlight: {
236
+ type: BooleanConstructor;
237
+ };
238
+ index: {
239
+ type: NumberConstructor;
240
+ default: number;
241
+ };
242
+ isHighlightRow: {
243
+ type: BooleanConstructor;
244
+ default: boolean;
245
+ };
246
+ }, {
247
+ fixedWayOptions: {
248
+ label: string;
249
+ value: string;
250
+ }[];
251
+ sortOptions: {
252
+ label: string;
253
+ value: string;
254
+ }[];
255
+ colorScopeOptions: {
256
+ label: string;
257
+ value: string;
258
+ }[];
259
+ swatches: string[];
260
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
261
+ element: {
262
+ type: PropType<Partial<{
263
+ [key: string]: any;
264
+ id: string;
265
+ name: string;
266
+ show: boolean;
267
+ sort: boolean;
268
+ sortDirection: "NONE" | "ASC" | "DESC";
269
+ title: string;
270
+ alias: string;
271
+ fixedShow: boolean;
272
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
273
+ columnWidth: number | null;
274
+ editable: boolean;
275
+ editableDisable: boolean;
276
+ required: boolean;
277
+ requiredDisable: boolean;
278
+ hide: boolean;
279
+ }>>;
280
+ default: () => {};
281
+ };
282
+ columns: {
283
+ type: PropType<FieldSetColumnItem[]>;
284
+ default: () => never[];
285
+ };
286
+ idx: {
287
+ type: NumberConstructor;
288
+ default: number;
289
+ };
290
+ data: {
291
+ type: PropType<Partial<{
292
+ [key: string]: any;
293
+ id: string;
294
+ name: string;
295
+ show: boolean;
296
+ sort: boolean;
297
+ sortDirection: "NONE" | "ASC" | "DESC";
298
+ title: string;
299
+ alias: string;
300
+ fixedShow: boolean;
301
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
302
+ columnWidth: number | null;
303
+ editable: boolean;
304
+ editableDisable: boolean;
305
+ required: boolean;
306
+ requiredDisable: boolean;
307
+ hide: boolean;
308
+ }>[]>;
309
+ default: () => never[];
310
+ };
311
+ isHighlight: {
312
+ type: BooleanConstructor;
313
+ };
314
+ index: {
315
+ type: NumberConstructor;
316
+ default: number;
317
+ };
318
+ isHighlightRow: {
319
+ type: BooleanConstructor;
320
+ default: boolean;
321
+ };
322
+ }>> & {
323
+ onUpdateChecked?: ((...args: any[]) => any) | undefined;
324
+ onEdit?: ((...args: any[]) => any) | undefined;
325
+ }>>;
326
+ emit: (event: "edit" | "updateChecked", ...args: any[]) => void;
327
+ onRemove: () => void;
328
+ onEdit: () => void;
329
+ getTextValue: (field: string) => any;
330
+ isMultiple: (field: string) => boolean;
331
+ isShow: (field: string) => any;
332
+ getSortPriorityOptions: () => {
333
+ label: string;
334
+ value: number;
335
+ }[];
336
+ getOptions: (column: AnyObject) => any;
337
+ setDisabled: (column: AnyObject) => any;
338
+ getStyle: (column: AnyObject) => import("vue").CSSProperties;
339
+ onUpdateChecked: (checked: boolean, column: AnyObject) => void;
340
+ handleUpdateSelect: (value: string, column: AnyObject) => void;
341
+ NCheckbox: any;
342
+ NSelect: any;
343
+ NInput: any;
344
+ NInputNumber: any;
345
+ NTooltip: any;
346
+ NIcon: any;
347
+ NColorPicker: any;
348
+ NPopconfirm: any;
349
+ setStyle: typeof setStyle;
350
+ setColorInfo: typeof import("./utils").setColorInfo;
351
+ ReorderTwoOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
352
+ TrashOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
353
+ CreateOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
354
+ HelpCircleOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
355
+ isFunction: (value: any) => value is (...args: any[]) => any;
356
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("edit" | "updateChecked")[], "edit" | "updateChecked", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
357
+ element: {
358
+ type: PropType<Partial<{
359
+ [key: string]: any;
360
+ id: string;
361
+ name: string;
362
+ show: boolean;
363
+ sort: boolean;
364
+ sortDirection: "NONE" | "ASC" | "DESC";
365
+ title: string;
366
+ alias: string;
367
+ fixedShow: boolean;
368
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
369
+ columnWidth: number | null;
370
+ editable: boolean;
371
+ editableDisable: boolean;
372
+ required: boolean;
373
+ requiredDisable: boolean;
374
+ hide: boolean;
375
+ }>>;
376
+ default: () => {};
377
+ };
378
+ columns: {
379
+ type: PropType<FieldSetColumnItem[]>;
380
+ default: () => never[];
381
+ };
382
+ idx: {
383
+ type: NumberConstructor;
384
+ default: number;
385
+ };
386
+ data: {
387
+ type: PropType<Partial<{
388
+ [key: string]: any;
389
+ id: string;
390
+ name: string;
391
+ show: boolean;
392
+ sort: boolean;
393
+ sortDirection: "NONE" | "ASC" | "DESC";
394
+ title: string;
395
+ alias: string;
396
+ fixedShow: boolean;
397
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
398
+ columnWidth: number | null;
399
+ editable: boolean;
400
+ editableDisable: boolean;
401
+ required: boolean;
402
+ requiredDisable: boolean;
403
+ hide: boolean;
404
+ }>[]>;
405
+ default: () => never[];
406
+ };
407
+ isHighlight: {
408
+ type: BooleanConstructor;
409
+ };
410
+ index: {
411
+ type: NumberConstructor;
412
+ default: number;
413
+ };
414
+ isHighlightRow: {
415
+ type: BooleanConstructor;
416
+ default: boolean;
417
+ };
418
+ }>> & {
419
+ onUpdateChecked?: ((...args: any[]) => any) | undefined;
420
+ onEdit?: ((...args: any[]) => any) | undefined;
421
+ }, {
422
+ data: Partial<{
423
+ [key: string]: any;
424
+ id: string;
425
+ name: string;
426
+ show: boolean;
427
+ sort: boolean;
428
+ sortDirection: "NONE" | "ASC" | "DESC";
429
+ title: string;
430
+ alias: string;
431
+ fixedShow: boolean;
432
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
433
+ columnWidth: number | null;
434
+ editable: boolean;
435
+ editableDisable: boolean;
436
+ required: boolean;
437
+ requiredDisable: boolean;
438
+ hide: boolean;
439
+ }>[];
440
+ columns: FieldSetColumnItem[];
441
+ index: number;
442
+ element: Partial<{
443
+ [key: string]: any;
444
+ id: string;
445
+ name: string;
446
+ show: boolean;
447
+ sort: boolean;
448
+ sortDirection: "NONE" | "ASC" | "DESC";
449
+ title: string;
450
+ alias: string;
451
+ fixedShow: boolean;
452
+ fixedWay: "NONE" | "LEFT" | "RIGHT";
453
+ columnWidth: number | null;
454
+ editable: boolean;
455
+ editableDisable: boolean;
456
+ required: boolean;
457
+ requiredDisable: boolean;
458
+ hide: boolean;
459
+ }>;
460
+ isHighlightRow: boolean;
461
+ idx: number;
462
+ isHighlight: boolean;
463
+ }>;
464
+ setStyle: typeof setStyle;
465
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "save" | "reset")[], "close" | "save" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
466
+ rowHeight: {
467
+ type: NumberConstructor;
468
+ default: number;
469
+ };
470
+ footerFlag: {
471
+ type: BooleanConstructor;
472
+ default: boolean;
473
+ };
474
+ defaultList: {
475
+ type: PropType<FilterSetItem[]>;
476
+ default: () => never[];
477
+ };
478
+ }>> & {
479
+ onReset?: ((...args: any[]) => any) | undefined;
480
+ onSave?: ((...args: any[]) => any) | undefined;
481
+ onClose?: ((...args: any[]) => any) | undefined;
482
+ }, {
483
+ defaultList: FilterSetItem[];
484
+ rowHeight: number;
485
+ footerFlag: boolean;
486
+ }>;
487
+ export default _default;
@@ -0,0 +1 @@
1
+ import e from"./FieldFilter.vue2.js";import r from"../../../_virtual/_plugin-vue_export-helper.js";var i=r(e,[["__file","FieldFilter.vue"]]);export{i as default};
@@ -0,0 +1 @@
1
+ import{defineComponent as e,ref as t,reactive as l,watch as i,openBlock as a,createElementBlock as d,createElementVNode as o,Fragment as r,renderList as s,normalizeStyle as c,unref as n,createBlock as u,withCtx as m,createTextVNode as p,toDisplayString as f,createCommentVNode as h,createVNode as v,mergeProps as k,renderSlot as b}from"vue";import{NCheckbox as x,NPopconfirm as y,NButton as g}from"naive-ui";import _ from"../../../shared/components/VueDraggable/src/vuedraggable.js";import w from"./components/Row.vue.js";import{cloneDeep as A}from"lodash-es";import{isShowExplicitRequired as F,setStyle as j}from"./utils/index.js";import{COLUMNLIST_MAP as R}from"./constants/filter.js";const C={class:"main-wrapper"},V={class:"main-wrapper__table-header"},q={class:"main-wrapper__table-body",ref:"tableBodyRef"},S=["tabindex"],U={key:0,class:"main-wrapper__table-footer"};var H=e({__name:"FieldFilter",props:{rowHeight:{type:Number,default:52},footerFlag:{type:Boolean,default:!0},defaultList:{type:Array,default:()=>[]}},emits:["save","close","reset"],setup(e,{expose:H,emit:L}){const B=e,E=t([]),N=t([]),O=l({columns:E,data:N,onUpdateChecked:function({checked:e,column:t}){const l=!e||z(t.field);t.checkedAll=!l}}),T=()=>{L("save")},D=()=>{L("close")};function P(){N.value=A(B.defaultList),$(),L("reset")}function $(){E.value=Object.entries(R).map((([e,t])=>{const l=function(e){return e?["isShowSearch","filterExplicit","explicitRequired"].includes(e)?"checkbox":["defaultValue"].includes(e)?"select":["customTitle"].includes(e)?"input":["width"].includes(e)?"inputNumber":"text":"text"}(e),i={isShow:!0,title:t,type:l,field:e};return"checkbox"===l&&Object.assign(i,{checkedAll:!z(e),disabledAll:!1}),i}))}function z(e){return N.value.some((t=>("explicitRequired"!==e||F(t))&&!t[e]))}return i((()=>B.defaultList),(e=>{e.length>0&&(N.value=A(e),$())}),{immediate:!0,deep:!0}),H({getTableFields:()=>N.value}),(t,l)=>(a(),d("div",C,[o("div",V,[(a(!0),d(r,null,s(E.value,((e,t)=>(a(),d(r,{key:t},[e.isShow?(a(),d("span",{key:0,class:"table-cell",style:c(n(j)(e,t))},["checkbox"!==e.type||e.isHeadCheckHide?(a(),d(r,{key:1},[p(f(e.title),1)],64)):(a(),u(n(x),{key:0,checked:e.checkedAll,"onUpdate:checked":[t=>e.checkedAll=t,t=>{return l=t,i=e.field,void N.value.forEach((e=>{("explicitRequired"!==i||"explicitRequired"===i&&F(e))&&(e[i]=l)}));var l,i}],disabled:e.disabledAll},{default:m((()=>[p(f(e.title),1)])),_:2},1032,["checked","onUpdate:checked","disabled"]))],4)):h("v-if",!0)],64)))),128))]),o("div",q,[v(n(_),{modelValue:N.value,"onUpdate:modelValue":l[0]||(l[0]=e=>N.value=e),animation:"150","item-key":"id",draggable:".item"},{item:m((({element:e,index:t})=>[e.hide?h("v-if",!0):(a(),d("div",{key:0,class:"item",tabindex:t},[v(w,k(O,{element:e,idx:t+1}),null,16,["element","idx"])],8,S))])),_:1},8,["modelValue"])],512),e.footerFlag?(a(),d("div",U,[h(" 底部按钮插槽 "),b(t.$slots,"fieldFilterFooter",{},(()=>[v(n(y),{onPositiveClick:P},{trigger:m((()=>[v(n(g),{style:{"margin-right":"8px"}},{default:m((()=>[p("恢复默认设置")])),_:1})])),default:m((()=>[p(" 确认要恢复系统默认设置吗? ")])),_:1}),v(n(g),{style:{"margin-right":"8px"},onClick:D},{default:m((()=>[p("取消")])),_:1}),v(n(g),{type:"primary",onClick:T},{default:m((()=>[p("保存")])),_:1})]))])):h("v-if",!0)]))}});export{H as default};