Selaa lähdekoodia

♻️ refactor(components): 优化文件选择器与银行查询逻辑

- 简化 BankCardManagement 组件中 FileSelector 的 onChange 处理逻辑,直接传递 fileId
- 为 FileSelector 添加 filterType 和 placeholder 属性以增强用户体验
- 更新 BankSelect 组件中的 API 查询参数,将 status 包装在 filters 对象中以符合后端接口规范
yourname 2 viikkoa sitten
vanhempi
sitoutus
fc4ad6f861

+ 6 - 11
allin-packages/disability-person-management-ui/src/components/BankCardManagement.tsx

@@ -236,19 +236,14 @@ export const BankCardManagement: React.FC<BankCardManagementProps> = ({
                   <div className="space-y-2">
                     <Label>银行卡照片</Label>
                     <FileSelector
-                      value={card.fileId ? [card.fileId] : []}
-                      onChange={(fileIds) => {
-                        console.debug('FileSelector onChange called with:', fileIds);
-                        // 修复文件ID绑定逻辑
-                        if (Array.isArray(fileIds) && fileIds.length > 0) {
-                          handleFileIdChange(index, fileIds[0]);
-                        } else if (typeof fileIds === 'number') {
-                          handleFileIdChange(index, fileIds);
-                        } else {
-                          handleFileIdChange(index, null);
-                        }
+                      value={card.fileId}
+                      onChange={(fileId) => {
+                        console.debug('FileSelector onChange called with:', fileId);
+                        handleFileIdChange(index, fileId as number | null);
                       }}
                       accept="image/*"
+                      filterType="all"
+                      placeholder="选择或上传银行卡照片"
                       data-testid={`bank-card-photo-upload-${index}`}
                     />
                     <p className="text-xs text-muted-foreground">请上传银行卡正面照片</p>

+ 1 - 1
allin-packages/disability-person-management-ui/src/components/BankSelect.tsx

@@ -42,7 +42,7 @@ export const BankSelect: React.FC<BankSelectProps> = ({
         query: {
           page: 1,
           pageSize: 100,
-          status: 1 // 只获取启用的银行名称
+          filters: JSON.stringify({ status: 1}) // 只获取启用的银行名称
         }
       });
       if (res.status !== 200) throw new Error('获取银行名称失败');