Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
merchant-manage-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ui
merchant-manage-ui
Commits
6c9ab49e
Commit
6c9ab49e
authored
Dec 26, 2022
by
武广
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 添加使用缓存功能
parent
ede9b518
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
108 additions
and
66 deletions
+108
-66
EditFormTable.jsx
src/pages/ServiceGoods/components/EditFormTable.jsx
+9
-20
FormAttr.jsx
src/pages/ServiceGoods/components/FormAttr.jsx
+27
-3
FormPackage.jsx
src/pages/ServiceGoods/components/FormPackage.jsx
+7
-4
FormPriceOrStock.jsx
src/pages/ServiceGoods/components/FormPriceOrStock.jsx
+16
-5
FormRuleSetting.jsx
src/pages/ServiceGoods/components/FormRuleSetting.jsx
+8
-8
FormRuleVPictures.jsx
src/pages/ServiceGoods/components/FormRuleVPictures.jsx
+20
-19
FormSettlementOthers.jsx
src/pages/ServiceGoods/components/FormSettlementOthers.jsx
+5
-5
index.jsx
src/pages/ServiceGoods/index.jsx
+15
-1
utils.js
src/pages/ServiceGoods/utils.js
+1
-1
No files found.
src/pages/ServiceGoods/components/EditFormTable.jsx
View file @
6c9ab49e
...
...
@@ -62,33 +62,22 @@ const EditFormTable = forwardRef((props, ref) => {
setDataSource
([...
initData
]);
},
[
initData
]);
// const handleSave = row => {
// form.setFieldsValue({
// tableList: [...row],
// });
// const dataList = [...dataSource];
// dataList[rowIndex][dataIndex] = value;
// setDataSource([...dataList]);
// };
const
handleSave
=
(
value
,
dataIndex
,
rowIndex
)
=>
{
// form.setFieldsValue({
// [`tableList[${rowIndex}][${dataIndex}]`]: value,
// });
const
dataList
=
[...
dataSource
];
dataList
[
rowIndex
][
dataIndex
]
=
value
;
setDataSource
([...
dataList
]);
};
const
onCheck
=
async
()
=>
{
try
{
await
form
.
validateFields
();
const
newTableList
=
[...
dataSource
].
map
(
item
=>
{
const
getValues
=
()
=>
[...
dataSource
].
map
(
item
=>
{
const
{
rowSpanCount
,
option
,
...
childItem
}
=
item
;
return
childItem
;
});
console
.
log
(
'
===============>newTableList
'
,
newTableList
);
return
newTableList
;
const
onCheck
=
async
()
=>
{
try
{
await
form
.
validateFields
();
return
getValues
();
}
catch
(
errorInfo
)
{
console
.
log
(
errorInfo
);
return
null
;
...
...
@@ -96,8 +85,7 @@ const EditFormTable = forwardRef((props, ref) => {
};
const
getFormValues
=
debounce
(()
=>
{
const
values
=
form
.
getFieldsValue
();
props
.
onValuesChange
({
skuList
:
values
.
tableList
});
props
.
onValuesChange
();
},
400
);
const
rowOnClickEvent
=
row
=>
{
...
...
@@ -136,6 +124,7 @@ const EditFormTable = forwardRef((props, ref) => {
useImperativeHandle
(
ref
,
()
=>
({
onCheck
,
form
,
getValues
,
}));
// 根据这里做判断渲染表格
const
columns
=
defaultColumns
...
...
src/pages/ServiceGoods/components/FormAttr.jsx
View file @
6c9ab49e
...
...
@@ -38,7 +38,10 @@ const FormAttr = forwardRef((props, ref) => {
skuAttr
.
forEach
(
item
=>
{
if
(
item
[
key
].
length
)
{
let
values
=
+
item
.
optionType
.
code
===
1
?
''
:
[];
let
values
=
[];
if
((
item
.
optionType
&&
+
item
.
optionType
.
code
===
1
)
||
typeof
item
[
key
]
===
'
string
'
)
{
values
=
''
;
}
obj
[
item
.
productAttributeId
]
=
[];
item
[
key
].
forEach
(
attr
=>
{
const
{
attributeValueId
,
attributeValueName
}
=
attr
;
...
...
@@ -53,7 +56,11 @@ const FormAttr = forwardRef((props, ref) => {
obj
[
item
.
productAttributeId
].
push
(
json
);
}
// eslint-disable-next-line no-unused-expressions
+
item
.
optionType
.
code
===
1
?
(
values
=
v
)
:
values
.
push
(
v
);
if
((
item
.
optionType
&&
+
item
.
optionType
.
code
===
1
)
||
typeof
item
[
key
]
===
'
string
'
)
{
values
=
v
;
}
else
{
values
.
push
(
v
);
}
}
});
obj
.
initValue
[
item
.
productAttributeId
]
=
values
;
...
...
@@ -64,6 +71,8 @@ const FormAttr = forwardRef((props, ref) => {
// 获取属性
const
getAttribute
=
async
categoryId
=>
{
console
.
log
(
'
categoryId :>>
'
,
categoryId
);
console
.
log
(
'
props.initData :>>
'
,
props
.
initData
);
const
res
=
await
apiGetAttribute
(
categoryId
);
if
(
res
&&
res
.
data
&&
res
.
data
.
length
)
{
let
initValue
=
{
...
...
@@ -131,7 +140,22 @@ const FormAttr = forwardRef((props, ref) => {
const
getFormValues
=
debounce
(()
=>
{
const
values
=
form
.
getFieldsValue
();
props
.
onValuesChange
(
values
);
const
arr
=
Object
.
keys
(
values
).
map
(
item
=>
{
const
obj
=
{
productAttributeId
:
item
,
};
if
(
typeof
values
[
item
]
===
'
string
'
)
{
obj
.
productAttributeApplyValueList
=
JSON
.
parse
(
values
[
item
]);
}
else
{
obj
.
productAttributeApplyValueList
=
values
[
item
].
map
(
v
=>
JSON
.
parse
(
v
));
}
return
obj
;
});
props
.
onValuesChange
({
productAttributeApplyList
:
{
productAttributeApplyList
:
arr
,
},
});
},
400
);
const
onCheck
=
async
()
=>
{
...
...
src/pages/ServiceGoods/components/FormPackage.jsx
View file @
6c9ab49e
...
...
@@ -5,6 +5,8 @@ import styles from '../common.less';
import
{
isIntegerNotZero
,
isCheckPriceOneDecimal
}
from
'
@/utils/validator
'
;
import
UUID
from
'
@/utils/uuid
'
;
import
{
debounce
}
from
'
@/utils/utils
'
;
import
localStorage
from
'
@/utils/localStorage
'
;
import
{
localAutoSaveKey
}
from
'
../utils
'
;
const
{
Option
}
=
Select
;
...
...
@@ -159,11 +161,9 @@ const FormPackage = forwardRef((props, ref) => {
const
{
validateFields
,
getFieldsValue
}
=
form
;
const
onCheck
=
async
()
=>
{
console
.
log
(
'
form :>>
'
,
form
);
try
{
const
values
=
await
validateFields
();
const
arr
=
[];
console
.
log
(
'
package values :>>
'
,
values
);
if
(
values
&&
values
.
lists
)
{
values
.
lists
.
forEach
(
item
=>
{
arr
.
push
({
...
...
@@ -177,9 +177,11 @@ const FormPackage = forwardRef((props, ref) => {
}
};
const
getValues
=
()
=>
form
.
getFieldsValue
();
const
getFormValues
=
debounce
(()
=>
{
const
values
=
form
.
getFieldsValue
();
props
.
onValuesChange
(
values
);
// const values = form.getFieldsValue();{ setMealContent: values }
props
.
onValuesChange
();
},
400
);
// 创建分组
...
...
@@ -273,6 +275,7 @@ const FormPackage = forwardRef((props, ref) => {
useImperativeHandle
(
ref
,
()
=>
({
onCheck
,
getValues
,
}));
return
(
...
...
src/pages/ServiceGoods/components/FormPriceOrStock.jsx
View file @
6c9ab49e
...
...
@@ -334,6 +334,7 @@ const FormPriceOrStock = forwardRef((props, ref) => {
const
{
inIdList
:
secndInIdList
,
noIdList
:
secndNoIdList
}
=
filterSkuNotIdList
(
cleanValues
.
secondValues
,
);
console
.
log
(
'
skuList :>>
'
,
skuList
);
const
createSkuList
=
createProductData
(
{
firstSpecId
:
cleanValues
.
firstSpecId
,
...
...
@@ -371,8 +372,6 @@ const FormPriceOrStock = forwardRef((props, ref) => {
const
onSpecificationEvent
=
async
()
=>
{
try
{
const
values
=
await
form
.
validateFields
();
console
.
log
(
'
values :>>
'
,
values
);
console
.
log
(
'
cleanArray(values.secondSpecValue) :>>
'
,
cleanArray
(
values
.
secondSpecValue
));
const
cleanValues
=
{
firstSpec
:
values
.
firstSpec
,
firstSpecId
:
values
.
firstSpecId
,
...
...
@@ -395,6 +394,19 @@ const FormPriceOrStock = forwardRef((props, ref) => {
props
.
onValuesChange
({
infoSpecData
:
cleanValues
});
},
400
);
const
packageValueChange
=
()
=>
{
const
efvalues
=
editRef
.
current
.
getValues
();
if
(
customer
.
isCard
)
{
const
packageV
=
packageRef
.
current
.
getValues
();
efvalues
.
forEach
((
item
,
i
)
=>
{
item
.
serviceItem
=
{
setMealContent
:
packageV
.
lists
[
i
].
children
,
};
});
}
props
.
onValuesChange
({
skuList
:
efvalues
});
};
const
firstOnChangeEvent
=
async
()
=>
{
const
cleanValues
=
await
onSpecificationEvent
();
if
(
cleanValues
)
{
...
...
@@ -430,7 +442,6 @@ const FormPriceOrStock = forwardRef((props, ref) => {
setSpecInitValue
(
editData
);
// 缓存规格数据
CreateColumnsEvent
(
editData
);
setMergeTable
(
Boolean
(
editData
.
secondSpecValue
.
length
));
console
.
log
(
'
skuList :>>
'
,
skuList
);
setTableData
(
fliterSkuListSortData
(
skuList
));
// }
},
[
customer
.
isEdit
,
editData
]);
...
...
@@ -482,7 +493,7 @@ const FormPriceOrStock = forwardRef((props, ref) => {
setTableData=
{
setTableData
}
defaultColumns=
{
defaultColumns
}
initData=
{
tableData
}
onValuesChange=
{
p
rops
.
onValues
Change
}
onValuesChange=
{
p
ackageValue
Change
}
/>
{
customer
.
isCard
&&
(
<>
...
...
@@ -491,7 +502,7 @@ const FormPriceOrStock = forwardRef((props, ref) => {
ref=
{
packageRef
}
initData=
{
tableData
}
key=
"tc"
onValuesChange=
{
p
rops
.
onValues
Change
}
onValuesChange=
{
p
ackageValue
Change
}
/>
</>
)
}
...
...
src/pages/ServiceGoods/components/FormRuleSetting.jsx
View file @
6c9ab49e
...
...
@@ -34,7 +34,7 @@ const FormRuleSetting = forwardRef((props, ref) => {
};
useEffect
(()
=>
{
if
(
customer
.
isEdit
)
{
//
if (customer.isEdit) {
if
(
!
editData
)
return
;
const
goodInfo
=
Object
.
assign
({},
editData
);
if
(
goodInfo
.
shopIds
)
{
...
...
@@ -42,7 +42,7 @@ const FormRuleSetting = forwardRef((props, ref) => {
goodInfo
.
shopIds
=
shopIds
;
}
form
.
setFieldsValue
(
goodInfo
);
}
//
}
},
[
customer
.
isEdit
,
editData
]);
const
onCheck
=
async
()
=>
{
...
...
src/pages/ServiceGoods/components/FormRuleVPictures.jsx
View file @
6c9ab49e
...
...
@@ -22,12 +22,12 @@ const FormRuleVPictures = forwardRef((props, ref) => {
const
[{
imgConfig
}]
=
typeConfig
.
filter
(
item
=>
item
.
type
===
customer
.
productType
);
useEffect
(()
=>
{
if
(
customer
.
isEdit
)
{
//
if (customer.isEdit) {
if
(
editData
)
{
setImageList
(
editData
.
imageList
);
setCardImageList
(
editData
.
cardImageList
);
setCommonImageList
(
editData
.
commonImageList
);
// 编辑状态下设置公共图
setDetailImageList
(
editData
.
detailImageList
);
// 编辑状态下设置详情图
setImageList
(
editData
.
imageList
||
{}
);
setCardImageList
(
editData
.
cardImageList
||
[]
);
setCommonImageList
(
editData
.
commonImageList
||
[]
);
// 编辑状态下设置公共图
setDetailImageList
(
editData
.
detailImageList
||
[]
);
// 编辑状态下设置详情图
const
editParams
=
{
commonImageList
:
editData
.
commonImageList
,
detailImageList
:
editData
.
detailImageList
,
...
...
@@ -42,7 +42,7 @@ const FormRuleVPictures = forwardRef((props, ref) => {
clearTimeout
(
timer
);
});
}
}
//
}
},
[
customer
.
isEdit
,
editData
]);
useEffect
(()
=>
{
...
...
@@ -71,6 +71,7 @@ const FormRuleVPictures = forwardRef((props, ref) => {
const
getFormValues
=
debounce
(()
=>
{
const
values
=
form
.
getFieldsValue
();
props
.
onValuesChange
({
infoImageData
:
values
});
// props.onValuesChange(values);
},
400
);
useImperativeHandle
(
ref
,
()
=>
({
...
...
src/pages/ServiceGoods/components/FormSettlementOthers.jsx
View file @
6c9ab49e
...
...
@@ -42,11 +42,11 @@ const FormSettlementOthers = forwardRef((props, ref) => {
},
400
);
useEffect
(()
=>
{
if
(
customer
.
isEdit
)
{
//
if (customer.isEdit) {
if
(
!
editData
)
return
;
form
.
setFieldsValue
(
editData
);
setInitValue
({
...
editData
});
}
//
}
},
[
customer
.
isEdit
,
editData
]);
useImperativeHandle
(
ref
,
()
=>
({
...
...
src/pages/ServiceGoods/index.jsx
View file @
6c9ab49e
import
React
,
{
useState
,
useRef
,
useEffect
,
useCallback
}
from
'
react
'
;
import
{
Spin
,
Button
,
Modal
,
message
,
notification
}
from
'
antd
'
;
import
moment
from
'
moment
'
;
import
{
Title
,
WrapperContainer
}
from
'
./components/CommonTemplate
'
;
import
{
TaskTypeSelect
}
from
'
./components/TaskTypeSelect
'
;
import
FormInformationBasic
from
'
./components/FormInformationBasic
'
;
...
...
@@ -287,9 +288,21 @@ const ServiceGoods = options => {
const
info
=
localStorage
.
get
(
localAutoSaveKey
);
if
(
info
)
{
console
.
log
(
'
info :>>
'
,
info
);
if
(
info
.
serviceItem
)
{
const
ptime
=
info
.
serviceItem
.
purchaseTime
;
const
utime
=
info
.
serviceItem
.
useTime
;
if
(
ptime
&&
ptime
.
length
===
2
)
{
ptime
[
0
]
=
moment
(
ptime
[
0
]);
ptime
[
1
]
=
moment
(
ptime
[
1
]);
}
if
(
utime
&&
utime
.
length
===
2
)
{
utime
[
0
]
=
moment
(
utime
[
0
]);
utime
[
1
]
=
moment
(
utime
[
1
]);
}
}
setProductType
(
info
.
type
);
setEditData
(
info
);
if
(
info
.
infoMation
.
categoryId
&&
info
.
infoMation
.
categoryId
.
length
)
{
if
(
info
.
infoMation
&&
info
.
infoMation
.
categoryId
&&
info
.
infoMation
.
categoryId
.
length
)
{
setCategoryIds
(
info
.
infoMation
.
categoryId
);
}
}
...
...
@@ -307,6 +320,7 @@ const ServiceGoods = options => {
// 当商品进行编辑 & 类型不为电子卡券 & 商品状态不为驳回 禁用当前功能
isDisabled
:
isEdit
&&
productType
!==
4
&&
SourceData
.
state
&&
SourceData
.
state
!==
4
,
isJDGoods
:
isEdit
&&
SourceData
.
pageProductType
&&
+
SourceData
.
pageProductType
!==
1
,
// isUseCache: false, // 是否使用缓存数据
onEventBus
,
};
...
...
src/pages/ServiceGoods/utils.js
View file @
6c9ab49e
...
...
@@ -250,7 +250,7 @@ export const createProductData = (props, isEdit, skuList) => {
const
newSecondList
=
secndInIdList
.
concat
(
secndNoIdList
||
[]);
list
=
createSkuListData
(
newFirstList
,
newSecondList
,
firstSpecId
,
secondSpecId
,
skuList
);
}
else
{
list
=
createSkuListData
(
fisrtNoIdList
,
secndNoIdList
,
firstSpecId
,
secondSpecId
);
list
=
createSkuListData
(
fisrtNoIdList
,
secndNoIdList
,
firstSpecId
,
secondSpecId
,
skuList
);
}
return
list
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment