fix:提交修改信息

This commit is contained in:
2026-07-01 17:58:01 +08:00
parent d6855c9f5c
commit a0ee3a21cd
9 changed files with 215 additions and 46 deletions
+25 -22
View File
@@ -17,13 +17,22 @@ const STEPS = ['基本信息', '照片上传', '结算资质'] as const;
export default function StoreCreatePage() {
const navigate = useNavigate();
const [params, setParams] = useSearchParams();
const step = Number(params.get('step') || 1);
const [form, setForm] = useState<StoreDraftForm>(() => loadStoreDraft() ?? defaultStoreForm());
const saved = loadStoreDraft();
const [form, setForm] = useState<StoreDraftForm>(saved?.form ?? defaultStoreForm());
const [error, setError] = useState('');
const stepFromUrl = Number(params.get('step') || 0);
const step = stepFromUrl >= 1 && stepFromUrl <= 3 ? stepFromUrl : (saved?.step ?? 1);
useEffect(() => {
saveStoreDraft(form);
}, [form]);
if (!stepFromUrl && saved?.step) {
setParams({ step: String(saved.step) }, { replace: true });
}
}, [stepFromUrl, saved?.step, setParams]);
useEffect(() => {
saveStoreDraft({ step, form });
}, [step, form]);
function patchForm(patch: Partial<StoreDraftForm>) {
setForm((prev) => ({ ...prev, ...patch }));
@@ -144,7 +153,7 @@ export default function StoreCreatePage() {
<div>
<h3 className="body-md text-primary" style={{ fontWeight: 700 }}></h3>
<p className="label-md text-variant" style={{ marginTop: 4, lineHeight: 1.4 }}>
1-3
退
</p>
</div>
</div>
@@ -173,18 +182,12 @@ export default function StoreCreatePage() {
<h3 className="headline-md"> *</h3>
<p className="label-md text-muted" style={{ margin: '4px 0 12px' }}>3</p>
<div className="partner-upload-grid">
<button type="button" className="partner-upload-dashed">
<span className="material-symbols-outlined text-primary">add_a_photo</span>
<span></span>
</button>
<button type="button" className="partner-upload-dashed">
<span className="material-symbols-outlined text-primary">add_a_photo</span>
<span></span>
</button>
<button type="button" className="partner-upload-dashed">
<span className="material-symbols-outlined text-primary">add_a_photo</span>
<span></span>
</button>
{[0, 1, 2].map((i) => (
<button key={i} type="button" className="partner-upload-dashed">
<span className="material-symbols-outlined text-primary">add_a_photo</span>
<span></span>
</button>
))}
</div>
</section>
@@ -205,7 +208,7 @@ export default function StoreCreatePage() {
<div className="partner-info-banner" style={{ background: 'rgba(254,214,91,0.2)', borderColor: 'rgba(254,214,91,0.5)' }}>
<span className="material-symbols-outlined text-secondary" style={{ fontSize: 18 }}>info</span>
<p className="label-md" style={{ lineHeight: 1.5, color: 'var(--color-on-secondary-container)' }}>
preV1
preV1
</p>
</div>
</>
@@ -220,21 +223,21 @@ export default function StoreCreatePage() {
<section className="partner-form-card">
<div className="partner-field">
<label> *</label>
<input className="partner-field-input" style={{ width: '100%', padding: '0 16px', minHeight: 48, border: '1px solid rgba(226,190,188,0.3)', borderRadius: 8, background: 'var(--color-background)' }} placeholder="请输入银行卡实名姓名" value={form.bankAccountName} onChange={(e) => patchForm({ bankAccountName: e.target.value })} />
<input className="partner-field-input partner-field-input--block" placeholder="请输入银行卡实名姓名" value={form.bankAccountName} onChange={(e) => patchForm({ bankAccountName: e.target.value })} />
</div>
<div className="partner-field">
<label> *</label>
<input className="partner-field-input" style={{ width: '100%', padding: '0 16px', minHeight: 48, border: '1px solid rgba(226,190,188,0.3)', borderRadius: 8, background: 'var(--color-background)' }} placeholder="请输入16-19位银行卡号" value={form.bankAccountNo} onChange={(e) => patchForm({ bankAccountNo: e.target.value })} />
<input className="partner-field-input partner-field-input--block" placeholder="请输入16-19位银行卡号" value={form.bankAccountNo} onChange={(e) => patchForm({ bankAccountNo: e.target.value })} />
</div>
<div className="partner-field">
<label> *</label>
<input className="partner-field-input" style={{ width: '100%', padding: '0 16px', minHeight: 48, border: '1px solid rgba(226,190,188,0.3)', borderRadius: 8, background: 'var(--color-background)' }} placeholder="例如:中国工商银行洛阳分行" value={form.bankBranch} onChange={(e) => patchForm({ bankBranch: e.target.value })} />
<input className="partner-field-input partner-field-input--block" placeholder="例如:中国工商银行洛阳分行" value={form.bankBranch} onChange={(e) => patchForm({ bankBranch: e.target.value })} />
</div>
</section>
<div className="partner-info-banner" style={{ background: 'rgba(254,214,91,0.15)', borderColor: 'rgba(254,214,91,0.3)' }}>
<span className="material-symbols-outlined text-secondary">info</span>
<p className="body-md" style={{ color: 'var(--color-on-secondary-container)' }}>
</p>
</div>
</>