Commit 82e82977 authored by baxibaba's avatar baxibaba

feat: 修改库存

parent b6e89ae0
/* eslint-disable prefer-const */
/* eslint-disable react/no-array-index-key */
/* eslint-disable no-shadow */
import React, {
......@@ -24,6 +25,7 @@ import {
Cascader,
Divider,
DatePicker,
message,
} from 'antd';
import moment from 'moment';
import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
......@@ -261,7 +263,6 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
itm?.unit &&
(Array.isArray(itm?.unit) ? itm?.unit.slice(itm?.unit.length - 1)[0] : itm?.unit);
}
console.log(' itm.unit', itm.unit);
if (itm?.unit && peopleUnits.includes(itm.unit)) {
delete itm.quantity;
}
......@@ -271,10 +272,18 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
})
.toString();
});
// 编辑数据
if (customer.isEdit) {
const uniqueArr = tempMultiSpu.map(item => item.unique);
const multiSpuUnique = multiSpu.map(item => item.unique);
console.log('uniqueArr', uniqueArr);
console.log('multiSpuUnique', multiSpuUnique);
const newArrLen = Array.from(new Set(multiSpuUnique)).length;
if (newArrLen < multiSpuUnique.length) {
message.error('份量名称不能重复!');
return;
}
// 新增对比数据
multiSpu.forEach((item, index) => {
if (!uniqueArr.includes(item.unique)) {
......@@ -285,6 +294,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
});
}
});
// // 删除对比数据
// tempMultiSpu.forEach((item, index) => {
// console.log('33333', index);
......@@ -294,7 +304,6 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
// }
// }
// });
while (multiSpu.length !== tempMultiSpu.length) {
tempMultiSpu.forEach((item, index) => {
if (!multiSpuUnique.includes(item.unique)) {
......@@ -302,11 +311,12 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
}
});
}
// 库存设置
// 同步库存设置
multiSpu.map(item => {
tempMultiSpu.forEach(itm => {
if (item.unique === itm.unique) {
item.serviceItem = { ...item.serviceItem, ...itm.serviceItem };
itm.specs = [...item.specs];
}
});
return item;
......@@ -315,8 +325,8 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
setTempMultiSpu(tempMultiSpu);
setMultiSpu(JSON.parse(JSON.stringify(multiSpu)));
console.log('tempMultiSpu', tempMultiSpu);
console.log('multiSpu', multiSpu);
// console.log('tempMultiSpu', tempMultiSpu);
// console.log('multiSpu', multiSpu);
}
// 新增
if (!customer.isEdit) {
......@@ -330,11 +340,10 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
setMultiSpu(multiSpu);
}
// console.log('multiSpu', multiSpu);
// console.log('tempMultiSpu', tempMultiSpu);
// console.log('multiSpuData', multiSpuData);
console.log('multiSpu', multiSpu);
console.log('tempMultiSpu222', tempMultiSpu);
// setTempMultiSpu(JSON.parse(JSON.stringify(tempMultiSpu)))
// setTempMultiSpu(JSON.parse(JSON.stringify(tempMultiSpu)));
// setMultiSpu(JSON.parse(JSON.stringify(tempMultiSpu)));
// }
}
......@@ -376,7 +385,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
// : localStorage.get(localAutoSaveKey) || {};
setTakeawayData(takeawayData);
takeawayCalc(takeawayData);
const multiSpuUnique = multiSpu.map(item => item.unique);
// const multiSpuUnique = multiSpu.map(item => item.unique);
// 删除对比数据
// if (multiSpu.length !== tempMultiSpu.length) {
......@@ -386,18 +395,18 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
// }
// });
// }
while (multiSpu.length !== tempMultiSpu.length) {
tempMultiSpu.forEach((item, index) => {
if (!multiSpuUnique.includes(item.unique)) {
tempMultiSpu.splice(index, 1);
}
});
}
// while (multiSpu.length !== tempMultiSpu.length) {
// tempMultiSpu.forEach((item, index) => {
// if (!multiSpuUnique.includes(item.unique)) {
// tempMultiSpu.splice(index, 1);
// }
// });
// }
console.log(multiSpuUnique, 'multiSpuUnique');
console.log(tempMultiSpu, 'tempMultiSpu');
console.log(multiSpu, 'multiSpu');
setTempMultiSpu(JSON.parse(JSON.stringify(tempMultiSpu)));
// console.log(multiSpuUnique, 'multiSpuUnique');
// console.log(tempMultiSpu, 'tempMultiSpu');
// console.log(multiSpu, 'multiSpu');
// setTempMultiSpu(JSON.parse(JSON.stringify(tempMultiSpu)));
}, 400);
// 设置库存
const modifiedInventory = (type, idx, values) => {
......@@ -534,7 +543,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
setRepertoryModel({ type, idx, item });
};
// 拼接sku 名称
const calcLabelName = (intactData, item) => {
const calcLabelName = item => {
let firstName = '';
let lastName = '';
const tempName = `${editData?.name || ''}`;
......@@ -596,7 +605,8 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
weight.forEach(item => {
if (item?.specs?.length) {
item.specs.forEach(itm => {
if (tempWeightName.includes(itm.unit)) {
console.log('itm?.unit11111', itm?.unit);
if (itm?.unit && tempWeightName.includes(itm?.unit)) {
itm.quantity =
itm?.quantity.indexOf('约') > -1 ? itm?.quantity.slice(1) : itm?.quantity || '';
}
......@@ -637,7 +647,9 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
weight.forEach(item => {
if (item?.specs?.length) {
item.specs.forEach(itm => {
if (tempWeightName.includes(itm.unit)) {
console.log('itm?.unit112222', itm?.unit);
if (itm?.unit && tempWeightName.includes(itm?.unit)) {
itm.quantity =
itm?.quantity?.indexOf('约') > -1
? itm?.quantity.slice(1)
......@@ -686,6 +698,9 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
useEffect(() => {
getFormValues();
}, [repertoryType]);
useEffect(() => {
setTempMultiSpu(tempMultiSpu);
}, [tempMultiSpu]);
return (
<>
<Form
......@@ -1012,7 +1027,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
singularSpu[0]?.specs[0]?.unit &&
singularSpu.map((item, index) => (
<div className={styles.specsSingularBetween}>
<Form.Item label={calcLabelName(intactData, item, 'singular')}>
<Form.Item label={calcLabelName(item, 'singular')}>
<div className={styles.specsSingularBetween}>
<span className={styles.repertoryLimit}>
{item?.specs[0]?.productStock}/{item?.specs[0]?.maxStock}
......@@ -1320,7 +1335,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
<div key={idx} className={styles.specsBetween}>
<Form.Item>
<div className={styles.specsBetween}>
<div>{calcLabelName(intactData, item)} :</div>
<div>{calcLabelName(item)} :</div>
<span className={styles.repertoryLimit}>
{item?.serviceItem?.productStock}/
{item?.serviceItem?.maxStock}
......@@ -1331,7 +1346,7 @@ const TakeawayGoodsInfo = forwardRef((props, ref) => {
showAddRepertoryModal('multi', `${item.unique}`, item); // 多个库存
}}
>
去设置{item.id}
去设置
</div>
</div>
</Form.Item>
......
......@@ -114,12 +114,12 @@ export const filterSendData = (type, params) => {
// 外卖商品
if (type === 5) {
const temp = Object.assign({}, takeawayItem?.intactData, infoMation);
const deepTemp = JSON.parse(JSON.stringify(temp))
const deepTemp = JSON.parse(JSON.stringify(temp));
deepTemp.categoryId =
Array.isArray(deepTemp.categoryId) &&
deepTemp.categoryId?.slice(deepTemp.categoryId?.length - 1)?.toString();
deepTemp.productRefShopId = deepTemp.productRefShopId.toString();
deepTemp.productRefShopId = deepTemp.productRefShopId.toString();
const tempWeightName = JSON.parse(sessionStorage.getItem('weightUnits'));
deepTemp.items.forEach(item => {
item.autoStock = item.autoStock ? 1 : 0;
......@@ -127,8 +127,8 @@ export const filterSendData = (type, params) => {
item.productStock = item?.serviceItem?.productStock;
item.list = deepTemp.list;
if (item?.specs?.length) {
item?.specs.forEach(itm => {
if (tempWeightName.includes(itm.unit)) {
item.specs.forEach(itm => {
if (itm?.unit && tempWeightName.includes(itm?.unit)) {
itm.quantity =
`${itm?.quantity}`.indexOf('约') > -1 ? itm?.quantity : `${itm?.quantity}`;
}
......@@ -136,15 +136,17 @@ export const filterSendData = (type, params) => {
}
});
deepTemp.specList &&
deepTemp.specList.forEach(item => {
deepTemp.specList.forEach(item => {
if (item?.specs?.length) {
item?.specs.forEach(itm => {
itm.unit =
(Array.isArray(itm.unit) &&
itm.unit?.length >= 2 &&
itm.unit?.splice(itm.unit?.length - 1)[0]) ||
itm.unit;
if (tempWeightName.includes(itm.unit)) {
item.specs.forEach(itm => {
if (itm?.unit) {
itm.unit =
(Array.isArray(itm?.unit) &&
itm?.unit?.length >= 2 &&
itm?.unit?.splice(itm?.unit?.length - 1)[0]) ||
itm?.unit;
}
if (itm?.unit && tempWeightName.includes(itm?.unit)) {
itm.quantity =
`${itm?.quantity}`.indexOf('约') > -1 ? itm?.quantity : `${itm?.quantity}`;
}
......
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