修复购买套餐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 LongForm from '@/components/composites/purchase/long/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 {usePathname, useRouter, useSearchParams} from 'next/navigation'
|
||||
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"
|
||||
min={minValue}
|
||||
step={step}
|
||||
onBlur={(e) => {
|
||||
const value = Number(e.target.value)
|
||||
if (value < 500) {
|
||||
form.setValue('quota', 500)
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
theme="outline"
|
||||
@@ -164,9 +170,20 @@ export default function Center() {
|
||||
<Minus/>
|
||||
</Button>
|
||||
|
||||
<div className="w-40 h-10 border border-gray-200 rounded-sm flex items-center justify-center">
|
||||
{value}
|
||||
</div>
|
||||
<Input
|
||||
{...field}
|
||||
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
|
||||
theme="outline"
|
||||
|
||||
@@ -27,7 +27,7 @@ export default function Right() {
|
||||
const quota = useWatch({control, name: 'quota'})
|
||||
const expire = useWatch({control, name: 'expire'})
|
||||
const dailyLimit = useWatch({control, name: 'daily_limit'})
|
||||
const [price, setPrice] = useState<string>('0.00')
|
||||
const [price, setPrice] = useState<string>('')
|
||||
|
||||
useEffect(() => {
|
||||
const price = async () => {
|
||||
@@ -36,7 +36,7 @@ export default function Right() {
|
||||
long: {
|
||||
live: Number(live),
|
||||
mode: Number(mode),
|
||||
quota: Number(mode) === 1 ? dailyLimit : quota,
|
||||
quota: Number(mode) === 1 ? Number(dailyLimit) : Number(quota),
|
||||
expire: Number(mode) === 1 ? Number(expire) : undefined,
|
||||
},
|
||||
}
|
||||
@@ -45,9 +45,6 @@ export default function Right() {
|
||||
if (priceValue.success && priceValue.data?.price) {
|
||||
setPrice(priceValue.data.price)
|
||||
}
|
||||
else {
|
||||
setPrice('0.00')
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error('获取价格失败:', error)
|
||||
|
||||
@@ -100,7 +100,14 @@ export default function Center() {
|
||||
type="number"
|
||||
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
||||
min={10000}
|
||||
step={5000}/>
|
||||
step={5000}
|
||||
onBlur={(e) => {
|
||||
const value = Number(e.target.value)
|
||||
if (value < 10000) {
|
||||
form.setValue('quota', 10000)
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
theme="outline"
|
||||
type="button"
|
||||
@@ -157,6 +164,12 @@ export default function Center() {
|
||||
className="w-40 h-10 border border-gray-200 rounded-sm text-center"
|
||||
min={2_000}
|
||||
step={1_000}
|
||||
onBlur={(e) => {
|
||||
const value = Number(e.target.value)
|
||||
if (value < 2_000) {
|
||||
form.setValue('daily_limit', 2_000)
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
theme="outline"
|
||||
|
||||
@@ -25,7 +25,8 @@ export default function Right() {
|
||||
const expire = useWatch({control, name: 'expire'})
|
||||
const quota = useWatch({control, name: 'quota'})
|
||||
const dailyLimit = useWatch({control, name: 'daily_limit'})
|
||||
const [price, setPrice] = useState<string>('0.00')
|
||||
const [price, setPrice] = useState<string>('')
|
||||
|
||||
useEffect(() => {
|
||||
const price = async () => {
|
||||
const params: CreateResourceReq = {
|
||||
@@ -33,7 +34,7 @@ export default function Right() {
|
||||
short: {
|
||||
live: Number(live),
|
||||
mode: Number(mode),
|
||||
quota: Number(mode) === 1 ? dailyLimit : quota,
|
||||
quota: Number(mode) === 1 ? Number(dailyLimit) : Number(quota),
|
||||
expire: Number(mode) === 1 ? Number(expire) : undefined,
|
||||
},
|
||||
}
|
||||
@@ -42,9 +43,6 @@ export default function Right() {
|
||||
if (priceResponse.success && priceResponse.data?.price) {
|
||||
setPrice(priceResponse.data.price)
|
||||
}
|
||||
else {
|
||||
setPrice('0.00')
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error('获取价格失败:', error)
|
||||
|
||||
@@ -7,7 +7,7 @@ export type WrapProps = {
|
||||
|
||||
export default function Wrap(props: WrapProps) {
|
||||
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}
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user