jgy-public-component 0.0.32 → 0.0.34

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.
@@ -1,6 +1,5 @@
1
- import { BtnPermissionChecker, BtnPermissionInput } from '../../utils/btnPermission';
2
1
  import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
-
2
+ import { BtnPermissionInput, BtnPermissionChecker } from '../..';
4
3
  declare function __VLS_template(): {
5
4
  tabs?(_: {}): any;
6
5
  filter?(_: {}): any;
@@ -34,6 +33,14 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
34
33
  type: PropType<boolean>;
35
34
  default: boolean;
36
35
  };
36
+ collapsible: {
37
+ type: PropType<boolean>;
38
+ default: boolean;
39
+ };
40
+ moreFilterActiveCount: {
41
+ type: PropType<number>;
42
+ default: number;
43
+ };
37
44
  moreFilterPermission: {
38
45
  type: PropType<BtnPermissionInput>;
39
46
  };
@@ -52,6 +59,10 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
52
59
  permissionChecker: {
53
60
  type: PropType<BtnPermissionChecker>;
54
61
  };
62
+ defaultVisibleRows: {
63
+ type: PropType<number>;
64
+ default: number;
65
+ };
55
66
  }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
56
67
  search: () => void;
57
68
  reset: () => void;
@@ -86,6 +97,14 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
86
97
  type: PropType<boolean>;
87
98
  default: boolean;
88
99
  };
100
+ collapsible: {
101
+ type: PropType<boolean>;
102
+ default: boolean;
103
+ };
104
+ moreFilterActiveCount: {
105
+ type: PropType<number>;
106
+ default: number;
107
+ };
89
108
  moreFilterPermission: {
90
109
  type: PropType<BtnPermissionInput>;
91
110
  };
@@ -104,6 +123,10 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
104
123
  permissionChecker: {
105
124
  type: PropType<BtnPermissionChecker>;
106
125
  };
