修整优惠券页面,添加发放功能及权限控制 & 用户添加查看优惠券发放详情 & 添加切换线上环境页面显示功能

This commit is contained in:
Eamon
2026-04-28 11:16:54 +08:00
parent 66ee6bb9fd
commit 7cd1a7cbe7
15 changed files with 765 additions and 198 deletions

View File

@@ -37,6 +37,7 @@ import {
ScopeBatchReadOfUser,
ScopeBillReadOfUser,
ScopeChannelReadOfUser,
ScopeCouponWriteAssign,
ScopeResourceRead,
ScopeTradeReadOfUser,
ScopeUserWrite,
@@ -131,10 +132,7 @@ export default function CustPage() {
name="account"
control={control}
render={({ field, fieldState }) => (
<Field
data-invalid={fieldState.invalid}
className="w-80 flex"
>
<Field data-invalid={fieldState.invalid} className="w-80 flex">
<FieldLabel>//</FieldLabel>
<Input {...field} placeholder="请输入账号/手机号/邮箱" />
<FieldError>{fieldState.error?.message}</FieldError>
@@ -146,10 +144,7 @@ export default function CustPage() {
name="name"
control={control}
render={({ field, fieldState }) => (
<Field
data-invalid={fieldState.invalid}
className="w-40 flex"
>
<Field data-invalid={fieldState.invalid} className="w-40 flex">
<FieldLabel></FieldLabel>
<Input {...field} placeholder="请输入姓名" />
<FieldError>{fieldState.error?.message}</FieldError>
@@ -203,10 +198,7 @@ export default function CustPage() {
name="created_at_start"
control={control}
render={({ field, fieldState }) => (
<Field
data-invalid={fieldState.invalid}
className="w-40 flex"
>
<Field data-invalid={fieldState.invalid} className="w-40 flex">
<FieldLabel></FieldLabel>
<Input type="date" {...field} />
<FieldError>{fieldState.error?.message}</FieldError>
@@ -218,10 +210,7 @@ export default function CustPage() {
name="created_at_end"
control={control}
render={({ field, fieldState }) => (
<Field
data-invalid={fieldState.invalid}
className="w-40 flex"
>
<Field data-invalid={fieldState.invalid} className="w-40 flex">
<FieldLabel></FieldLabel>
<Input type="date" {...field} />
<FieldError>{fieldState.error?.message}</FieldError>
@@ -243,7 +232,7 @@ export default function CustPage() {
</Button>
<Button type="submit"></Button>
</div>
</div>
</form>
<Suspense>
@@ -459,6 +448,17 @@ export default function CustPage() {
</DropdownMenuItem>
</Auth>
<Auth scope={ScopeCouponWriteAssign}>
<DropdownMenuItem
onClick={() =>
router.push(
`/client/issue?userId=${user.id}&phone=${user.phone}`,
)
}
>
</DropdownMenuItem>
</Auth>
</DropdownMenuContent>
</DropdownMenu>
</div>