@weitutech/by-components-v3 1.1.14 → 1.1.16

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.
@@ -0,0 +1,2 @@
1
+ import ByBatchQuerySelector from './src/index.vue';
2
+ export default ByBatchQuerySelector;
@@ -0,0 +1,71 @@
1
+ import './index.scss';
2
+ interface Option {
3
+ [key: string]: string | number;
4
+ }
5
+ interface Props {
6
+ modelValue?: Array<string | number> | string | number;
7
+ options?: Option[];
8
+ loadOptions?: (params?: Record<string, unknown>) => Promise<Option[]>;
9
+ autoLoad?: boolean;
10
+ valueKey?: string;
11
+ labelKey?: string;
12
+ disabledKey?: string;
13
+ disabledMethod?: (option: Option) => boolean;
14
+ multiple?: boolean;
15
+ collapseTags?: boolean;
16
+ placeholder?: string;
17
+ disabled?: boolean;
18
+ clearable?: boolean;
19
+ size?: string;
20
+ maxWidth?: string | number;
21
+ popoverWidth?: string | number;
22
+ customMapFunction?: (inputValues: string[], inputType: string, optionsList: Option[]) => Array<string | number>;
23
+ pageSize?: number;
24
+ initialPageCount?: number;
25
+ }
26
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
+ "update:modelValue": (value: string | number | (string | number)[]) => any;
28
+ change: (value: string | number | (string | number)[]) => any;
29
+ "batch-selector-focus": (event: Event) => any;
30
+ "options-loaded": (options: Option[]) => any;
31
+ "options-load-error": (error: unknown) => any;
32
+ "batch-input-complete": (data: {
33
+ inputValues: string[];
34
+ matchedValues: Array<string | number>;
35
+ matchedItems: Option[];
36
+ type: string;
37
+ }) => any;
38
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
39
+ "onUpdate:modelValue"?: (value: string | number | (string | number)[]) => any;
40
+ onChange?: (value: string | number | (string | number)[]) => any;
41
+ "onBatch-selector-focus"?: (event: Event) => any;
42
+ "onOptions-loaded"?: (options: Option[]) => any;
43
+ "onOptions-load-error"?: (error: unknown) => any;
44
+ "onBatch-input-complete"?: (data: {
45
+ inputValues: string[];
46
+ matchedValues: Array<string | number>;
47
+ matchedItems: Option[];
48
+ type: string;
49
+ }) => any;
50
+ }>, {
51
+ size: string;
52
+ options: Option[];
53
+ disabled: boolean;
54
+ modelValue: Array<string | number> | string | number;
55
+ loadOptions: (params?: Record<string, unknown>) => Promise<Option[]>;
56
+ multiple: boolean;
57
+ placeholder: string;
58
+ pageSize: number;
59
+ clearable: boolean;
60
+ collapseTags: boolean;
61
+ maxWidth: string | number;
62
+ autoLoad: boolean;
63
+ valueKey: string;
64
+ labelKey: string;
65
+ disabledKey: string;
66
+ disabledMethod: (option: Option) => boolean;
67
+ popoverWidth: string | number;
68
+ customMapFunction: (inputValues: string[], inputType: string, optionsList: Option[]) => Array<string | number>;
69
+ initialPageCount: number;
70
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
71
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import CommonSelector from './src/index.vue';
2
+ export { CommonSelector };
3
+ export type { CommonSelectorProps as ByCommonSelectorProps } from './src/types';
4
+ export default CommonSelector;
@@ -0,0 +1,46 @@
1
+ import './index.scss';
2
+ import { CommonSelectorProps, Option, SelectorValue } from './types';
3
+ declare var __VLS_65: {}, __VLS_87: {};
4
+ type __VLS_Slots = {} & {
5
+ suffixSlot?: (props: typeof __VLS_65) => any;
6
+ } & {
7
+ suffixSlot?: (props: typeof __VLS_87) => any;
8
+ };
9
+ declare const __VLS_component: import("vue").DefineComponent<CommonSelectorProps, {
10
+ forceCheckExpandButton: () => void;
11
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
+ input: (value: SelectorValue) => any;
13
+ "update:modelValue": (value: SelectorValue) => any;
14
+ "update:suffixInputValue": (value: string) => any;
15
+ "suffix-input-change": (value: string) => any;
16
+ }, string, import("vue").PublicProps, Readonly<CommonSelectorProps> & Readonly<{
17
+ onInput?: (value: SelectorValue) => any;
18
+ "onUpdate:modelValue"?: (value: SelectorValue) => any;
19
+ "onUpdate:suffixInputValue"?: (value: string) => any;
20
+ "onSuffix-input-change"?: (value: string) => any;
21
+ }>, {
22
+ size: string;
23
+ type: import("./types").TCommonSelectorType;
24
+ options: Option[];
25
+ modelValue: SelectorValue;
26
+ loadOptions: () => Promise<Option[]>;
27
+ hiddenAllOptions: boolean;
28
+ multiple: boolean;
29
+ placeholder: string;
30
+ showSearchBar: boolean;
31
+ pagination: boolean;
32
+ pageSize: number;
33
+ needShowLoading: boolean;
34
+ showSuffixInput: boolean;
35
+ suffixInputPlaceholder: string;
36
+ suffixInputValue: string;
37
+ suffixInputUnit: string;
38
+ suffixInputOptions: Record<string, any>;
39
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
41
+ export default _default;
42
+ type __VLS_WithSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -0,0 +1,100 @@
1
+ /**
2
+ * 选项数据类型
3
+ */
4
+ export interface Option {
5
+ id: number | string;
6
+ name: string;
7
+ initial?: string;
8
+ status?: number;
9
+ }
10
+ /**
11
+ * 通用选择器类型
12
+ */
13
+ export type TCommonSelectorType = 'border' | 'checkbox' | 'select';
14
+ /**
15
+ * 选择器值类型
16
+ */
17
+ export type SelectorValue = string | number | (string | number)[];
18
+ /**
19
+ * 通用选择器props类型
20
+ */
21
+ export interface CommonSelectorProps {
22
+ /**
23
+ * 选择器值(用于 v-model)
24
+ */
25
+ modelValue: SelectorValue;
26
+ /**
27
+ * @deprecated 请使用 modelValue 代替
28
+ */
29
+ value?: SelectorValue;
30
+ /**
31
+ * 选择器类型 border | checkbox | select(default)
32
+ */
33
+ type?: TCommonSelectorType;
34
+ /**
35
+ * 选项数据,格式:[{id: 1, name: '选项1', initial: 'A', status: 1}]
36
+ * 如果loadOptions存在,则options无效
37
+ */
38
+ options?: Option[];
39
+ /**
40
+ * 异步加载数据的函数,格式:() => Promise<Array>
41
+ * 优先级高于options
42
+ */
43
+ loadOptions?: () => Promise<Option[]>;
44
+ /**
45
+ * 是否隐藏全部选项
46
+ */
47
+ hiddenAllOptions?: boolean;
48
+ /**
49
+ * 是否多选
50
+ */
51
+ multiple?: boolean;
52
+ /**
53
+ * 选择器占位符
54
+ */
55
+ placeholder?: string;
56
+ /**
57
+ * 选择器大小
58
+ */
59
+ size?: string;
60
+ /**
61
+ * 是否显示searchBar(A~Z+搜索框)
62
+ * 注意:当启用搜索栏时,组件会使用数据中的initial字段来构建A-Z字母列表。
63
+ * 如果数据项中缺少initial字段或值为空,组件会自动根据name字段生成initial值:
64
+ * - 对于中文,会提取拼音首字母并转为大写
65
+ * - 对于非中文,直接取首字母并转为大写
66
+ */
67
+ showSearchBar?: boolean;
68
+ /**
69
+ * 是否启用分页
70
+ */
71
+ pagination?: boolean;
72
+ /**
73
+ * 每页显示数量
74
+ */
75
+ pageSize?: number;
76
+ /**
77
+ * 非select模式下,异步加载数据是否需要展示loading(加载中...)
78
+ */
79
+ needShowLoading?: boolean;
80
+ /**
81
+ * 是否显示后置输入框
82
+ */
83
+ showSuffixInput?: boolean;
84
+ /**
85
+ * 后置输入框的placeholder
86
+ */
87
+ suffixInputPlaceholder?: string;
88
+ /**
89
+ * 后置输入框的值
90
+ */
91
+ suffixInputValue?: string;
92
+ /**
93
+ * 后置输入框的单位
94
+ */
95
+ suffixInputUnit?: string;
96
+ /**
97
+ * 后置输入框的选项
98
+ */
99
+ suffixInputOptions?: Record<string, any>;
100
+ }
@@ -15,7 +15,7 @@ type TOtherOptions = {
15
15
  resetText?: string;
16
16
  showSubmitIcon?: boolean;
17
17
  };
18
- export type TFormItemType = 'input' | 'inputNumber' | 'select' | 'treeSelect' | 'datepicker' | 'cascader' | 'switch' | 'checkbox' | 'radio' | 'upload' | 'customDatePicker' | 'search' | 'custom' | 'formButtons';
18
+ export type TFormItemType = 'input' | 'inputNumber' | 'select' | 'treeSelect' | 'datepicker' | 'cascader' | 'switch' | 'checkbox' | 'radio' | 'upload' | 'customDatePicker' | 'search' | 'custom' | 'formButtons' | 'commonSelector';
19
19
  export type TFormItemProps = {
20
20
  /** 避免field重复 */
21
21
  id?: number | string;
@@ -27,6 +27,8 @@ export type TFormItemProps = {
27
27
  startTimeField?: string;
28
28
  /** 对应日期选择器的结束时间字段 */
29
29
  endTimeField?: string;
30
+ /** 对应通用选择器的后缀输入框字段 */
31
+ suffixInputField?: string;
30
32
  actions?: string;
31
33
  /** 是否隐藏不显示 */
32
34
  hidden?: boolean;
@@ -52,9 +54,9 @@ export type TFormItemProps = {
52
54
  label?: string;
53
55
  labelWidth?: string | number;
54
56
  /** 是否以行内形式展示校验信息 默认false*/
55
- inlineMessage?: Boolean;
57
+ inlineMessage?: boolean;
56
58
  /** 是否显示校验错误信息 默认显示(true) */
57
- showMessage?: Boolean;
59
+ showMessage?: boolean;
58
60
  /** 表单域标签的位置,如果值为 left 或者 right 时,则需要设置 label-width 默认right */
59
61
  labelPosition?: 'left' | 'right' | 'top';
60
62
  /** 其他选项 */
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
11
11
  onChange?: (values: PagerConfig) => any;
12
12
  }>, {
13
13
  pageSize: number;
14
- pageSizes: number[];
15
14
  currentPage: number;
15
+ pageSizes: number[];
16
16
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
17
  export default _default;
@@ -37,7 +37,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
37
37
  [x: `on${Capitalize<string>}`]: (...args: any[]) => any;
38
38
  }>, {
39
39
  name: string;
40
- autoHeight: boolean;
41
40
  loading: boolean;
41
+ autoHeight: boolean;
42
42
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
43
43
  export default _default;
@@ -5,6 +5,7 @@ export declare const searchFormItems: import("vue").Ref<{
5
5
  field?: string;
6
6
  startTimeField?: string;
7
7
  endTimeField?: string;
8
+ suffixInputField?: string;
8
9
  actions?: string;
9
10
  hidden?: boolean;
10
11
  itemStyle?: Record<string, any>;
@@ -26,12 +27,8 @@ export declare const searchFormItems: import("vue").Ref<{
26
27
  options?: Array<Record<string, any>>;
27
28
  label?: string;
28
29
  labelWidth?: string | number;
29
- inlineMessage?: {
30
- valueOf: () => boolean;
31
- };
32
- showMessage?: {
33
- valueOf: () => boolean;
34
- };
30
+ inlineMessage?: boolean;
31
+ showMessage?: boolean;
35
32
  labelPosition?: "left" | "right" | "top";
36
33
  otherOptions?: {
37
34
  submit?: boolean;
@@ -53,6 +50,7 @@ export declare const searchFormItems: import("vue").Ref<{
53
50
  field?: string;
54
51
  startTimeField?: string;
55
52
  endTimeField?: string;
53
+ suffixInputField?: string;
56
54
  actions?: string;
57
55
  hidden?: boolean;
58
56
  itemStyle?: Record<string, any>;
@@ -74,12 +72,8 @@ export declare const searchFormItems: import("vue").Ref<{
74
72
  options?: Array<Record<string, any>>;
75
73
  label?: string;
76
74
  labelWidth?: string | number;
77
- inlineMessage?: {
78
- valueOf: () => boolean;
79
- };
80
- showMessage?: {
81
- valueOf: () => boolean;
82
- };
75
+ inlineMessage?: boolean;
76
+ showMessage?: boolean;
83
77
  labelPosition?: "left" | "right" | "top";
84
78
  otherOptions?: {
85
79
  submit?: boolean;
@@ -130,6 +124,7 @@ export declare const formConfig: import("vue").Ref<{
130
124
  field?: string;
131
125
  startTimeField?: string;
132
126
  endTimeField?: string;
127
+ suffixInputField?: string;
133
128
  actions?: string;
134
129
  hidden?: boolean;
135
130
  itemStyle?: Record<string, any>;
@@ -151,12 +146,8 @@ export declare const formConfig: import("vue").Ref<{
151
146
  options?: Array<Record<string, any>>;
152
147
  label?: string;
153
148
  labelWidth?: string | number;
154
- inlineMessage?: {
155
- valueOf: () => boolean;
156
- };
157
- showMessage?: {
158
- valueOf: () => boolean;
159
- };
149
+ inlineMessage?: boolean;
150
+ showMessage?: boolean;
160
151
  labelPosition?: "left" | "right" | "top";
161
152
  otherOptions?: {
162
153
  submit?: boolean;
@@ -207,6 +198,7 @@ export declare const formConfig: import("vue").Ref<{
207
198
  field?: string;
208
199
  startTimeField?: string;
209
200
  endTimeField?: string;
201
+ suffixInputField?: string;
210
202
  actions?: string;
211
203
  hidden?: boolean;
212
204
  itemStyle?: Record<string, any>;
@@ -228,12 +220,8 @@ export declare const formConfig: import("vue").Ref<{
228
220
  options?: Array<Record<string, any>>;
229
221
  label?: string;
230
222
  labelWidth?: string | number;
231
- inlineMessage?: {
232
- valueOf: () => boolean;
233
- };
234
- showMessage?: {
235
- valueOf: () => boolean;
236
- };
223
+ inlineMessage?: boolean;
224
+ showMessage?: boolean;
237
225
  labelPosition?: "left" | "right" | "top";
238
226
  otherOptions?: {
239
227
  submit?: boolean;
@@ -284,6 +272,7 @@ export declare const formConfig: import("vue").Ref<{
284
272
  field?: string;
285
273
  startTimeField?: string;
286
274
  endTimeField?: string;
275
+ suffixInputField?: string;
287
276
  actions?: string;
288
277
  hidden?: boolean;
289
278
  itemStyle?: Record<string, any>;
@@ -305,12 +294,8 @@ export declare const formConfig: import("vue").Ref<{
305
294
  options?: Array<Record<string, any>>;
306
295
  label?: string;
307
296
  labelWidth?: string | number;
308
- inlineMessage?: {
309
- valueOf: () => boolean;
310
- };
311
- showMessage?: {
312
- valueOf: () => boolean;
313
- };
297
+ inlineMessage?: boolean;
298
+ showMessage?: boolean;
314
299
  labelPosition?: "left" | "right" | "top";
315
300
  otherOptions?: {
316
301
  submit?: boolean;
@@ -726,6 +711,7 @@ export declare const dialogFormItems: import("vue").Ref<{
726
711
  field?: string;
727
712
  startTimeField?: string;
728
713
  endTimeField?: string;
714
+ suffixInputField?: string;
729
715
  actions?: string;
730
716
  hidden?: boolean;
731
717
  itemStyle?: Record<string, any>;
@@ -747,12 +733,8 @@ export declare const dialogFormItems: import("vue").Ref<{
747
733
  options?: Array<Record<string, any>>;
748
734
  label?: string;
749
735
  labelWidth?: string | number;
750
- inlineMessage?: {
751
- valueOf: () => boolean;
752
- };
753
- showMessage?: {
754
- valueOf: () => boolean;
755
- };
736
+ inlineMessage?: boolean;
737
+ showMessage?: boolean;
756
738
  labelPosition?: "left" | "right" | "top";
757
739
  otherOptions?: {
758
740
  submit?: boolean;
@@ -774,6 +756,7 @@ export declare const dialogFormItems: import("vue").Ref<{
774
756
  field?: string;
775
757
  startTimeField?: string;
776
758
  endTimeField?: string;
759
+ suffixInputField?: string;
777
760
  actions?: string;
778
761
  hidden?: boolean;
779
762
  itemStyle?: Record<string, any>;
@@ -795,12 +778,8 @@ export declare const dialogFormItems: import("vue").Ref<{
795
778
  options?: Array<Record<string, any>>;
796
779
  label?: string;
797
780
  labelWidth?: string | number;
798
- inlineMessage?: {
799
- valueOf: () => boolean;
800
- };
801
- showMessage?: {
802
- valueOf: () => boolean;
803
- };
781
+ inlineMessage?: boolean;
782
+ showMessage?: boolean;
804
783
  labelPosition?: "left" | "right" | "top";
805
784
  otherOptions?: {
806
785
  submit?: boolean;
@@ -0,0 +1,20 @@
1
+ export interface TestComponent {
2
+ path: string;
3
+ name: string;
4
+ title: string;
5
+ icon: string;
6
+ component: string;
7
+ description: string;
8
+ }
9
+ /**
10
+ * 测试组件列表
11
+ * 增加测试组件只需在这里统一配置
12
+ */
13
+ export declare const testComponents: TestComponent[];
14
+ export declare const getComponentTitle: (path: string) => string;
15
+ export declare const getRoutes: () => {
16
+ path: string;
17
+ name: string;
18
+ component: () => Promise<any>;
19
+ }[];
20
+ export declare const getTestComponents: () => TestComponent[];
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@weitutech/by-components-v3",
4
- "version": "1.1.14",
4
+ "version": "1.1.16",
5
5
  "private": false,
6
6
  "main": "/src/main.ts",
7
7
  "module": "./dist/by-components-v3.js",
@@ -31,6 +31,7 @@
31
31
  "element-plus": "^2.9.3",
32
32
  "moment": "^2.30.1",
33
33
  "path": "^0.12.7",
34
+ "pinyin-pro": "^3.26.0",
34
35
  "vue": "^3.5.13",
35
36
  "vue-draggable-plus": "^0.6.0",
36
37
  "vue-router": "^4.5.1",