update
This commit is contained in:
parent
1f17ff805d
commit
70a3b9e4ec
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ant-design-pro",
|
"name": "ant-design-pro",
|
||||||
"version": "4.5.92",
|
"version": "4.5.95",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "An out-of-box UI solution for enterprise applications",
|
"description": "An out-of-box UI solution for enterprise applications",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -2,8 +2,9 @@ import { connect } from "umi";
|
|||||||
import type { ConnectState } from "@/models/connect";
|
import type { ConnectState } from "@/models/connect";
|
||||||
import { useImperativeHandle, useState } from "react";
|
import { useImperativeHandle, useState } from "react";
|
||||||
import ProTable from '@ant-design/pro-table';
|
import ProTable from '@ant-design/pro-table';
|
||||||
import { Button, Input, InputNumber, TreeSelect } from 'antd';
|
import { Button, Input, InputNumber, Select, TreeSelect } from 'antd';
|
||||||
import type { ProColumns } from '@ant-design/pro-table';
|
import type { ProColumns } from '@ant-design/pro-table';
|
||||||
|
import session from "@/utils/session";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -24,7 +25,18 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
// 判断用户是否点击了 添加套餐商品的按钮
|
// 判断用户是否点击了 添加套餐商品的按钮
|
||||||
const [isClickAdd, setIsClickAdd] = useState<boolean>(comboCommodityDetail && comboCommodityDetail.length > 0 ? true : false);
|
const [isClickAdd, setIsClickAdd] = useState<boolean>(comboCommodityDetail && comboCommodityDetail.length > 0 ? true : false);
|
||||||
// 表格数据
|
// 表格数据
|
||||||
const [tableData, setTableData] = useState<any>(comboCommodityDetail && comboCommodityDetail.length > 0 ? comboCommodityDetail : []);
|
const [tableData, setTableData] = useState<any>(comboCommodityDetail && comboCommodityDetail.length > 0 ? [
|
||||||
|
...comboCommodityDetail,
|
||||||
|
{
|
||||||
|
id: "addRow",
|
||||||
|
}
|
||||||
|
] : [
|
||||||
|
{
|
||||||
|
id: "addRow",
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
const DUTYPARAGRAPHList = session.get('DUTYPARAGRAPHList')
|
||||||
|
|
||||||
// 表格列定义
|
// 表格列定义
|
||||||
const columns: any = [
|
const columns: any = [
|
||||||
@ -33,14 +45,44 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
width: 250,
|
width: 250,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_NAME',
|
dataIndex: 'COMMODITY_NAME',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<Input
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: <div onClick={() => {
|
||||||
|
const newData = {
|
||||||
|
id: Date.now(),
|
||||||
|
};
|
||||||
|
if (tableData && tableData.length > 0) {
|
||||||
|
let oldList: any = JSON.parse(JSON.stringify(tableData))
|
||||||
|
let newList: any = []
|
||||||
|
let addRowObj: any = []
|
||||||
|
oldList.forEach((item: any) => {
|
||||||
|
if (item.id === 'addRow') {
|
||||||
|
addRowObj = item
|
||||||
|
} else {
|
||||||
|
newList.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
newList = [...newList, newData]
|
||||||
|
newList.push(addRowObj)
|
||||||
|
setTableData(newList)
|
||||||
|
}
|
||||||
|
}} style={{
|
||||||
|
width: '100%', fontSize: '14px', textAlign: 'center', boxSizing: 'border-box', lineHeight: '14px', cursor: 'pointer',
|
||||||
|
border: '1px dashed #d9d9d9', padding: '8px 0'
|
||||||
|
}}>+ 新增一行</div>,
|
||||||
|
props: {
|
||||||
|
colSpan: 10, // 合并所有列(包括操作列)
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <Input
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_NAME}
|
defaultValue={record.COMMODITY_NAME}
|
||||||
placeholder="请输入商品名称"
|
placeholder="请输入商品名称"
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_NAME: e.target.value };
|
return { ...item, COMMODITY_NAME: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
@ -48,21 +90,30 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '条码',
|
title: '条码',
|
||||||
width: 150,
|
width: 150,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_BARCODE',
|
dataIndex: 'COMMODITY_BARCODE',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<Input
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <Input
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_BARCODE}
|
defaultValue={record.COMMODITY_BARCODE}
|
||||||
placeholder="请输入商品条码"
|
placeholder="请输入商品条码"
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
|
console.log('tableDatatableDatatableData', tableData);
|
||||||
|
console.log('recordrecordrecordrecord', record);
|
||||||
|
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_BARCODE: e.target.value };
|
return { ...item, COMMODITY_BARCODE: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
@ -70,7 +121,7 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: <div style={{ textAlign: 'center' }}>分类</div>,
|
// title: <div style={{ textAlign: 'center' }}>分类</div>,
|
||||||
@ -111,14 +162,20 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_UNIT',
|
dataIndex: 'COMMODITY_UNIT',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<Input
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <Input
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_UNIT}
|
defaultValue={record.COMMODITY_UNIT}
|
||||||
placeholder="请输入商品单位"
|
placeholder="请输入商品单位"
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_UNIT: e.target.value };
|
return { ...item, COMMODITY_UNIT: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
@ -126,21 +183,27 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '规格',
|
title: '规格',
|
||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_RULE',
|
dataIndex: 'COMMODITY_RULE',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<Input
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <Input
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_RULE}
|
defaultValue={record.COMMODITY_RULE}
|
||||||
placeholder="请输入商品规格"
|
placeholder="请输入商品规格"
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_RULE: e.target.value };
|
return { ...item, COMMODITY_RULE: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
@ -148,73 +211,91 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '市场价',
|
title: '市场价',
|
||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_RETAILPRICE',
|
dataIndex: 'COMMODITY_RETAILPRICE',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<InputNumber
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <InputNumber
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_RETAILPRICE}
|
defaultValue={record.COMMODITY_RETAILPRICE}
|
||||||
placeholder="请输入市场价"
|
placeholder="请输入市场价"
|
||||||
onChange={(value) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_RETAILPRICE: value as number };
|
return { ...item, COMMODITY_RETAILPRICE: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '零售价格',
|
title: '零售价格',
|
||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_MEMBERPRICE',
|
dataIndex: 'COMMODITY_MEMBERPRICE',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<InputNumber
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <InputNumber
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_MEMBERPRICE}
|
defaultValue={record.COMMODITY_MEMBERPRICE}
|
||||||
placeholder="请输入零售价格"
|
placeholder="请输入零售价格"
|
||||||
onChange={(value) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_MEMBERPRICE: value as number };
|
return { ...item, COMMODITY_MEMBERPRICE: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '商品成本',
|
title: '商品成本',
|
||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'COMMODITY_PURCHASEPRICE',
|
dataIndex: 'COMMODITY_PURCHASEPRICE',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<InputNumber
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <InputNumber
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.COMMODITY_PURCHASEPRICE}
|
defaultValue={record.COMMODITY_PURCHASEPRICE}
|
||||||
placeholder="请输入商品成本"
|
placeholder="请输入商品成本"
|
||||||
onChange={(value) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, COMMODITY_PURCHASEPRICE: value as number };
|
return { ...item, COMMODITY_PURCHASEPRICE: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -222,36 +303,65 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'DUTY_PARAGRAPH',
|
dataIndex: 'DUTY_PARAGRAPH',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<InputNumber
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <Select
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.DUTY_PARAGRAPH}
|
defaultValue={record.DUTY_PARAGRAPH}
|
||||||
|
options={DUTYPARAGRAPHList}
|
||||||
placeholder="请输入商品税率"
|
placeholder="请输入商品税率"
|
||||||
onChange={(value) => {
|
onChange={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, DUTY_PARAGRAPH: value as number };
|
return { ...item, DUTY_PARAGRAPH: e };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
>
|
||||||
),
|
</Select>
|
||||||
|
|
||||||
|
// <InputNumber
|
||||||
|
// style={{ width: '100%' }}
|
||||||
|
// defaultValue={record.DUTY_PARAGRAPH}
|
||||||
|
// placeholder="请输入商品税率"
|
||||||
|
// onBlur={(e) => {
|
||||||
|
// const newData = tableData.map((item: any) => {
|
||||||
|
// if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
|
// return { ...item, DUTY_PARAGRAPH: e.target.value };
|
||||||
|
// }
|
||||||
|
// return item;
|
||||||
|
// });
|
||||||
|
// setTableData(newData);
|
||||||
|
// }}
|
||||||
|
// />
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '税务代码',
|
title: '税务代码',
|
||||||
width: 120,
|
width: 120,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'TAX_CODE',
|
dataIndex: 'TAX_CODE',
|
||||||
render: (_, record: any) => (
|
render: (_, record: any) => {
|
||||||
<Input
|
if (record?.id === "addRow") {
|
||||||
|
return {
|
||||||
|
children: '',
|
||||||
|
props: { colSpan: 0 },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return <Input
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
value={record.TAX_CODE}
|
defaultValue={record.TAX_CODE}
|
||||||
placeholder="请输入商品税务代码"
|
placeholder="请输入商品税务代码"
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
const newData = tableData.map((item: any) => {
|
const newData = tableData.map((item: any) => {
|
||||||
if (item.id === record.id) {
|
if ((item.id && record.id && item.id === record.id) || item.COMMODITY_BARCODE === record.COMMODITY_BARCODE) {
|
||||||
return { ...item, TAX_CODE: e.target.value };
|
return { ...item, TAX_CODE: e.target.value };
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
@ -259,30 +369,43 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
setTableData(newData);
|
setTableData(newData);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
valueType: 'option',
|
valueType: 'option',
|
||||||
width: 60,
|
width: 60,
|
||||||
render: (_, record: any) => [
|
render: (_, record: any) => {
|
||||||
<a
|
if (record?.id === "addRow") {
|
||||||
key="delete"
|
return {
|
||||||
onClick={() => {
|
children: '',
|
||||||
const newData = tableData.filter((item: any) => item.id !== record.id);
|
props: { colSpan: 0 },
|
||||||
setTableData(newData);
|
};
|
||||||
}}
|
}
|
||||||
>
|
return [
|
||||||
删除
|
<a
|
||||||
</a>,
|
key="delete"
|
||||||
],
|
onClick={() => {
|
||||||
|
console.log('tableDatatableDatatableData', tableData);
|
||||||
|
const newData = tableData.filter((item: any) => item.COMMODITY_BARCODE !== record.COMMODITY_BARCODE && item.id !== 'addRow');
|
||||||
|
console.log('newDatanewDatanewData', newData);
|
||||||
|
setTableData([...newData, {
|
||||||
|
id: "addRow",
|
||||||
|
}]);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</a>,
|
||||||
|
];
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
// 暴露表格数据
|
// 暴露表格数据
|
||||||
useImperativeHandle(onRef, () => ({
|
useImperativeHandle(onRef, () => ({
|
||||||
tableData
|
tableData,
|
||||||
|
setIsClickAdd
|
||||||
}));
|
}));
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
@ -290,8 +413,11 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
isClickAdd ?
|
isClickAdd ?
|
||||||
<div>
|
<div>
|
||||||
<ProTable
|
<ProTable
|
||||||
rowKey="id"
|
// rowKey="id"
|
||||||
headerTitle="套餐商品"
|
rowKey={(record) => {
|
||||||
|
return `${record?.id}-${record?.COMMODITY_BARCODE}`
|
||||||
|
}}
|
||||||
|
headerTitle={<div><span>套餐商品</span><span style={{ color: 'red', marginLeft: '8px', fontSize: '14px' }}>*商品名称、商品条码、商品单位、商品规格、零售价格、商品成本、税率、税务代码需必填</span></div>}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
dataSource={tableData}
|
dataSource={tableData}
|
||||||
pagination={false}
|
pagination={false}
|
||||||
@ -299,31 +425,31 @@ const SelectSetMealItems = ({ leftTreeData, onRef, comboCommodityDetail }: Detai
|
|||||||
options={false}
|
options={false}
|
||||||
bordered
|
bordered
|
||||||
toolBarRender={() => [
|
toolBarRender={() => [
|
||||||
<Button
|
// <Button
|
||||||
key="add"
|
// key="add"
|
||||||
type={'primary'}
|
// type={'primary'}
|
||||||
onClick={() => {
|
// onClick={() => {
|
||||||
const newData = {
|
// const newData = {
|
||||||
id: Date.now(),
|
// id: Date.now(),
|
||||||
};
|
// };
|
||||||
setTableData([...tableData, newData]);
|
// setTableData([...tableData, newData]);
|
||||||
}}
|
// }}
|
||||||
>
|
// >
|
||||||
添加一行
|
// 添加一行
|
||||||
</Button>,
|
// </Button>,
|
||||||
<Button onClick={() => {
|
// <Button onClick={() => {
|
||||||
setIsClickAdd(false)
|
// setIsClickAdd(false)
|
||||||
}}>
|
// }}>
|
||||||
取消
|
// 取消
|
||||||
</Button>
|
// </Button>
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div> :
|
</div> : ''
|
||||||
<div style={{ width: '100%', display: 'flex', alignItems: 'center', justifyContent: 'flex-end' }}>
|
// <div style={{ width: '100%', display: 'flex', alignItems: 'center', justifyContent: 'flex-end' }}>
|
||||||
<Button type={'primary'} onClick={() => {
|
// <Button type={'primary'} onClick={() => {
|
||||||
setIsClickAdd(true)
|
// setIsClickAdd(true)
|
||||||
}}>添加套餐商品</Button>
|
// }}>添加套餐商品</Button>
|
||||||
</div>
|
// </div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@ -741,10 +741,11 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleAddUpdate = async (res: any, type?: string) => {
|
const handleAddUpdate = async (res: any, type?: string) => {
|
||||||
console.log('setSelectSetMealItemsRef', setSelectSetMealItemsRef.current)
|
|
||||||
console.log('resresresresresresresres', res)
|
|
||||||
let itemList = setSelectSetMealItemsRef.current.tableData
|
let itemList = setSelectSetMealItemsRef.current.tableData
|
||||||
if (itemList && itemList.length > 0) {
|
if (itemList && itemList.length > 0) {
|
||||||
|
itemList = itemList.filter((item: any) => item.id !== 'addRow')
|
||||||
|
// 判断条码 是否都填了
|
||||||
|
let isCodeAllOK: boolean = true
|
||||||
itemList.forEach((item: any) => {
|
itemList.forEach((item: any) => {
|
||||||
// item.USERDEFINEDTYPE_ID = item.USERDEFINEDTYPE_ID && item.USERDEFINEDTYPE_ID.length > 0 ? item.USERDEFINEDTYPE_ID.toString() : item.USERDEFINEDTYPE_ID
|
// item.USERDEFINEDTYPE_ID = item.USERDEFINEDTYPE_ID && item.USERDEFINEDTYPE_ID.length > 0 ? item.USERDEFINEDTYPE_ID.toString() : item.USERDEFINEDTYPE_ID
|
||||||
item.COMMODITY_TYPE = 4000
|
item.COMMODITY_TYPE = 4000
|
||||||
@ -753,9 +754,17 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
item.COMMODITY_STATE = 1
|
item.COMMODITY_STATE = 1
|
||||||
item.OWNERUNIT_ID = currentUser?.OwnerUnitId
|
item.OWNERUNIT_ID = currentUser?.OwnerUnitId
|
||||||
item.OWNERUNIT_NAME = currentUser?.OwnerUnitName
|
item.OWNERUNIT_NAME = currentUser?.OwnerUnitName
|
||||||
|
if (!item.COMMODITY_NAME || !item.COMMODITY_BARCODE || !item.COMMODITY_UNIT || !item.COMMODITY_RULE ||
|
||||||
|
!item.COMMODITY_MEMBERPRICE || !item.COMMODITY_PURCHASEPRICE || !item.DUTY_PARAGRAPH || !item.TAX_CODE) {
|
||||||
|
isCodeAllOK = false
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
if (!isCodeAllOK) {
|
||||||
|
message.error('请填写完整的套餐内单品信息!');
|
||||||
|
handleConfirmLoading(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let req: any = {}
|
let req: any = {}
|
||||||
if (currentRow?.USERDEFINEDTYPE_ID && type !== 'saveAs') {
|
if (currentRow?.USERDEFINEDTYPE_ID && type !== 'saveAs') {
|
||||||
req = {
|
req = {
|
||||||
@ -889,9 +898,11 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
handleConfirmLoading(false)
|
handleConfirmLoading(false)
|
||||||
|
handleModalVisible(false);
|
||||||
} else {
|
} else {
|
||||||
message.error(data.Result_Desc)
|
message.error(data.Result_Desc)
|
||||||
handleConfirmLoading(false)
|
handleConfirmLoading(false)
|
||||||
|
handleModalVisible(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1296,6 +1307,10 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
}}
|
}}
|
||||||
footer={<div style={{ width: '100%', display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
|
footer={<div style={{ width: '100%', display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
|
||||||
<div style={{ display: 'flex', alignItems: 'center' }}>
|
<div style={{ display: 'flex', alignItems: 'center' }}>
|
||||||
|
<Button type={'primary'} onClick={() => {
|
||||||
|
// setIsClickAdd(true)
|
||||||
|
setSelectSetMealItemsRef.current?.setIsClickAdd(true)
|
||||||
|
}}>添加套餐商品</Button>
|
||||||
<Button type={"primary"} style={{ marginRight: '8px' }} onClick={async () => {
|
<Button type={"primary"} style={{ marginRight: '8px' }} onClick={async () => {
|
||||||
const data = await formRef.current?.getFieldValue('relevanceCoupon')
|
const data = await formRef.current?.getFieldValue('relevanceCoupon')
|
||||||
setSelectRelevanceId(data && data.length > 0 && data[0] ? data : [])
|
setSelectRelevanceId(data && data.length > 0 && data[0] ? data : [])
|
||||||
@ -1525,7 +1540,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
// 如果有开关,要把开关的代码写进去
|
// 如果有开关,要把开关的代码写进去
|
||||||
await handleAddUpdate(newValue);
|
await handleAddUpdate(newValue);
|
||||||
|
|
||||||
handleModalVisible(false);
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Row gutter={8}>
|
<Row gutter={8}>
|
||||||
@ -1839,6 +1854,12 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
label="兑换积分"
|
label="兑换积分"
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
|
{/* 若是一个套餐商品 那么这里就要有一个录入套餐商品的地方 */}
|
||||||
|
<Col span={24}>
|
||||||
|
<SelectSetMealItems onRef={setSelectSetMealItemsRef} leftTreeData={leftTreeData} comboCommodityDetail={comboCommodityDetail} />
|
||||||
|
</Col>
|
||||||
|
|
||||||
<Divider orientation="left">配送信息</Divider>
|
<Divider orientation="left">配送信息</Divider>
|
||||||
<Col span={6}>
|
<Col span={6}>
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
@ -1859,7 +1880,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
label="发货天数"
|
label="发货天数"
|
||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
<Col span={6}>
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name="AFTERSALE_NATRUE"
|
name="AFTERSALE_NATRUE"
|
||||||
label="售后模式"
|
label="售后模式"
|
||||||
@ -2152,10 +2173,7 @@ const COMMODITYTable: React.FC<{ currentUser: CurrentUser | undefined }> = (prop
|
|||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
||||||
{/* 若是一个套餐商品 那么这里就要有一个录入套餐商品的地方 */}
|
|
||||||
<Col span={24}>
|
|
||||||
<SelectSetMealItems onRef={setSelectSetMealItemsRef} leftTreeData={leftTreeData} comboCommodityDetail={comboCommodityDetail} />
|
|
||||||
</Col>
|
|
||||||
</Row>
|
</Row>
|
||||||
</ProForm>
|
</ProForm>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// 由 scripts/writeVersion.js 自动生成
|
// 由 scripts/writeVersion.js 自动生成
|
||||||
export const VERSION = "4.5.92";
|
export const VERSION = "4.5.95";
|
||||||
export const GIT_HASH = "ee6fa92";
|
export const GIT_HASH = "1f17ff8";
|
||||||
export const BUILD_TIME = "2025-12-19T01:04:57.460Z";
|
export const BUILD_TIME = "2025-12-22T03:06:07.263Z";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user