Commit 36782629 authored by 陈万宝's avatar 陈万宝

feat: 更新商品添加

parent 4ff4d225
......@@ -77,6 +77,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
const [intactData, setIntactData] = useState({});
const [repertoryState, setRepertoryState] = useState('');
const [repertoryModel, setRepertoryModel] = useState({});
const [tempMultiSpu,setTempMultiSpu] = useState([]);
const initialDealValue = [
{
specGroupName: '',
......@@ -125,8 +126,8 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
} = takeawayItem;
const singularSpecList = [{ specGroupName: '份量', generateSku: 1, specs: [] }]; // 单规格
const multiSpecList = [{ specGroupName: '份量', generateSku: 1, specs: [] }]; // 多规格
const multiSpu = []; // 单库存spu
let singularSpu = []; // 库存spu
const multiSpu = []; // 多库存spu、
let singularSpu = []; // 库存spu
const saleTimesTemp = [];
let initIndex = 0;
if (saleTimes.length) {
......@@ -172,21 +173,28 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
// 多规格
if (+repertoryType === 2) {
if (name) {
console.log('weight', weight);
if (weight.length) {
weight.forEach((item, weightIndex) => {
console.log('eee====', item);
if (item?.unit && item.unit.length) {
item.unit = item.unit.slice(item.unit.length - 1).toString();
}
if (item && !item.specGroupName) {
item.specGroupName = '份量';
}
if (item && !item.generateSku) {
item.generateSku = 1;
}
multiSpecList[0].specs = weight; // 处理specList
// 循环一次 插入规则列表
let isFirstLoops = true;
if (specs.length) {
specs.forEach((specsItem, specsIndex) => {
if (specsItem && !specsItem.generateSku) {
specsItem.generateSku = 1;
}
if (isFirstLoops && multiSpecList.length < specs.length + 1) {
multiSpecList.push(specsItem); // 处理specList
}
......@@ -194,8 +202,9 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
specsItem.specs.forEach((itm, idx) => {
const params = {
initIndex,
unique: `${item.specName}-${specsItem.specGroupName}-${specsItem.specs[idx].specName}`,
...JSON.parse(JSON.stringify(temp)),
...intactData?.items[initIndex],
// ...intactData?.items[initIndex],
specs: [
{ ...item },
{ ...specsItem.specs[idx], specGroupName: specsItem.specGroupName },
......@@ -208,8 +217,9 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
} else {
const params = {
initIndex,
unique: `${item.specName}-${specsItem.specGroupName}-${specsItem.specs[0].specName}`,
...JSON.parse(JSON.stringify(temp)),
...intactData?.items[initIndex],
// ...intactData?.items[initIndex],
specs: [
{ ...item },
{ ...specsItem.specs[0], specGroupName: specsItem.specGroupName },
......@@ -223,8 +233,9 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
} else {
const params = {
initIndex,
unique: `${item?.specName}`,
...JSON.parse(JSON.stringify(temp)),
...intactData?.items[initIndex],
// ...intactData?.items[initIndex],
specs: [{ ...item }],
};
multiSpu.push(params); // 处理spu
......@@ -233,9 +244,25 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
});
}
}
console.log('multiSpu', multiSpu);
// console.log('multiSpu', multiSpu);
console.log("multiSpu===1111",multiSpu);
if(tempMultiSpu.length){
multiSpu.forEach((item,index)=>{
tempMultiSpu.forEach((itm,idx)=>{
if(item.unique === itm.unique ){
item.serviceItem = itm.serviceItem
}
})
})
}
// debugger
console.log("multiSpu===2222",multiSpu);
setMultiSpu(multiSpu);
}
// debugger
// +repertoryType === 1 单规格 2多规格
const intactDataTemp = {
type: 5, // 外卖类型
......@@ -250,11 +277,11 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
categoryId: (
infoMation?.categoryId && infoMation?.categoryId.slice(infoMation.categoryId.length - 1)
).toString(),
storageRackIds: [1633015955205664770],
// storageRackIds:infoMation?.storageRackIds ? infoMation?.storageRackIds:[],
};
console.log('intactData======>', intactData);
setIntactData(intactDataTemp);
return false;
return intactData;
};
const onChange = () => {};
......@@ -275,14 +302,28 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
const modifiedInventory = (type, idx, values) => {
const { productStock, maxStock, autoStock } = values;
if (type === 'multi') {
if (intactData?.items.length) {
intactData.items[+idx].serviceItem.productStock = productStock;
intactData.items[+idx].serviceItem.autoStock = autoStock;
intactData.items[+idx].serviceItem.maxStock = maxStock;
console.log('index===2222', +idx, intactData);
const temp = { ...intactData };
setIntactData(temp);
multiSpu.map(item => {
if (item.unique === idx) {
item.serviceItem.productStock = productStock;
item.serviceItem.autoStock = autoStock;
item.serviceItem.maxStock = maxStock;
}
return item;
});
let temp = JSON.parse(JSON.stringify(multiSpu))
tempMultiSpu.push(...temp)
setTempMultiSpu(tempMultiSpu)
setMultiSpu(temp);
console.log('33333========>', multiSpu,tempMultiSpu);
// if (intactData?.items.length) {
// intactData.items[+idx].serviceItem.productStock = productStock;
// intactData.items[+idx].serviceItem.autoStock = autoStock;
// intactData.items[+idx].serviceItem.maxStock = maxStock;
// console.log('index===2222', +idx, intactData);
// const temp = { ...intactData };
// setIntactData(temp);
// }
}
if (type === 'all') {
if (intactData?.items.length) {
......@@ -1010,25 +1051,31 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
</Button>
<div className={styles.rowWarp}>
{multiSpu.length > 0 &&
intactData?.name &&
intactData?.items?.map((item, idx) => (
multiSpu?.map((item, idx) => (
<>
{item.unique && (
<>
<div key={idx} className={styles.specsBetween}>
<Form.Item label={calcLabelName(intactData, item)}>
<div className={styles.specsBetween}>
<span className={styles.repertoryLimit}>
{item?.serviceItem?.productStock}/{item?.serviceItem?.maxStock}
{item?.serviceItem?.productStock}/
{item?.serviceItem?.maxStock}
</span>
<div
className={styles.specRepertory}
onClick={() => {
showAddRepertoryModal('multi', `${idx}`, item); // 多个库存
showAddRepertoryModal('multi', `${item.unique}`, item); // 多个库存
}}
>
设置库存{idx}
设置库存{item.unique}
</div>
</div>
</Form.Item>
</div>
</>
)}
</>
))}
</div>
</Form.Item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment