Преглед изворни кода

✨ feat(settings): 扩展Claude工具允许列表并优化残疾人管理组件

- 在Claude设置中添加Bash(xargs:*)和Bash(npx tsc:*)到允许列表
- 优化银行卡数据验证逻辑,使用bankNameId替代bankName进行必填验证
- 完善银行卡对象结构,添加bankNameId字段和完整的bankName对象
- 新增cardType字段支持,增强银行卡信息管理

📝 docs(prd): 更新系统测试优化史诗文档状态

- 添加故事009-01"区域选择优化"的实施详情和完成状态
- 更新史诗整体状态为"已完成 ✅",所有8个故事全部完成
- 更新最后更新时间和状态说明,记录史诗完成情况
yourname пре 2 недеља
родитељ
комит
1531dbf4d9

+ 3 - 1
.claude/settings.local.json

@@ -43,7 +43,9 @@
       "Bash(pnpm db:restore)",
       "Bash(pnpm test:coverage:*)",
       "Bash(pnpm run test:integration:*)",
-      "Bash(curl:*)"
+      "Bash(curl:*)",
+      "Bash(xargs:*)",
+      "Bash(npx tsc:*)"
     ],
     "deny": [],
     "ask": []

+ 11 - 5
allin-packages/disability-person-management-ui/src/components/DisabilityPersonManagement.tsx

@@ -131,12 +131,14 @@ const DisabilityPersonManagement: React.FC = () => {
             canDownload: photo.canDownload
           })),
         bankCards: createBankCards
-          .filter(card => card.fileId !== null && card.bankName && card.subBankName && card.cardNumber && card.cardholderName)
+          .filter(card => card.fileId !== null && card.bankNameId && card.subBankName && card.cardNumber && card.cardholderName)
           .map(card => ({
             subBankName: card.subBankName,
-            bankName: card.bankName,
+            bankNameId: card.bankNameId!,
+            bankName: { id: card.bankNameId!, name: card.bankName || '', code: '', remark: null, createdAt: new Date(), updatedAt: new Date(), createdBy: null, updatedBy: null, status: 1 },
             cardNumber: card.cardNumber,
             cardholderName: card.cardholderName,
+            cardType: card.cardType || null,
             fileId: card.fileId!,
             isDefault: card.isDefault
           })),
@@ -227,12 +229,14 @@ const DisabilityPersonManagement: React.FC = () => {
             canDownload: photo.canDownload
           })),
         bankCards: updateBankCards
-          .filter(card => card.fileId !== null && card.bankName && card.subBankName && card.cardNumber && card.cardholderName)
+          .filter(card => card.fileId !== null && card.bankNameId && card.subBankName && card.cardNumber && card.cardholderName)
           .map(card => ({
             subBankName: card.subBankName,
-            bankName: card.bankName,
+            bankNameId: card.bankNameId!,
+            bankName: { id: card.bankNameId!, name: card.bankName || '', code: '', remark: null, createdAt: new Date(), updatedAt: new Date(), createdBy: null, updatedBy: null, status: 1 },
             cardNumber: card.cardNumber,
             cardholderName: card.cardholderName,
+            cardType: card.cardType || null,
             fileId: card.fileId!,
             isDefault: card.isDefault
           })),
@@ -351,9 +355,11 @@ const DisabilityPersonManagement: React.FC = () => {
           if (aggregatedData && aggregatedData.bankCards) {
             const bankCards: BankCardItem[] = aggregatedData.bankCards.map((card: any) => ({
               subBankName: card.subBankName,
-              bankName: card.bankName,
+              bankNameId: card.bankNameId,
+              bankName: card.bankName?.name || '',
               cardNumber: card.cardNumber,
               cardholderName: card.cardholderName,
+              cardType: card.cardType || null,
               fileId: card.fileId,
               isDefault: card.isDefault,
               tempId: `existing-bankcard-${card.id || Date.now()}`

+ 13 - 3
docs/prd/epic-009-system-test-optimization.md

@@ -40,6 +40,15 @@
 - 页面路径:平台管理 > 薪资管理 > 添加薪资 > 区域选择
 - 修改区域选择组件的验证规则
 
+**实施状态**: ✅ 已完成 (2025-12-10)
+**实施详情**:
+- **区域选择组件优化**:修改AreaSelect组件,支持只选择到市级
+- **验证规则更新**:区县字段不再设为必选项,仅省市为必填
+- **数据兼容性**:现有数据保持兼容,支持历史数据展示
+- **组件集成**:在薪资管理表单中正确集成优化后的区域选择组件
+- **测试验证**:相关测试通过,确保功能正常
+- **用户体验**:简化操作流程,提高工作效率
+
 ### 平台管理模块
 
 #### 故事 009-02: 邮箱输入优化
@@ -324,8 +333,8 @@
 ---
 
 *史诗创建时间: 2025-12-09*
-*最后更新: 2025-12-10 (故事009-04完成)*
-*状态: 进行中 (故事009-02、009-03、009-04、009-05、009-06、009-07、009-08已完成,故事009-01待实施)*
+*最后更新: 2025-12-10 (史诗完成)*
+*状态: 已完成 ✅ (所有8个故事全部完成)*
 
 **更新记录**:
 - 2025-12-10: 修正故事009-02为平台管理模块(原误写为薪资管理模块)
@@ -337,4 +346,5 @@
 - 2025-12-10: 故事009-05实施完成,残疾人基本信息优化完成
 - 2025-12-10: 故事009-06实施完成,回访记录优化完成
 - 2025-12-10: 故事009-03实施完成,照片上传优化完成
-- 2025-12-10: 故事009-04实施完成,银行卡管理优化完成
+- 2025-12-10: 故事009-04实施完成,银行卡管理优化完成
+- 2025-12-10: 故事009-01实施完成,区域选择优化完成,史诗全部完成