修正 OALAUNCH1 登录与业务流回归(05-28-oalaunch1-parallel-closeout)
这个提交包含在:
@@ -33,7 +33,7 @@ export function ForgotPasswordPage() {
|
||||
queryFn: () => fetchAuthCapabilities(),
|
||||
staleTime: 60_000,
|
||||
});
|
||||
const emailDeliveryReady = authCapabilitiesQuery.data?.emailDelivery.ready === true;
|
||||
const emailDeliveryReady = authCapabilitiesQuery.data?.emailDelivery?.ready === true;
|
||||
const emailDeliveryChecking = authCapabilitiesQuery.isLoading;
|
||||
const emailDeliveryUnavailable = authCapabilitiesQuery.isSuccess && !emailDeliveryReady;
|
||||
const emailDeliveryUnknown = authCapabilitiesQuery.isError;
|
||||
|
||||
@@ -76,7 +76,7 @@ export function LoginPage() {
|
||||
queryFn: () => fetchAuthCapabilities(),
|
||||
staleTime: 60_000,
|
||||
});
|
||||
const emailDeliveryReady = authCapabilitiesQuery.data?.emailDelivery.ready === true;
|
||||
const emailDeliveryReady = authCapabilitiesQuery.data?.emailDelivery?.ready === true;
|
||||
const emailDeliveryChecking = authCapabilitiesQuery.isLoading;
|
||||
const emailDeliveryUnavailable = authCapabilitiesQuery.isSuccess && !emailDeliveryReady;
|
||||
const emailDeliveryUnknown = authCapabilitiesQuery.isError;
|
||||
|
||||
@@ -368,7 +368,7 @@ export function PaymentBatchesPage() {
|
||||
</div>
|
||||
|
||||
<div className="finance-workspace-grid">
|
||||
<div className="finance-command-panel space-y-4">
|
||||
<div className="finance-command-panel space-y-4" data-testid="payment-batch-create-panel">
|
||||
<h3 className="text-base font-semibold text-zinc-900">新建批次</h3>
|
||||
{!canManageBatch ? (
|
||||
<div className="rounded-lg border border-zinc-200 bg-zinc-50 px-3 py-2 text-sm text-zinc-600">
|
||||
@@ -379,6 +379,7 @@ export function PaymentBatchesPage() {
|
||||
<Label>实体类型</Label>
|
||||
<select
|
||||
className="select-std"
|
||||
data-testid="payment-batch-create-entity-type"
|
||||
value={entityType}
|
||||
disabled={!canManageBatch}
|
||||
onChange={(event) => setEntityType(event.target.value as PaymentBatchEntityType)}
|
||||
@@ -390,6 +391,7 @@ export function PaymentBatchesPage() {
|
||||
<div className="space-y-2">
|
||||
<Label>批次名称</Label>
|
||||
<Input
|
||||
data-testid="payment-batch-create-name"
|
||||
value={name}
|
||||
disabled={!canManageBatch}
|
||||
onChange={(event) => setName(event.target.value)}
|
||||
@@ -400,6 +402,7 @@ export function PaymentBatchesPage() {
|
||||
<Label>待付款单据 ID</Label>
|
||||
<textarea
|
||||
className="min-h-28 w-full rounded-lg border border-zinc-300 px-3 py-2 text-sm disabled:bg-zinc-50"
|
||||
data-testid="payment-batch-create-entity-ids"
|
||||
value={entityIds}
|
||||
disabled={!canManageBatch}
|
||||
onChange={(event) => setEntityIds(event.target.value)}
|
||||
@@ -410,6 +413,7 @@ export function PaymentBatchesPage() {
|
||||
<div className="space-y-2">
|
||||
<Label>默认付款日期</Label>
|
||||
<DateTextInput
|
||||
data-testid="payment-batch-create-payment-date"
|
||||
value={defaultPaymentDate}
|
||||
disabled={!canManageBatch}
|
||||
onChange={(event) => setDefaultPaymentDate(event.target.value)}
|
||||
@@ -419,6 +423,7 @@ export function PaymentBatchesPage() {
|
||||
<Label>默认渠道</Label>
|
||||
<select
|
||||
className="select-std"
|
||||
data-testid="payment-batch-create-payment-channel"
|
||||
value={defaultPaymentChannel}
|
||||
disabled={!canManageBatch}
|
||||
onChange={(event) => setDefaultPaymentChannel((event.target.value as PaymentChannel | "") || "") }
|
||||
@@ -431,6 +436,7 @@ export function PaymentBatchesPage() {
|
||||
<div className="space-y-2">
|
||||
<Label>凭证前缀</Label>
|
||||
<Input
|
||||
data-testid="payment-batch-create-voucher-prefix"
|
||||
value={voucherPrefix}
|
||||
disabled={!canManageBatch}
|
||||
onChange={(event) => setVoucherPrefix(event.target.value)}
|
||||
@@ -475,7 +481,7 @@ export function PaymentBatchesPage() {
|
||||
|
||||
{selectedBatch ? (
|
||||
<div className="space-y-5">
|
||||
<div className="finance-command-panel space-y-3">
|
||||
<div className="finance-command-panel space-y-3" data-testid="payment-batch-detail-panel">
|
||||
<div className="flex flex-wrap items-center justify-between gap-3">
|
||||
<div>
|
||||
<div className="text-xs text-zinc-500">{selectedBatch.batchNo}</div>
|
||||
@@ -546,7 +552,7 @@ export function PaymentBatchesPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="finance-command-panel space-y-4">
|
||||
<div className="finance-command-panel space-y-4" data-testid="payment-batch-receipt-panel">
|
||||
<div className="flex flex-wrap items-start justify-between gap-3">
|
||||
<div>
|
||||
<h3 className="text-base font-semibold text-zinc-900">银行回单附件</h3>
|
||||
@@ -557,6 +563,7 @@ export function PaymentBatchesPage() {
|
||||
<input
|
||||
ref={receiptInputRef}
|
||||
type="file"
|
||||
data-testid="payment-batch-receipt-file-input"
|
||||
className="hidden"
|
||||
accept=".pdf,image/jpeg,image/png,image/webp"
|
||||
multiple
|
||||
|
||||
在新工单中引用
屏蔽一个用户