gzkx-package 0.1.50 → 0.1.51

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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 自定义组件使用文档
2
2
 
3
- 本文档详细介绍了项目中四个核心自定义组件的使用方法和参数说明。
3
+ 本文档详细介绍了项目中核心自定义组件和工具 Hooks 的使用方法和参数说明。
4
4
 
5
5
  ---
6
6
 
@@ -9,10 +9,19 @@
9
9
  - [安装](#安装)
10
10
  - [快速开始](#快速开始)
11
11
  - [组件列表](#组件列表)
12
- 1. [CommonPage 通用页面组件](#1-commonpage-通用页面组件)
13
- 2. [CustomTable 自定义表格组件](#2-customtable-自定义表格组件)
14
- 3. [CustomForm 自定义表单组件](#3-customform-自定义表单组件)
15
- 4. [CustomAdd 新增/编辑弹窗组件](#4-customadd-新增编辑弹窗组件)
12
+ 1. [工具 Hooks](#1-工具-hooks)
13
+ - [useHotkeyListener 组合键监听](#11-usehotkeylistener---组合键监听-hook)
14
+ - [useTakeShotHotkey 截图专用组合键](#12-usetakeshothotkey---截图专用组合键-hook)
15
+ - [takeShot 截图接口](#13-takeshot---截图接口)
16
+ 2. [CommonPage 通用页面组件](#2-commonpage-通用页面组件)
17
+ 3. [CustomTable 自定义表格组件](#3-customtable-自定义表格组件)
18
+ 4. [CustomForm 自定义表单组件](#4-customform-自定义表单组件)
19
+ 5. [CustomAdd 新增/编辑弹窗组件](#5-customadd-新增编辑弹窗组件)
20
+ 6. [常见使用场景](#6-常见使用场景)
21
+ 7. [注意事项](#7-注意事项)
22
+ 8. [常见问题](#8-常见问题)
23
+ 9. [更新日志](#9-更新日志)
24
+ 10. [技术支持](#10-技术支持)
16
25
 
17
26
  ---
18
27
 
@@ -305,13 +314,13 @@ const handleCapture = async () => {
305
314
 
306
315
  ---
307
316
 
308
- ## 2. CommonPage 通用页面组件
317
+ ## 3. CommonPage 通用页面组件
309
318
 
310
- ### 1.1 组件概述
319
+ ### 3.1 组件概述
311
320
 
312
321
  `CommonPage` 是一个集成了搜索表单、数据表格、新增/编辑弹窗的通用页面组件,适用于大部分 CRUD 操作场景。
313
322
 
314
- ### 1.2 Props 参数
323
+ ### 3.2 Props 参数
315
324
 
316
325
  | 参数名 | 类型 | 必填 | 默认值 | 说明 |
317
326
  |--------|------|------|--------|------|
@@ -347,7 +356,7 @@ const handleCapture = async () => {
347
356
  | `validateConfig` | `ValidateConfig` | 否 | - | 表单验证配置 |
348
357
  | `tableConfig` | `any` | 否 | - | 表格额外配置 |
349
358
 
350
- #### 1.2.1 详细参数说明
359
+ #### 3.2.1 详细参数说明
351
360
 
352
361
  **postParams 对象结构:**
353
362
 
@@ -383,7 +392,7 @@ const handleCapture = async () => {
383
392
  }
384
393
  ```
385
394
 
386
- ### 1.3 Ref 暴露的方法
395
+ ### 3.3 Ref 暴露的方法
387
396
 
388
397
  使用 `ref` 可以调用组件内部方法:
389
398
 
@@ -402,7 +411,7 @@ interface CommonPageHandle {
402
411
  }
403
412
  ```
404
413
 
405
- ### 1.4 使用示例
414
+ ### 3.4 使用示例
406
415
 
407
416
  ```tsx
408
417
  import { useRef } from 'react';
@@ -548,11 +557,11 @@ export default DemoPage;
548
557
 
549
558
  ## 4. CustomTable 自定义表格组件
550
559
 
551
- ### 2.1 组件概述
560
+ ### 4.1 组件概述
552
561
 
553
562
  `CustomTable` 是对 Ant Design Table 组件的增强封装,支持用户自定义表格列配置、保存配置到后端、序号列、树形数据等功能。
554
563
 
555
- ### 2.2 Props 参数
564
+ ### 4.2 Props 参数
556
565
 
557
566
  | 参数名 | 类型 | 必填 | 默认值 | 说明 |
558
567
  |--------|------|------|--------|------|
@@ -568,14 +577,14 @@ export default DemoPage;
568
577
  | `showTableConfig` | `boolean` | 否 | `true` | 是否显示表格配置按钮和序号列 |
569
578
  | `...rest` | `any` | 否 | - | 其他 Ant Design Table 原生属性 |
570
579
 
571
- ### 2.3 特色功能
580
+ ### 4.3 特色功能
572
581
 
573
582
  1. **表格配置功能**:用户可以自定义列的显示、宽度、对齐方式、排序等,配置会保存到后端。
574
583
  2. **自动序号列**:自动添加序号列(可通过 `showTableConfig` 控制)。
575
584
  3. **树形数据支持**:支持展开/收起树形数据。
576
585
  4. **Tooltip 支持**:单元格内容过长时自动显示 Tooltip。
577
586
 
578
- ### 2.4 Ref 暴露的方法
587
+ ### 4.4 Ref 暴露的方法
579
588
 
580
589
  使用 `ref` 可以调用组件内部方法:
581
590
 
@@ -668,7 +677,7 @@ const DemoTable = () => {
668
677
  };
669
678
  ```
670
679
 
671
- ### 2.6 列配置弹窗说明
680
+ ### 4.6 列配置弹窗说明
672
681
 
673
682
  当 `showTableConfig={true}` 时,序号列旁边会显示设置图标,点击后打开配置弹窗,可以配置:
674
683
 
@@ -685,11 +694,11 @@ const DemoTable = () => {
685
694
 
686
695
  ## 5. CustomForm 自定义表单组件
687
696
 
688
- ### 3.1 组件概述
697
+ ### 5.1 组件概述
689
698
 
690
699
  `CustomForm` 是一个基于配置的表单组件,通过传入配置数组即可快速生成表单,支持多种表单项类型。
691
700
 
692
- ### 3.2 Props 参数
701
+ ### 5.2 Props 参数
693
702
 
694
703
  | 参数名 | 类型 | 必填 | 默认值 | 说明 |
695
704
  |--------|------|------|--------|------|
@@ -708,7 +717,7 @@ const DemoTable = () => {
708
717
  | `onSearchFormChange` | `Function` | 否 | - | 表单值变化回调 |
709
718
  | `...restFormProps` | `any` | 否 | - | 其他 Ant Design Form 原生属性 |
710
719
 
711
- ### 3.3 FormItemConfig 配置项
720
+ ### 5.3 FormItemConfig 配置项
712
721
 
713
722
  ```typescript
714
723
  interface FormItemConfig {
@@ -733,7 +742,7 @@ interface FormItemOption {
733
742
  }
734
743
  ```
735
744
 
736
- ### 3.4 支持的表单类型
745
+ ### 5.4 支持的表单类型
737
746
 
738
747
  | type 值 | 说明 | 额外属性 |
739
748
  |---------|------|---------|
@@ -747,7 +756,7 @@ interface FormItemOption {
747
756
  | `deptSelect` | 科室选择(自动加载数据) | - |
748
757
  | `orgSelect` | 机构选择(自动加载数据) | - |
749
758
 
750
- ### 3.5 Ref 暴露的方法
759
+ ### 5.5 Ref 暴露的方法
751
760
 
752
761
  ```typescript
753
762
  interface CustomFormHandle {
@@ -756,7 +765,7 @@ interface CustomFormHandle {
756
765
  }
757
766
  ```
758
767
 
759
- ### 3.6 使用示例
768
+ ### 5.6 使用示例
760
769
 
761
770
  ```tsx
762
771
  import { useRef } from 'react';
@@ -829,11 +838,11 @@ const DemoForm = () => {
829
838
 
830
839
  ## 6. CustomAdd 新增/编辑弹窗组件
831
840
 
832
- ### 4.1 组件概述
841
+ ### 6.1 组件概述
833
842
 
834
843
  `CustomAdd` 是一个功能强大的弹窗表单组件,支持新增、编辑、查看三种模式,支持多种表单项类型、表单验证、Tab 分组等。
835
844
 
836
- ### 4.2 Props 参数
845
+ ### 6.2 Props 参数
837
846
 
838
847
  | 参数名 | 类型 | 必填 | 默认值 | 说明 |
839
848
  |--------|------|------|--------|------|
@@ -851,7 +860,7 @@ const DemoForm = () => {
851
860
  | `CustomModalFooter` | `Function` | 否 | - | 自定义底部按钮 |
852
861
  | `validateConfig` | `ValidateConfig` | 否 | - | 验证配置 |
853
862
 
854
- ### 4.3 AddItemConfig 配置项
863
+ ### 6.3 AddItemConfig 配置项
855
864
 
856
865
  ```typescript
857
866
  interface AddItemConfig {
@@ -880,7 +889,7 @@ interface AddItemConfig {
880
889
  }
881
890
  ```
882
891
 
883
- ### 4.4 支持的表单类型
892
+ ### 6.4 支持的表单类型
884
893
 
885
894
  | type 值 | 说明 | 额外配置 |
886
895
  |---------|------|---------|
@@ -904,7 +913,7 @@ interface AddItemConfig {
904
913
  | `inputnumberoption` | 数字输入框+下拉框组合 | `optionname`, `options` |
905
914
  | `doubleValue` | 双输入框(如范围) | `firstLabel`, `secondLabel`, `separator` |
906
915
 
907
- ### 4.5 ValidateConfig 验证配置
916
+ ### 6.5 ValidateConfig 验证配置
908
917
 
909
918
  ```typescript
910
919
  interface ValidateConfig {
@@ -920,7 +929,7 @@ interface ValidateConfig {
920
929
  }
921
930
  ```
922
931
 
923
- ### 4.6 Ref 暴露的方法
932
+ ### 6.6 Ref 暴露的方法
924
933
 
925
934
  ```typescript
926
935
  interface CustomAddHandle {
@@ -929,9 +938,9 @@ interface CustomAddHandle {
929
938
  }
930
939
  ```
931
940
 
932
- ### 4.7 使用示例
941
+ ### 6.7 使用示例
933
942
 
934
- #### 4.7.1 基础使用
943
+ #### 6.7.1 基础使用
935
944
 
936
945
  ```tsx
937
946
  import { useState, useRef } from 'react';
@@ -1068,7 +1077,7 @@ const tabFormConfig = [
1068
1077
  />
1069
1078
  ```
1070
1079
 
1071
- #### 4.7.3 带验证配置
1080
+ #### 6.7.3 带验证配置
1072
1081
 
1073
1082
  ```tsx
1074
1083
  const validateConfig: ValidateConfig = {
@@ -1091,7 +1100,7 @@ const validateConfig: ValidateConfig = {
1091
1100
  />
1092
1101
  ```
1093
1102
 
1094
- #### 4.7.4 特殊类型示例
1103
+ #### 6.7.4 特殊类型示例
1095
1104
 
1096
1105
  ```tsx
1097
1106
  // 双输入框(范围)
@@ -1135,7 +1144,7 @@ const validateConfig: ValidateConfig = {
1135
1144
 
1136
1145
  ## 7. 常见使用场景
1137
1146
 
1138
- ### 5.1 完整的 CRUD 页面
1147
+ ### 7.1 完整的 CRUD 页面
1139
1148
 
1140
1149
  ```tsx
1141
1150
  import { useRef } from 'react';
@@ -1224,7 +1233,7 @@ const UserManagePage = () => {
1224
1233
  };
1225
1234
  ```
1226
1235
 
1227
- ### 5.2 自定义操作列
1236
+ ### 7.2 自定义操作列
1228
1237
 
1229
1238
  ```tsx
1230
1239
  <CommonPage
@@ -1241,7 +1250,7 @@ const UserManagePage = () => {
1241
1250
  />
1242
1251
  ```
1243
1252
 
1244
- ### 5.3 带权限控制
1253
+ ### 7.3 带权限控制
1245
1254
 
1246
1255
  ```tsx
1247
1256
  <CommonPage
@@ -1262,23 +1271,23 @@ const UserManagePage = () => {
1262
1271
 
1263
1272
  ## 8. 注意事项
1264
1273
 
1265
- ### 6.1 表单字段命名
1274
+ ### 8.1 表单字段命名
1266
1275
 
1267
1276
  1. **日期范围字段**:使用 `/` 分隔,如 `startDate/endDate`,组件会自动拆分为两个字段。
1268
1277
  2. **输入框+下拉框组合**:使用 `name` 和 `optionname` 分别定义两个字段。
1269
1278
  3. **双输入框**:使用 `firstLabel` 和 `secondLabel` 定义两个字段名。
1270
1279
 
1271
- ### 6.2 数据格式
1280
+ ### 8.2 数据格式
1272
1281
 
1273
1282
  1. **日期数据**:后端返回的日期字符串会自动转换为 dayjs 对象,提交时根据 `dateFormat` 格式化。
1274
1283
  2. **树形选择多选**:多选时,后端返回逗号分隔的字符串(如 "1,2,3"),组件会自动转换为数组。
1275
1284
 
1276
- ### 6.3 性能优化
1285
+ ### 8.3 性能优化
1277
1286
 
1278
1287
  1. **tableId**:为表格设置唯一 ID,用户的列配置会保存到后端,避免每次都重新配置。
1279
1288
  2. **防抖**:组件内部已对列表刷新、实时验证等操作做了防抖处理。
1280
1289
 
1281
- ### 6.4 样式定制
1290
+ ### 8.4 样式定制
1282
1291
 
1283
1292
  组件使用了 CSS Modules,如需定制样式,可以:
1284
1293
  1. 通过 `className` 传入自定义类名
@@ -1350,6 +1359,6 @@ formRef.current?.setFieldsValue({ name: '张三' });
1350
1359
 
1351
1360
  ---
1352
1361
 
1353
- ## 9. 技术支持
1362
+ ## 11. 技术支持
1354
1363
 
1355
1364
  如有问题,请联系开发团队或查看源代码注释。