Commit 3af19a6d authored by 武广's avatar 武广

feat: 添加使用缓存变量

parent 6c9ab49e
import React from 'react'; import React, { memo } from 'react';
import { Select, Form, InputNumber, Input, Button, Popover } from 'antd'; import { Select, Form, InputNumber, Input, Button, Popover } from 'antd';
import commonStyle from '../common.less'; import commonStyle from '../common.less';
...@@ -15,11 +15,11 @@ export const WrapperContainer = props => ( ...@@ -15,11 +15,11 @@ export const WrapperContainer = props => (
* @param props * @param props
*/ */
export const Title = props => ( export const Title = memo(props => (
<div className={commonStyle.title}> <div className={commonStyle.title}>
<h3>{props.title}</h3> <h3>{props.title}</h3>
</div> </div>
); ));
export const SelectTemplate = props => { export const SelectTemplate = props => {
const { const {
......
...@@ -173,6 +173,7 @@ const EditFormTable = forwardRef((props, ref) => { ...@@ -173,6 +173,7 @@ const EditFormTable = forwardRef((props, ref) => {
return rowProps; return rowProps;
}, },
})); }));
// console.log('columns :>> ', columns);
return ( return (
<> <>
...@@ -184,6 +185,7 @@ const EditFormTable = forwardRef((props, ref) => { ...@@ -184,6 +185,7 @@ const EditFormTable = forwardRef((props, ref) => {
pagination={false} pagination={false}
size="small" size="small"
bordered bordered
rowKey={(record, i) => i}
dataSource={dataSource} dataSource={dataSource}
columns={columns} columns={columns}
/> />
......
...@@ -7,7 +7,11 @@ import React, { ...@@ -7,7 +7,11 @@ import React, {
useRef, useRef,
useEffect, useEffect,
useContext, useContext,
useMemo,
useCallback,
memo,
} from 'react'; } from 'react';
// import { unstable_batchedUpdates } from 'react-dom';
import { formItemLayout, StaticColumns } from '../config'; import { formItemLayout, StaticColumns } from '../config';
import EditFormTable from './EditFormTable'; import EditFormTable from './EditFormTable';
import FormPackage from './FormPackage'; import FormPackage from './FormPackage';
...@@ -224,6 +228,7 @@ const CreateBatchFormItems = ({ specInitValue, batchChange, editRef, defaultColu ...@@ -224,6 +228,7 @@ const CreateBatchFormItems = ({ specInitValue, batchChange, editRef, defaultColu
}; };
const FormPriceOrStock = forwardRef((props, ref) => { const FormPriceOrStock = forwardRef((props, ref) => {
console.log('props :>> ', props);
const { specList, editData, skuList = [], onSpecChange } = props; const { specList, editData, skuList = [], onSpecChange } = props;
const editRef = useRef(null); const editRef = useRef(null);
...@@ -425,6 +430,7 @@ const FormPriceOrStock = forwardRef((props, ref) => { ...@@ -425,6 +430,7 @@ const FormPriceOrStock = forwardRef((props, ref) => {
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({
onCheck, onCheck,
onFinish,
reset: () => { reset: () => {
form.resetFields(); form.resetFields();
setDefaultColumns([]); setDefaultColumns([]);
...@@ -435,16 +441,19 @@ const FormPriceOrStock = forwardRef((props, ref) => { ...@@ -435,16 +441,19 @@ const FormPriceOrStock = forwardRef((props, ref) => {
})); }));
useEffect(() => { useEffect(() => {
// if (customer.isEdit) { if (customer.isEdit || customer.isUseCache) {
if (!editData) return; if (!editData) {
form.setFieldsValue(editData); // 设置规格数据 onFinish();
firstOnChangeEvent(); // 触发成底部动态表格数据 return;
setSpecInitValue(editData); // 缓存规格数据 }
CreateColumnsEvent(editData); form.setFieldsValue(editData); // 设置规格数据
setMergeTable(Boolean(editData.secondSpecValue.length)); firstOnChangeEvent(); // 触发成底部动态表格数据
setTableData(fliterSkuListSortData(skuList)); setSpecInitValue(editData); // 缓存规格数据
// } CreateColumnsEvent(editData);
}, [customer.isEdit, editData]); setMergeTable(Boolean(editData.secondSpecValue.length));
setTableData(fliterSkuListSortData(skuList));
}
}, [customer.isEdit, customer.isUseCache, editData]);
return ( return (
<> <>
......
...@@ -34,16 +34,16 @@ const FormRuleSetting = forwardRef((props, ref) => { ...@@ -34,16 +34,16 @@ const FormRuleSetting = forwardRef((props, ref) => {
}; };
useEffect(() => { useEffect(() => {
// if (customer.isEdit) { if (customer.isEdit || customer.isUseCache) {
if (!editData) return; if (!editData) return;
const goodInfo = Object.assign({}, editData); const goodInfo = Object.assign({}, editData);
if (goodInfo.shopIds) { if (goodInfo.shopIds) {
const shopIds = getIsInShops(editData.shopIds); const shopIds = getIsInShops(editData.shopIds);
goodInfo.shopIds = shopIds; goodInfo.shopIds = shopIds;
}
form.setFieldsValue(goodInfo);
} }
form.setFieldsValue(goodInfo); }, [customer.isEdit, customer.isUseCache, editData]);
// }
}, [customer.isEdit, editData]);
const onCheck = async () => { const onCheck = async () => {
try { try {
......
...@@ -22,28 +22,28 @@ const FormRuleVPictures = forwardRef((props, ref) => { ...@@ -22,28 +22,28 @@ const FormRuleVPictures = forwardRef((props, ref) => {
const [{ imgConfig }] = typeConfig.filter(item => item.type === customer.productType); const [{ imgConfig }] = typeConfig.filter(item => item.type === customer.productType);
useEffect(() => { useEffect(() => {
// if (customer.isEdit) { if (customer.isEdit || customer.isUseCache) {
if (editData) { if (editData) {
setImageList(editData.imageList || {}); setImageList(editData.imageList || {});
setCardImageList(editData.cardImageList || []); setCardImageList(editData.cardImageList || []);
setCommonImageList(editData.commonImageList || []); // 编辑状态下设置公共图 setCommonImageList(editData.commonImageList || []); // 编辑状态下设置公共图
setDetailImageList(editData.detailImageList || []); // 编辑状态下设置详情图 setDetailImageList(editData.detailImageList || []); // 编辑状态下设置详情图
const editParams = { const editParams = {
commonImageList: editData.commonImageList, commonImageList: editData.commonImageList,
detailImageList: editData.detailImageList, detailImageList: editData.detailImageList,
}; };
if (customer.isCard) { if (customer.isCard) {
editParams.cardImageList = editData.cardImageList; editParams.cardImageList = editData.cardImageList;
} else { } else {
editParams.imageList = editData.imageList; editParams.imageList = editData.imageList;
}
const timer = setTimeout(() => {
form.setFieldsValue(editParams);
clearTimeout(timer);
});
} }
const timer = setTimeout(() => {
form.setFieldsValue(editParams);
clearTimeout(timer);
});
} }
// } }, [customer.isEdit, customer.isUseCache, editData]);
}, [customer.isEdit, editData]);
useEffect(() => { useEffect(() => {
if (customer.isCard) return; if (customer.isCard) return;
......
...@@ -42,12 +42,12 @@ const FormSettlementOthers = forwardRef((props, ref) => { ...@@ -42,12 +42,12 @@ const FormSettlementOthers = forwardRef((props, ref) => {
}, 400); }, 400);
useEffect(() => { useEffect(() => {
// if (customer.isEdit) { if (customer.isEdit || customer.isUseCache) {
if (!editData) return; if (!editData) return;
form.setFieldsValue(editData); form.setFieldsValue(editData);
setInitValue({ ...editData }); setInitValue({ ...editData });
// } }
}, [customer.isEdit, editData]); }, [customer.isEdit, customer.isUseCache, editData]);
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({
onCheck, onCheck,
......
import React, { useState, useRef, useEffect, useCallback } from 'react'; import React, { useState, useRef, useEffect, useCallback, useMemo } from 'react';
import { Spin, Button, Modal, message, notification } from 'antd'; import { Spin, Button, Modal, message, notification } from 'antd';
import moment from 'moment'; import moment from 'moment';
import { Title, WrapperContainer } from './components/CommonTemplate'; import { Title, WrapperContainer } from './components/CommonTemplate';
...@@ -45,6 +45,7 @@ const ServiceGoods = options => { ...@@ -45,6 +45,7 @@ const ServiceGoods = options => {
const [pageId, setPageId] = useState(null); const [pageId, setPageId] = useState(null);
const [categoryIds, setCategoryIds] = useState([]); // 商品品类ID const [categoryIds, setCategoryIds] = useState([]); // 商品品类ID
const [isEdit, setIsEdit] = useState(false); // 是否是编辑状态 const [isEdit, setIsEdit] = useState(false); // 是否是编辑状态
const [isUseCache, setIsUseCache] = useState(false); // 是否使用缓存
const [productType, setProductType] = useState(canAddNormal ? 1 : 4); // 商品状态 const [productType, setProductType] = useState(canAddNormal ? 1 : 4); // 商品状态
const [pageLoading, setPageLoading] = useState(false); // 页面加载状态 const [pageLoading, setPageLoading] = useState(false); // 页面加载状态
const [afterAddressList, setAfterAddressList] = useState([]); // 售后地址 const [afterAddressList, setAfterAddressList] = useState([]); // 售后地址
...@@ -99,6 +100,7 @@ const ServiceGoods = options => { ...@@ -99,6 +100,7 @@ const ServiceGoods = options => {
}, },
!0, !0,
); );
stockRef.current.onFinish();
}, 1000); }, 1000);
}; };
...@@ -282,9 +284,10 @@ const ServiceGoods = options => { ...@@ -282,9 +284,10 @@ const ServiceGoods = options => {
localStorage.remove(localAutoSaveKey); localStorage.remove(localAutoSaveKey);
} }
}; };
// 继续编辑 // 继续编辑(使用缓存数据)
const onContinueEdit = () => { const onContinueEdit = () => {
setVisibleCacheEdit(false); setVisibleCacheEdit(false);
setIsUseCache(true);
const info = localStorage.get(localAutoSaveKey); const info = localStorage.get(localAutoSaveKey);
if (info) { if (info) {
console.log('info :>> ', info); console.log('info :>> ', info);
...@@ -320,7 +323,7 @@ const ServiceGoods = options => { ...@@ -320,7 +323,7 @@ const ServiceGoods = options => {
// 当商品进行编辑 & 类型不为电子卡券 & 商品状态不为驳回 禁用当前功能 // 当商品进行编辑 & 类型不为电子卡券 & 商品状态不为驳回 禁用当前功能
isDisabled: isEdit && productType !== 4 && SourceData.state && SourceData.state !== 4, isDisabled: isEdit && productType !== 4 && SourceData.state && SourceData.state !== 4,
isJDGoods: isEdit && SourceData.pageProductType && +SourceData.pageProductType !== 1, isJDGoods: isEdit && SourceData.pageProductType && +SourceData.pageProductType !== 1,
// isUseCache: false, // 是否使用缓存数据 isUseCache, // 是否使用缓存数据
onEventBus, onEventBus,
}; };
...@@ -393,7 +396,6 @@ const ServiceGoods = options => { ...@@ -393,7 +396,6 @@ const ServiceGoods = options => {
skuList={editData.skuList} skuList={editData.skuList}
onValuesChange={onValuesChange} onValuesChange={onValuesChange}
/> />
<Title title="规则设置" /> <Title title="规则设置" />
{productType === 4 && ( {productType === 4 && (
<FormRuleSetting <FormRuleSetting
......
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