添加网关列表页面 & 添加单价不能低于最低价格校验
This commit is contained in:
@@ -34,25 +34,38 @@ import {
|
||||
import type { ProductDiscount } from "@/models/product_discount"
|
||||
import type { SelectedProduct } from "./type"
|
||||
|
||||
const schema = z.object({
|
||||
code: z.string().min(1, "请输入套餐编码"),
|
||||
name: z.string().min(1, "请输入套餐名称"),
|
||||
price: z
|
||||
.string()
|
||||
.min(1, "请输入单价")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数单价",
|
||||
),
|
||||
discount_id: z.string().optional(),
|
||||
price_min: z
|
||||
.string()
|
||||
.min(1, "请输入最低价格")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数价格",
|
||||
),
|
||||
})
|
||||
const schema = z
|
||||
.object({
|
||||
code: z.string().min(1, "请输入套餐编码"),
|
||||
name: z.string().min(1, "请输入套餐名称"),
|
||||
price: z
|
||||
.string()
|
||||
.min(1, "请输入单价")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数单价",
|
||||
),
|
||||
discount_id: z.string().optional(),
|
||||
price_min: z
|
||||
.string()
|
||||
.min(1, "请输入最低价格")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数价格",
|
||||
),
|
||||
})
|
||||
.refine(
|
||||
data => {
|
||||
const price = Number(data.price)
|
||||
const priceMin = Number(data.price_min)
|
||||
if (isNaN(price) || isNaN(priceMin)) return true
|
||||
return price >= priceMin
|
||||
},
|
||||
{
|
||||
message: "单价不能低于最低价格",
|
||||
path: ["price"],
|
||||
},
|
||||
)
|
||||
|
||||
export function CreateProductSku(props: {
|
||||
product?: SelectedProduct
|
||||
|
||||
@@ -34,25 +34,38 @@ import {
|
||||
import type { ProductDiscount } from "@/models/product_discount"
|
||||
import type { ProductSku } from "@/models/product_sku"
|
||||
|
||||
const schema = z.object({
|
||||
code: z.string().min(1, "请输入套餐编码"),
|
||||
name: z.string().min(1, "请输入套餐名称"),
|
||||
price: z
|
||||
.string()
|
||||
.min(1, "请输入单价")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数单价",
|
||||
),
|
||||
discount_id: z.string().optional(),
|
||||
price_min: z
|
||||
.string()
|
||||
.min(1, "请输入最低价格")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数价格",
|
||||
),
|
||||
})
|
||||
const schema = z
|
||||
.object({
|
||||
code: z.string().min(1, "请输入套餐编码"),
|
||||
name: z.string().min(1, "请输入套餐名称"),
|
||||
price: z
|
||||
.string()
|
||||
.min(1, "请输入单价")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数单价",
|
||||
),
|
||||
discount_id: z.string().optional(),
|
||||
price_min: z
|
||||
.string()
|
||||
.min(1, "请输入最低价格")
|
||||
.refine(
|
||||
v => !Number.isNaN(Number(v)) && Number(v) > 0,
|
||||
"请输入有效的正数价格",
|
||||
),
|
||||
})
|
||||
.refine(
|
||||
data => {
|
||||
const price = Number(data.price)
|
||||
const priceMin = Number(data.price_min)
|
||||
if (isNaN(price) || isNaN(priceMin)) return true
|
||||
return price >= priceMin
|
||||
},
|
||||
{
|
||||
message: "单价不能低于最低价格",
|
||||
path: ["price"],
|
||||
},
|
||||
)
|
||||
|
||||
export function UpdateProductSku(props: {
|
||||
sku: ProductSku
|
||||
|
||||
Reference in New Issue
Block a user