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
b51bead2
Commit
b51bead2
authored
Mar 21, 2022
by
张子雨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对照接口文档,参数对接
parent
70238242
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
19 deletions
+65
-19
index.jsx
src/pages/GoodsManage/createModal/index.jsx
+39
-14
index.jsx
src/pages/GoodsManage/index.jsx
+14
-3
service.js
src/pages/GoodsManage/service.js
+10
-0
staticdata.js
src/pages/GoodsManage/staticdata.js
+2
-2
No files found.
src/pages/GoodsManage/createModal/index.jsx
View file @
b51bead2
...
@@ -448,10 +448,26 @@ class goodsManage extends Component {
...
@@ -448,10 +448,26 @@ class goodsManage extends Component {
};
};
render
()
{
render
()
{
const
{
visible
,
form
,
initData
=
{},
treeData
,
virtualTreeData
}
=
this
.
props
;
// specListData
const
{
visible
,
form
,
initData
=
{},
treeData
,
virtualTreeData
,
specListData
}
=
this
.
props
;
// const specListData = [{
// "specName": "服务",
// "specId":"services",
// "specValues": [
// {
// "value": 1,
// "label": "七天无理由退货"
// },
// {
// "value": 2,
// "label": "2222"
// }
// ]
// }
// ]
const
isEdit
=
Object
.
keys
(
initData
).
length
!==
0
;
const
isEdit
=
Object
.
keys
(
initData
).
length
!==
0
;
// 是否仅编辑卖点和服务
// 是否仅编辑卖点和服务
const
isService
=
initData
.
state
===
5
;
const
isService
=
initData
.
state
!==
4
;
const
{
getFieldDecorator
,
getFieldsValue
}
=
form
;
const
{
getFieldDecorator
,
getFieldsValue
}
=
form
;
getFieldDecorator
(
'
firstKeys
'
,
{
initialValue
:
[]
});
getFieldDecorator
(
'
firstKeys
'
,
{
initialValue
:
[]
});
getFieldDecorator
(
'
secondKeys
'
,
{
initialValue
:
[]
});
getFieldDecorator
(
'
secondKeys
'
,
{
initialValue
:
[]
});
...
@@ -492,6 +508,12 @@ class goodsManage extends Component {
...
@@ -492,6 +508,12 @@ class goodsManage extends Component {
if
(
isEdit
&&
!
initData
.
editData
[
0
]?.
firstSpec
&&
!
initData
.
editData
[
0
]?.
secondSpec
)
{
if
(
isEdit
&&
!
initData
.
editData
[
0
]?.
firstSpec
&&
!
initData
.
editData
[
0
]?.
secondSpec
)
{
colorKeys
=
colorKeys
.
length
>
1
?
colorKeys
.
filter
(
item
=>
item
!==
'
null
'
)
:
colorKeys
;
colorKeys
=
colorKeys
.
length
>
1
?
colorKeys
.
filter
(
item
=>
item
!==
'
null
'
)
:
colorKeys
;
}
}
const
optionsWithDisabled
=
[
{
label
:
'
Apple
'
,
value
:
'
Apple
'
},
{
label
:
'
Pear
'
,
value
:
'
Pear
'
},
{
label
:
'
Orange
'
,
value
:
'
Orange
'
,
disabled
:
false
},
];
return
(
return
(
<
Modal
<
Modal
title=
{
initData
.
id
?
'
修改商品
'
:
'
新增商品
'
}
title=
{
initData
.
id
?
'
修改商品
'
:
'
新增商品
'
}
...
@@ -511,7 +533,7 @@ class goodsManage extends Component {
...
@@ -511,7 +533,7 @@ class goodsManage extends Component {
initialValue
:
productType
,
initialValue
:
productType
,
rules
:
[{
required
:
true
,
message
:
'
请选择商品类型
'
}],
rules
:
[{
required
:
true
,
message
:
'
请选择商品类型
'
}],
})(
})(
<
Radio
.
Group
disabled=
{
isEdit
}
onChange=
{
this
.
bundleRadioChange
}
>
<
Radio
.
Group
disabled=
{
isEdit
||
isService
}
onChange=
{
this
.
bundleRadioChange
}
>
{
productTypeList
.
map
(
item
=>
(
{
productTypeList
.
map
(
item
=>
(
<
Radio
key=
{
item
.
value
}
value=
{
item
.
value
}
disabled=
{
item
.
disabled
}
>
<
Radio
key=
{
item
.
value
}
value=
{
item
.
value
}
disabled=
{
item
.
disabled
}
>
{
item
.
label
}
{
item
.
label
}
...
@@ -621,24 +643,27 @@ class goodsManage extends Component {
...
@@ -621,24 +643,27 @@ class goodsManage extends Component {
<
Col
span=
{
24
}
>
<
Col
span=
{
24
}
>
<
FormItem
label=
"商品卖点"
labelCol=
{
{
span
:
2
}
}
>
<
FormItem
label=
"商品卖点"
labelCol=
{
{
span
:
2
}
}
>
{
getFieldDecorator
(
'
name
'
,
{
{
getFieldDecorator
(
'
name
'
,
{
initialValue
:
initData
.
name
,
initialValue
:
initData
.
character
,
})(
})(
<
Input
<
Input
style=
{
{
width
:
690
}
}
style=
{
{
width
:
690
}
}
maxLength=
"50"
maxLength=
{
50
}
placeholder=
"好的卖点信息有利于提高商品转化,限50字"
placeholder=
"好的卖点信息有利于提高商品转化,限50字"
allowClear
allowClear
/>,
/>,
)
}
)
}
</
FormItem
>
</
FormItem
>
</
Col
>
</
Col
>
<
Col
span=
{
24
}
>
{
specListData
.
length
&&
<
FormItem
label=
"商品服务"
labelCol=
{
{
span
:
2
}
}
>
specListData
.
map
((
item
,
index
)
=>
(
{
getFieldDecorator
(
'
name
'
,
{
<
Col
span=
{
24
}
>
initialValue
:
initData
.
name
,
<
FormItem
label=
{
item
.
specName
}
labelCol=
{
{
span
:
2
}
}
>
})(<
Checkbox
>
七天无理由退货
</
Checkbox
>)
}
{
getFieldDecorator
(
`${item.specId}`
,
{
</
FormItem
>
initialValue
:
`initData.${item.specId}`
,
</
Col
>
})(<
Checkbox
.
Group
options=
{
item
.
specValues
}
/>)
}
</
FormItem
>
</
Col
>
))
}
</
Row
>
</
Row
>
</
Card
>
</
Card
>
<
Card
className=
{
styles
.
card
}
bordered=
{
false
}
>
<
Card
className=
{
styles
.
card
}
bordered=
{
false
}
>
...
@@ -652,7 +677,7 @@ class goodsManage extends Component {
...
@@ -652,7 +677,7 @@ class goodsManage extends Component {
showSearch
showSearch
style=
{
{
width
:
200
}
}
style=
{
{
width
:
200
}
}
placeholder=
"请选择一级规格"
placeholder=
"请选择一级规格"
disabled=
{
isEdit
&&
initData
.
firstSpecId
}
disabled=
{
(
isEdit
&&
initData
.
firstSpecId
)
||
isService
}
onChange=
{
(
val
,
option
)
=>
onChange=
{
(
val
,
option
)
=>
this
.
specChange
(
'
first
'
,
option
?.
props
.
children
,
val
)
this
.
specChange
(
'
first
'
,
option
?.
props
.
children
,
val
)
}
}
...
@@ -730,7 +755,7 @@ class goodsManage extends Component {
...
@@ -730,7 +755,7 @@ class goodsManage extends Component {
<
Select
<
Select
allowClear
allowClear
showSearch
showSearch
disabled=
{
isEdit
&&
initData
.
secondSpecId
}
disabled=
{
(
isEdit
&&
initData
.
secondSpecId
)
||
isService
}
placeholder=
"请选择二级规格"
placeholder=
"请选择二级规格"
style=
{
{
width
:
200
}
}
style=
{
{
width
:
200
}
}
onChange=
{
(
val
,
option
)
=>
this
.
specChange
(
'
second
'
,
option
?.
props
.
children
)
}
onChange=
{
(
val
,
option
)
=>
this
.
specChange
(
'
second
'
,
option
?.
props
.
children
)
}
...
...
src/pages/GoodsManage/index.jsx
View file @
b51bead2
...
@@ -3,12 +3,13 @@ import React, { Component } from 'react';
...
@@ -3,12 +3,13 @@ import React, { Component } from 'react';
import
{
PageHeaderWrapper
}
from
'
@ant-design/pro-layout
'
;
import
{
PageHeaderWrapper
}
from
'
@ant-design/pro-layout
'
;
import
{
connect
}
from
'
dva
'
;
import
{
connect
}
from
'
dva
'
;
import
{
sortBy
}
from
'
lodash
'
;
import
{
sortBy
}
from
'
lodash
'
;
import
{
da
}
from
'
date-fns/locale
'
;
import
styles
from
'
./style.less
'
;
import
styles
from
'
./style.less
'
;
import
LocalStroage
from
'
@/utils/localStorage
'
;
import
LocalStroage
from
'
@/utils/localStorage
'
;
import
configApi
from
'
../../../config/env.config
'
;
import
configApi
from
'
../../../config/env.config
'
;
import
UpdateStock
from
'
./UpdateStock
'
;
import
UpdateStock
from
'
./UpdateStock
'
;
import
{
spuDetail
,
categoryList
,
getVirtualCategory
}
from
'
./service
'
;
import
{
spuDetail
,
categoryList
,
getVirtualCategory
,
specList
}
from
'
./service
'
;
import
LogModal
from
'
./LogModal
'
;
import
LogModal
from
'
./LogModal
'
;
import
CreateModal
from
'
./createModal
'
;
import
CreateModal
from
'
./createModal
'
;
import
{
column
,
JDSHOPID
}
from
'
./staticdata
'
;
import
{
column
,
JDSHOPID
}
from
'
./staticdata
'
;
...
@@ -27,11 +28,12 @@ class goodsManage extends Component {
...
@@ -27,11 +28,12 @@ class goodsManage extends Component {
priceInfo
:
{},
priceInfo
:
{},
logVisible
:
false
,
logVisible
:
false
,
previewVisible
:
false
,
previewVisible
:
false
,
createVisible
:
tru
e
,
// 新增or编辑普通商品modal
createVisible
:
fals
e
,
// 新增or编辑普通商品modal
selectedRowKeys
:
[],
selectedRowKeys
:
[],
updateStockVisible
:
false
,
updateStockVisible
:
false
,
initData
:
{},
initData
:
{},
createloading
:
false
,
createloading
:
false
,
specListData
:
[],
};
};
currentLog
=
null
;
currentLog
=
null
;
...
@@ -44,6 +46,7 @@ class goodsManage extends Component {
...
@@ -44,6 +46,7 @@ class goodsManage extends Component {
this
.
props
.
goodsManage
.
tableData
=
{};
this
.
props
.
goodsManage
.
tableData
=
{};
this
.
categoryList
();
this
.
categoryList
();
this
.
getVirtualCategory
();
this
.
getVirtualCategory
();
this
.
specList
();
}
}
handleSearch
=
page
=>
{
handleSearch
=
page
=>
{
...
@@ -104,7 +107,7 @@ class goodsManage extends Component {
...
@@ -104,7 +107,7 @@ class goodsManage extends Component {
});
});
const
{
data
,
msg
}
=
await
spuDetail
({
id
:
spuId
});
const
{
data
,
msg
}
=
await
spuDetail
({
id
:
spuId
});
if
(
data
)
{
if
(
data
)
{
data
.
state
=
5
;
data
.
state
=
state
;
data
.
pageProductType
=
productType
;
data
.
pageProductType
=
productType
;
data
.
categoryId
=
data
.
thirdCategoryId
;
data
.
categoryId
=
data
.
thirdCategoryId
;
data
.
firstSpecId
=
data
.
skuList
[
0
].
firstSpecId
;
data
.
firstSpecId
=
data
.
skuList
[
0
].
firstSpecId
;
...
@@ -236,6 +239,13 @@ class goodsManage extends Component {
...
@@ -236,6 +239,13 @@ class goodsManage extends Component {
}
}
};
};
specList
=
async
()
=>
{
const
data
=
await
specList
();
if
(
data
.
code
===
'
0000
'
&&
data
.
data
.
length
)
{
this
.
setState
({
specListData
:
data
.
data
});
}
};
render
()
{
render
()
{
const
{
const
{
goodsManage
:
{
tableData
=
{}
},
goodsManage
:
{
tableData
=
{}
},
...
@@ -319,6 +329,7 @@ class goodsManage extends Component {
...
@@ -319,6 +329,7 @@ class goodsManage extends Component {
shopList=
{
this
.
filterShopList
(
this
.
shopList
,
Object
.
keys
(
this
.
state
.
initData
).
length
)
}
shopList=
{
this
.
filterShopList
(
this
.
shopList
,
Object
.
keys
(
this
.
state
.
initData
).
length
)
}
treeData=
{
this
.
state
.
treeData
}
treeData=
{
this
.
state
.
treeData
}
virtualTreeData=
{
this
.
state
.
virtualTreeData
}
virtualTreeData=
{
this
.
state
.
virtualTreeData
}
specListData=
{
this
.
state
.
specListData
}
></
CreateModal
>
></
CreateModal
>
<
UpdateStock
<
UpdateStock
...
...
src/pages/GoodsManage/service.js
View file @
b51bead2
...
@@ -148,3 +148,13 @@ export async function getVirtualCategory() {
...
@@ -148,3 +148,13 @@ export async function getVirtualCategory() {
});
});
return
data
;
return
data
;
}
}
// 查询商品属性列表
export
async
function
specList
()
{
// return request.get('/mock/389/product/spec', {
// prefix: 'http://yapi.quantgroups.com',
// })
return
request
.
get
(
'
/product/api/merchant/spec
'
,
{
prefix
:
goodsApi
,
});
}
src/pages/GoodsManage/staticdata.js
View file @
b51bead2
...
@@ -132,7 +132,7 @@ export function column() {
...
@@ -132,7 +132,7 @@ export function column() {
render
:
(
_
,
row
)
=>
(
render
:
(
_
,
row
)
=>
(
<
div
>
<
div
>
<
p
>
{
row
.
state
>=
5
?
'
审核通过
'
:
_
}
<
/p
>
<
p
>
{
row
.
state
>=
5
?
'
审核通过
'
:
_
}
<
/p
>
<
p
>
信息变更待审核
<
/p
>
<
p
>
{
row
.
updateState
||
'
_ _
'
}
<
/p
>
<
/div
>
<
/div
>
),
),
},
},
...
@@ -143,7 +143,7 @@ export function column() {
...
@@ -143,7 +143,7 @@ export function column() {
align
:
'
center
'
,
align
:
'
center
'
,
render
:
(
_
,
row
)
=>
(
render
:
(
_
,
row
)
=>
(
<
div
className
=
{
styles
.
actionBtn
}
>
<
div
className
=
{
styles
.
actionBtn
}
>
{(
row
.
state
===
4
||
row
.
state
===
5
)
&&
(
{(
row
.
state
===
4
||
(
row
.
state
===
5
&&
row
.
updateState
!==
1
)
)
&&
(
<
Button
<
Button
key
=
"
edit
"
key
=
"
edit
"
type
=
"
primary
"
type
=
"
primary
"
...
...
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