126
+ defaultVisibleRows: {
127
+ type: PropType<number>;
128
+ default: number;
129
+ };
107
130
  }>> & Readonly<{
108
131
  onSearch?: (() => any) | undefined;
109
132
  onReset?: (() => any) | undefined;
@@ -119,6 +142,9 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
119
142
  showTabs: boolean;
120
143
  showSearch: boolean;
121
144
  showReset: boolean;
145
+ collapsible: boolean;
146
+ moreFilterActiveCount: number;
147
+ defaultVisibleRows: number;
122
148
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
123
149
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
124
150
  export default _default;
@@ -0,0 +1,34 @@
1
+ import { BtnPermissionChecker, BtnPermissionInput } from '../../utils/btnPermission';
2
+
3
+ export interface JListSearchHeaderProps {
4
+ /** 是否展示「更多筛选」 */
5
+ showMoreFilter?: boolean;
6
+ /** 是否展示导出图标 */
7
+ showDownload?: boolean;
8
+ /** 是否展示列设置图标 */
9
+ showSettings?: boolean;
10
+ /** 是否展示顶部状态 Tabs(无 #tabs 插槽时自动隐藏) */
11
+ showTabs?: boolean;
12
+ /** 是否展示查询按钮 */
13
+ showSearch?: boolean;
14
+ /** 是否展示重置按钮 */
15
+ showReset?: boolean;
16
+ /** 默认可见筛选项个数(按 #filter 内 el-form-item 计),超出显示展开/收起 */
17
+ defaultVisible?: number;
18
+ /** 是否启用 #filter 折叠 */
19
+ collapsible?: boolean;
20
+ /** 更多筛选已生效条件数量,>0 时按钮显示「更多筛选 (N)」 */
21
+ moreFilterActiveCount?: number;
22
+ /** 更多筛选按钮权限码 */
23
+ moreFilterPermission?: BtnPermissionInput;
24
+ /** 查询按钮权限码(含更多筛选弹层内查询) */
25
+ searchPermission?: BtnPermissionInput;
26
+ /** 重置按钮权限码 */
27
+ resetPermission?: BtnPermissionInput;
28
+ /** 导出图标权限码 */
29
+ downloadPermission?: BtnPermissionInput;
30
+ /** 列设置权限码(含列设置抽屉内恢复默认/保存) */
31
+ settingsPermission?: BtnPermissionInput;
32
+ /** 单页覆盖全局按钮权限检查函数 */
33
+ permissionChecker?: BtnPermissionChecker;
34
+ }
@@ -13,6 +13,12 @@ export interface JListSearchHeaderProps {
13
13
  showSearch?: boolean;
14
14
  /** 是否展示重置按钮 */
15
15
  showReset?: boolean;
16
+ /** 默认可见筛选项行数(按 #filter 内 el-form-item 布局换行计),超出显示展开/收起 */
17
+ defaultVisibleRows?: number;
18
+ /** 是否启用 #filter 折叠 */
19
+ collapsible?: boolean;
20
+ /** 更多筛选已生效条件数量,>0 时按钮显示「更多筛选 (N)」 */
21
+ moreFilterActiveCount?: number;
16
22
  /** 更多筛选按钮权限码 */
17
23
  moreFilterPermission?: BtnPermissionInput;
18
24
  /** 查询按钮权限码(含更多筛选弹层内查询) */
@@ -0,0 +1,146 @@
1
+ import { JProductSelectFetchApi, JProductSelectListResult } from './types';
2
+ import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+
4
+ type Row = Record<string, any>;
5
+ declare function __VLS_template(): {
6
+ filters?(_: {
7
+ search: () => void;
8
+ reset: () => Promise<void>;
9
+ loading: boolean;
10
+ }): any;
11
+ columns?(_: {}): any;
12
+ "selected-columns"?(_: {
13
+ remove: (row: Row) => void;
14
+ }): any;
15
+ };
16
+ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
17
+ modelValue: PropType<boolean>;
18
+ title: {
19
+ type: PropType<string>;
20
+ default: string;
21
+ };
22
+ width: {
23
+ type: PropType<string>;
24
+ default: string;
25
+ };
26
+ teleported: {
27
+ type: PropType<boolean>;
28
+ default: boolean;
29
+ };
30
+ zIndex: {
31
+ type: PropType<number>;
32
+ };
33
+ rowKey: {
34
+ type: PropType<string>;
35
+ default: string;
36
+ };
37
+ pageSizes: {
38
+ type: PropType<number[]>;
39
+ default: () => number[];
40
+ };
41
+ fetchApi: {
42
+ type: PropType<JProductSelectFetchApi>;
43
+ required: true;
44
+ };
45
+ extraParams: {
46
+ type: PropType<Record<string, any>>;
47
+ };
48
+ tableHeight: {
49
+ type: PropType<string | number>;
50
+ default: number;
51
+ };
52
+ popoverWidth: {
53
+ type: PropType<number>;
54
+ default: number;
55
+ };
56
+ responseAdapter: {
57
+ type: PropType<(res: any) => JProductSelectListResult>;
58
+ };
59
+ loadErrorMessage: {
60
+ type: PropType<string>;
61
+ default: string;
62
+ };
63
+ fetchOnOpen: {
64
+ type: PropType<boolean>;
65
+ default: boolean;
66
+ };
67
+ }>, {
68
+ reload: () => Promise<void>;
69
+ clearSelected: () => void;
70
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
71
+ open: () => void;
72
+ closed: () => void;
73
+ confirm: (rows: Row[]) => void;
74
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
75
+ modelValue: PropType<boolean>;
76
+ title: {
77
+ type: PropType<string>;
78
+ default: string;
79
+ };
80
+ width: {
81
+ type: PropType<string>;
82
+ default: string;
83
+ };
84
+ teleported: {
85
+ type: PropType<boolean>;
86
+ default: boolean;
87
+ };
88
+ zIndex: {
89
+ type: PropType<number>;
90
+ };
91
+ rowKey: {
92
+ type: PropType<string>;
93
+ default: string;
94
+ };
95
+ pageSizes: {
96
+ type: PropType<number[]>;
97
+ default: () => number[];
98
+ };
99
+ fetchApi: {
100
+ type: PropType<JProductSelectFetchApi>;
101
+ required: true;
102
+ };
103
+ extraParams: {
104
+ type: PropType<Record<string, any>>;
105
+ };
106
+ tableHeight: {
107
+ type: PropType<string | number>;
108
+ default: number;
109
+ };
110
+ popoverWidth: {
111
+ type: PropType<number>;
112
+ default: number;
113
+ };
114
+ responseAdapter: {
115
+ type: PropType<(res: any) => JProductSelectListResult>;
116
+ };
117
+ loadErrorMessage: {
118
+ type: PropType<string>;
119
+ default: string;
120
+ };
121
+ fetchOnOpen: {
122
+ type: PropType<boolean>;
123
+ default: boolean;
124
+ };
125
+ }>> & Readonly<{
126
+ onOpen?: (() => any) | undefined;
127
+ onClosed?: (() => any) | undefined;
128
+ onConfirm?: ((rows: Row[]) => any) | undefined;
129
+ }>, {
130
+ title: string;
131
+ width: string;
132
+ teleported: boolean;
133
+ rowKey: string;
134
+ pageSizes: number[];
135
+ tableHeight: string | number;
136
+ popoverWidth: number;
137
+ loadErrorMessage: string;
138
+ fetchOnOpen: boolean;
139
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
140
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
141
+ export default _default;
142
+ type __VLS_WithTemplateSlots<T, S> = T & {
143
+ new (): {
144
+ $slots: S;
145
+ };
146
+ };
@@ -0,0 +1,2 @@
1
+ export { default as JProductSelectDialog } from './JProductSelectDialog';
2
+ export type { JProductSelectDialogProps, JProductSelectFetchApi, JProductSelectListResult, } from './types';
@@ -0,0 +1,20 @@
1
+ export type JProductSelectFetchApi = (params: Record<string, any>) => Promise<any>;
2
+ export type JProductSelectListResult = {
3
+ list: Array<Record<string, any>>;
4
+ total: number;
5
+ };
6
+ export interface JProductSelectDialogProps {
7
+ fetchApi: JProductSelectFetchApi;
8
+ extraParams?: Record<string, any>;
9
+ title?: string;
10
+ width?: string;
11
+ rowKey?: string;
12
+ tableHeight?: string | number;
13
+ pageSizes?: number[];
14
+ popoverWidth?: number;
15
+ zIndex?: number;
16
+ responseAdapter?: (res: any) => JProductSelectListResult;
17
+ loadErrorMessage?: string;
18
+ fetchOnOpen?: boolean;
19
+ teleported?: boolean;
20
+ }
@@ -0,0 +1,138 @@
1
+ import { RemoteSelectFetchApi, RemoteSelectModelValue } from './types';
2
+ import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, PropType } from 'vue';
3
+
4
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
5
+ modelValue?: RemoteSelectModelValue;
6
+ fetchApi: RemoteSelectFetchApi;
7
+ labelField?: string;
8
+ valueField?: string;
9
+ searchField?: string;
10
+ params?: Record<string, unknown>;
11
+ searchable?: boolean;
12
+ localFilter?: boolean;
13
+ paginated?: boolean;
14
+ pageSize?: number;
15
+ multiple?: boolean;
16
+ clearable?: boolean;
17
+ disabled?: boolean;
18
+ placeholder?: string;
19
+ dependsPlaceholder?: string;
20
+ immediate?: boolean;
21
+ autoClearOnParamsChange?: boolean;
22
+ allowEmpty?: boolean;
23
+ requiredParams?: string[];
24
+ initialLabel?: string;
25
+ collapseTags?: boolean;
26
+ collapseTagsTooltip?: boolean;
27
+ maxCollapseTags?: number;
28
+ }>, {
29
+ labelField: string;
30
+ valueField: string;
31
+ searchField: string;
32
+ searchable: boolean;
33
+ localFilter: boolean;
34
+ paginated: boolean;
35
+ pageSize: number;
36
+ multiple: boolean;
37
+ clearable: boolean;
38
+ disabled: boolean;
39
+ placeholder: string;
40
+ dependsPlaceholder: string;
41
+ immediate: boolean;
42
+ autoClearOnParamsChange: boolean;
43
+ allowEmpty: boolean;
44
+ requiredParams: () => never[];
45
+ collapseTags: boolean;
46
+ collapseTagsTooltip: boolean;
47
+ maxCollapseTags: number;
48
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
49
+ "update:modelValue": (value: RemoteSelectModelValue) => void;
50
+ change: (value: RemoteSelectModelValue, option: Record<string, unknown> | null) => void;
51
+ paramsChange: (params: Record<string, unknown>) => void;
52
+ }, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
53
+ modelValue?: RemoteSelectModelValue;
54
+ fetchApi: RemoteSelectFetchApi;
55
+ labelField?: string;
56
+ valueField?: string;
57
+ searchField?: string;
58
+ params?: Record<string, unknown>;
59
+ searchable?: boolean;
60
+ localFilter?: boolean;
61
+ paginated?: boolean;
62
+ pageSize?: number;
63
+ multiple?: boolean;
64
+ clearable?: boolean;
65
+ disabled?: boolean;
66
+ placeholder?: string;
67
+ dependsPlaceholder?: string;
68
+ immediate?: boolean;
69
+ autoClearOnParamsChange?: boolean;
70
+ allowEmpty?: boolean;
71
+ requiredParams?: string[];
72
+ initialLabel?: string;
73
+ collapseTags?: boolean;
74
+ collapseTagsTooltip?: boolean;
75
+ maxCollapseTags?: number;
76
+ }>, {
77
+ labelField: string;
78
+ valueField: string;
79
+ searchField: string;
80
+ searchable: boolean;
81
+ localFilter: boolean;
82
+ paginated: boolean;
83
+ pageSize: number;
84
+ multiple: boolean;
85
+ clearable: boolean;
86
+ disabled: boolean;
87
+ placeholder: string;
88
+ dependsPlaceholder: string;
89
+ immediate: boolean;
90
+ autoClearOnParamsChange: boolean;
91
+ allowEmpty: boolean;
92
+ requiredParams: () => never[];
93
+ collapseTags: boolean;
94
+ collapseTagsTooltip: boolean;
95
+ maxCollapseTags: number;
96
+ }>>> & Readonly<{
97
+ "onUpdate:modelValue"?: ((value: RemoteSelectModelValue) => any) | undefined;
98
+ onChange?: ((value: RemoteSelectModelValue, option: Record<string, unknown> | null) => any) | undefined;
99
+ onParamsChange?: ((params: Record<string, unknown>) => any) | undefined;
100
+ }>, {
101
+ disabled: boolean;
102
+ placeholder: string;
103
+ immediate: boolean;
104
+ pageSize: number;
105
+ clearable: boolean;
106
+ multiple: boolean;
107
+ labelField: string;
108
+ valueField: string;
109
+ searchField: string;
110
+ searchable: boolean;
111
+ localFilter: boolean;
112
+ paginated: boolean;
113
+ dependsPlaceholder: string;
114
+ autoClearOnParamsChange: boolean;
115
+ allowEmpty: boolean;
116
+ requiredParams: string[];
117
+ collapseTags: boolean;
118
+ collapseTagsTooltip: boolean;
119
+ maxCollapseTags: number;
120
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
121
+ export default _default;
122
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
123
+ type __VLS_TypePropsToRuntimeProps<T> = {
124
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
125
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
126
+ } : {
127
+ type: PropType<T[K]>;
128
+ required: true;
129
+ };
130
+ };
131
+ type __VLS_WithDefaults<P, D> = {
132
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
133
+ default: D[K];
134
+ }> : P[K];
135
+ };
136
+ type __VLS_Prettify<T> = {
137
+ [K in keyof T]: T[K];
138
+ } & {};
@@ -0,0 +1,2 @@
1
+ /** 简单防抖,避免组件库依赖 @vueuse/core */
2
+ export declare function debounceFn<T extends (...args: never[]) => void>(fn: T, delay: number): (...args: Parameters<T>) => void;
@@ -0,0 +1,2 @@
1
+ export { default as JRemoteSelect } from './JRemoteSelect';
2
+ export type { JRemoteSelectProps, RemoteSelectFetchApi, RemoteSelectModelValue, } from './types';
@@ -0,0 +1,34 @@
1
+ /** 远程下拉 fetchApi 返回结构(组件内会自动适配多种格式) */
2
+ export type RemoteSelectFetchApi = (params: Record<string, unknown>) => Promise<unknown>;
3
+ export type RemoteSelectModelValue = string | number | null | (string | number)[];
4
+ export interface JRemoteSelectProps {
5
+ /** API 请求函数 */
6
+ fetchApi: RemoteSelectFetchApi;
7
+ /** 选项 label 字段名 */
8
+ labelField?: string;
9
+ /** 选项 value 字段名 */
10
+ valueField?: string;
11
+ /** 远程搜索时传给接口的参数名 */
12
+ searchField?: string;
13
+ /** 额外请求参数(支持联动) */
14
+ params?: Record<string, unknown>;
15
+ searchable?: boolean;
16
+ /** true=本地过滤已加载选项;false=远程搜索 */
17
+ localFilter?: boolean;
18
+ paginated?: boolean;
19
+ pageSize?: number;
20
+ multiple?: boolean;
21
+ clearable?: boolean;
22
+ disabled?: boolean;
23
+ placeholder?: string;
24
+ dependsPlaceholder?: string;
25
+ immediate?: boolean;
26
+ autoClearOnParamsChange?: boolean;
27
+ allowEmpty?: boolean;
28
+ requiredParams?: string[];
29
+ /** 选项未加载时的回显 label */
30
+ initialLabel?: string;
31
+ collapseTags?: boolean;
32
+ collapseTagsTooltip?: boolean;
33
+ maxCollapseTags?: number;
34
+ }
@@ -60,9 +60,9 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<__VLS_WithDefaul
60
60
  }>, {
61
61
  showSearch: boolean;
62
62
  showReset: boolean;
63
+ defaultVisible: number;
63
64
  selectedCount: number;
64
65
  addText: string;
65
- defaultVisible: number;
66
66
  showAdd: boolean;
67
67
  showBatchDelete: boolean;
68
68
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ import { JSidebar, JSideMenuItem } from './components/JSidebar';
9
9
  import { JAdminLayout } from './components/JAdminLayout';
10
10
  import { JProductDetailDialog, JSkuLink, ProductDetailHost } from './components/JProductDetail';
11
11
  import { JSearchInputDialog } from './components/JSearchInputDialog';
12
+ import { JRemoteSelect } from './components/JRemoteSelect';
13
+ import { JProductSelectDialog } from './components/JProductSelectDialog';
12
14
  import { DocNoLink, DocDetailHost } from './components/JDocDetail';
13
15
  import { JRelatedDocs } from './components/JRelatedDocs';
14
16
 
@@ -16,7 +18,7 @@ declare const _default: {
16
18
  install: (app: App) => void;
17
19
  };
18
20
  export default _default;
19
- export { JButton, JUploadImg, JIconRender, JSearchHeader, JListSearchHeader, JImportExcel, JSidebar, JSideMenuItem, JAdminLayout, JProductDetailDialog, JSkuLink, ProductDetailHost, JSearchInputDialog, DocNoLink, DocDetailHost, JRelatedDocs, };
21
+ export { JButton, JUploadImg, JIconRender, JSearchHeader, JListSearchHeader, JImportExcel, JSidebar, JSideMenuItem, JAdminLayout, JProductDetailDialog, JSkuLink, ProductDetailHost, JSearchInputDialog, JRemoteSelect, JProductSelectDialog, DocNoLink, DocDetailHost, JRelatedDocs, };
20
22
  export { useProductDetailDialog, useProductDetailStore, provideProductRequest, resolveProductRequest, useInjectedProductRequest, J_PRODUCT_REQUEST_KEY, } from './components/JProductDetail';
21
23
  export { createDocDetail, registerDocDetail, getDocDetailAdapters, getDocDetailEntry, getDocDetailRegistry, isDocDetailInitialized, useDocDetailStore, wmsDocDetailComponents, ReceiptOrderDetailView, QcOrderDetailView, InboundOrderDetailView, PutawayOrderDetailView, DeliveryOrderDetailView, TransferOrderDetailView, WorkOrderDetailView, AbnormalOrderDetailView, PaymentRequestDetailView, ReturnOrderDetailView, CostExpenseDetailView, ReceiptVoucherDetailView, PurchaseOrderDetailView, PurchasePlanDetailView, PurchaseContractDetailView, DeliveryDocDetailView, } from './components/JDocDetail';
22
24
  export { createRelatedDocs, registerRelatedDocs, getRelatedListAdapter, getRelatedTableComponent, getRelatedDocsTableComponents, isRelatedDocsInitialized, RelatedDocSubTabs, RelatedDocNoCopy, RelatedDocPanel, RelatedReceiptOrderTable, RelatedQcOrderTable, RelatedInboundOrderTable, RelatedPutawayOrderTable, flattenOrderItems, sumOrderItemField, useRelatedCollapseExpand, parseListResponse, } from './components/JRelatedDocs';
@@ -35,5 +37,7 @@ export type { SidebarMenuItem, JSidebarProps, JSideMenuItemProps } from './compo
35
37
  export type { AdminLayoutMenuItem, JAdminLayoutProps } from './components/JAdminLayout';
36
38
  export type { JProductDetailDialogProps, JSkuLinkProps, JProductRequestFn, JProductRequestConfig, } from './components/JProductDetail';
37
39
  export type { JSearchInputDialogProps, SearchInputOption, SearchInputModel, } from './components/JSearchInputDialog';
40
+ export type { JRemoteSelectProps, RemoteSelectFetchApi, RemoteSelectModelValue, } from './components/JRemoteSelect';
41
+ export type { JProductSelectDialogProps, JProductSelectFetchApi, JProductSelectListResult, } from './components/JProductSelectDialog';
38
42
  export type { DocDetailType, DocDetailAdapters, DocDetailRegistryItem, DocDetailComponents, CreateDocDetailOptions, } from './components/JDocDetail';
39
43
  export type { RelatedListAdapter, RelatedDocTypeItem, CreateRelatedDocsOptions, RelatedDocsContainerProps, } from './components/JRelatedDocs';