修复购买套餐Input框和计算数量传参的问题 &
This commit is contained in:
@@ -4,6 +4,7 @@ import {merge} from '@/lib/utils'
|
|||||||
import {Tabs, TabsContent, TabsList, TabsTrigger} from '@/components/ui/tabs'
|
import {Tabs, TabsContent, TabsList, TabsTrigger} from '@/components/ui/tabs'
|
||||||
import LongForm from '@/components/composites/purchase/long/form'
|
import LongForm from '@/components/composites/purchase/long/form'
|
||||||
import ShortForm from '@/components/composites/purchase/short/form'
|
import ShortForm from '@/components/composites/purchase/short/form'
|
||||||
|
import FixedForm from '@/components/composites/purchase/fixed/form'
|
||||||
import Custom from '@/components/composites/purchase/custom/page'
|
import Custom from '@/components/composites/purchase/custom/page'
|
||||||
import {usePathname, useRouter, useSearchParams} from 'next/navigation'
|
import {usePathname, useRouter, useSearchParams} from 'next/navigation'
|
||||||
import SelfDesc from '@/components/features/self-desc'
|
import SelfDesc from '@/components/features/self-desc'
|
||||||
|
|||||||
@@ -105,6 +105,12 @@ export default function Center() {
|
|||||||
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
||||||
min={minValue}
|
min={minValue}
|
||||||
step={step}
|
step={step}
|
||||||
|
onBlur={(e) => {
|
||||||
|
const value = Number(e.target.value)
|
||||||
|
if (value < 500) {
|
||||||
|
form.setValue('quota', 500)
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
theme="outline"
|
theme="outline"
|
||||||
@@ -164,9 +170,20 @@ export default function Center() {
|
|||||||
<Minus/>
|
<Minus/>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<div className="w-40 h-10 border border-gray-200 rounded-sm flex items-center justify-center">
|
<Input
|
||||||
{value}
|
{...field}
|
||||||
</div>
|
id={id}
|
||||||
|
type="number"
|
||||||
|
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
||||||
|
min={100}
|
||||||
|
step={100}
|
||||||
|
onBlur={(e) => {
|
||||||
|
const value = Number(e.target.value)
|
||||||
|
if (value < 100) {
|
||||||
|
form.setValue('daily_limit', 100)
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
theme="outline"
|
theme="outline"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export default function Right() {
|
|||||||
const quota = useWatch({control, name: 'quota'})
|
const quota = useWatch({control, name: 'quota'})
|
||||||
const expire = useWatch({control, name: 'expire'})
|
const expire = useWatch({control, name: 'expire'})
|
||||||
const dailyLimit = useWatch({control, name: 'daily_limit'})
|
const dailyLimit = useWatch({control, name: 'daily_limit'})
|
||||||
const [price, setPrice] = useState<string>('0.00')
|
const [price, setPrice] = useState<string>('')
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const price = async () => {
|
const price = async () => {
|
||||||
@@ -36,7 +36,7 @@ export default function Right() {
|
|||||||
long: {
|
long: {
|
||||||
live: Number(live),
|
live: Number(live),
|
||||||
mode: Number(mode),
|
mode: Number(mode),
|
||||||
quota: Number(mode) === 1 ? dailyLimit : quota,
|
quota: Number(mode) === 1 ? Number(dailyLimit) : Number(quota),
|
||||||
expire: Number(mode) === 1 ? Number(expire) : undefined,
|
expire: Number(mode) === 1 ? Number(expire) : undefined,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -45,9 +45,6 @@ export default function Right() {
|
|||||||
if (priceValue.success && priceValue.data?.price) {
|
if (priceValue.success && priceValue.data?.price) {
|
||||||
setPrice(priceValue.data.price)
|
setPrice(priceValue.data.price)
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
setPrice('0.00')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
console.error('获取价格失败:', error)
|
console.error('获取价格失败:', error)
|
||||||
|
|||||||
@@ -100,7 +100,14 @@ export default function Center() {
|
|||||||
type="number"
|
type="number"
|
||||||
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
||||||
min={10000}
|
min={10000}
|
||||||
step={5000}/>
|
step={5000}
|
||||||
|
onBlur={(e) => {
|
||||||
|
const value = Number(e.target.value)
|
||||||
|
if (value < 10000) {
|
||||||
|
form.setValue('quota', 10000)
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
<Button
|
<Button
|
||||||
theme="outline"
|
theme="outline"
|
||||||
type="button"
|
type="button"
|
||||||
@@ -157,6 +164,12 @@ export default function Center() {
|
|||||||
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
||||||
min={2_000}
|
min={2_000}
|
||||||
step={1_000}
|
step={1_000}
|
||||||
|
onBlur={(e) => {
|
||||||
|
const value = Number(e.target.value)
|
||||||
|
if (value < 2_000) {
|
||||||
|
form.setValue('daily_limit', 2_000)
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
theme="outline"
|
theme="outline"
|
||||||
|
|||||||
@@ -25,7 +25,8 @@ export default function Right() {
|
|||||||
const expire = useWatch({control, name: 'expire'})
|
const expire = useWatch({control, name: 'expire'})
|
||||||
const quota = useWatch({control, name: 'quota'})
|
const quota = useWatch({control, name: 'quota'})
|
||||||
const dailyLimit = useWatch({control, name: 'daily_limit'})
|
const dailyLimit = useWatch({control, name: 'daily_limit'})
|
||||||
const [price, setPrice] = useState<string>('0.00')
|
const [price, setPrice] = useState<string>('')
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const price = async () => {
|
const price = async () => {
|
||||||
const params: CreateResourceReq = {
|
const params: CreateResourceReq = {
|
||||||
@@ -33,7 +34,7 @@ export default function Right() {
|
|||||||
short: {
|
short: {
|
||||||
live: Number(live),
|
live: Number(live),
|
||||||
mode: Number(mode),
|
mode: Number(mode),
|
||||||
quota: Number(mode) === 1 ? dailyLimit : quota,
|
quota: Number(mode) === 1 ? Number(dailyLimit) : Number(quota),
|
||||||
expire: Number(mode) === 1 ? Number(expire) : undefined,
|
expire: Number(mode) === 1 ? Number(expire) : undefined,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -42,9 +43,6 @@ export default function Right() {
|
|||||||
if (priceResponse.success && priceResponse.data?.price) {
|
if (priceResponse.success && priceResponse.data?.price) {
|
||||||
setPrice(priceResponse.data.price)
|
setPrice(priceResponse.data.price)
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
setPrice('0.00')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
console.error('获取价格失败:', error)
|
console.error('获取价格失败:', error)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export type WrapProps = {
|
|||||||
|
|
||||||
export default function Wrap(props: WrapProps) {
|
export default function Wrap(props: WrapProps) {
|
||||||
return (
|
return (
|
||||||
<div className={`max-w-[1632px] w-full px-4 mx-auto ${props.className}`}>
|
<div className={`max-w-[1232px] w-full px-4 mx-auto ${props.className}`}>
|
||||||
{props.children}
|
{props.children}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user