v3.5.4版本提交,修改api
CI / verify (pull_request) Waiting to run

This commit is contained in:
2026-08-21 16:22:53 +08:00
parent a01217539c
commit 62e61a9e63
21 changed files with 594 additions and 142 deletions
@@ -157,8 +157,7 @@ export default function ProductSpecsEditor({ productId, initialAttrs, initialSku
const payloadSkus = skus.map((s, i) => ({
id: s.id,
specValueIds: resolveIds(s.specValueIds ?? []),
skuCode: s.skuCode,
barcode69: s.barcode69,
barcode69: s.barcode69.trim(),
price: s.price,
benefitAmount: s.benefitAmount,
status: s.status,
@@ -171,8 +170,10 @@ export default function ProductSpecsEditor({ productId, initialAttrs, initialSku
sortOrder: i,
}));
for (const row of payloadSkus) {
if (!row.barcode69?.trim()) throw new Error('请填写全部 SKU 的 69 码');
const barcodes = payloadSkus.map((row) => row.barcode69);
if (barcodes.some((b) => !b)) throw new Error('每个规格须填写独立 69 码');
if (new Set(barcodes).size !== barcodes.length) {
throw new Error('同一商品内 69 码不可重复,每个规格请填写不同 69 码');
}
await request(`/admin/products/${productId}/skus`, {
@@ -191,7 +192,8 @@ export default function ProductSpecsEditor({ productId, initialAttrs, initialSku
return (
<div>
<Typography.Paragraph type="secondary">
SKU SKU/
SKU DK <strong></strong> 69
SKU
</Typography.Paragraph>
<Typography.Title level={5}></Typography.Title>
@@ -272,7 +274,7 @@ export default function ProductSpecsEditor({ productId, initialAttrs, initialSku
size="small"
rowKey={(_, i) => String(i)}
pagination={false}
scroll={{ x: 1100 }}
scroll={{ x: 1240 }}
dataSource={skus}
columns={[
{
@@ -281,10 +283,20 @@ export default function ProductSpecsEditor({ productId, initialAttrs, initialSku
render: (_, row) => row.specText || (row.specValueIds?.length ? row.specValueIds.join(',') : '默认'),
},
{
title: '69码',
width: 140,
title: 'SKU',
width: 110,
render: (_, row) => (
<Typography.Text type="secondary">
{row.skuCode || '保存后自动生成'}
</Typography.Text>
),
},
{
title: <span>69 <Typography.Text type="danger">*</Typography.Text></span>,
width: 180,
render: (_, row, index) => (
<Input
placeholder="本规格独立 69 码"
value={row.barcode69}
onChange={(e) => {
const next = [...skus];