Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
shenshaokai
jinfa-platform
Commits
6c4e0a7f
Commit
6c4e0a7f
authored
Dec 28, 2020
by
GuanHua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 店铺能力归属地址选择问题
parent
e399ad49
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
37 deletions
+45
-37
index.tsx
src/components/CitySelect/index.tsx
+26
-19
index.tsx
src/pages/channel/channelInfo/index.tsx
+6
-7
index.tsx
src/pages/shop/shopInfo/index.tsx
+13
-11
No files found.
src/components/CitySelect/index.tsx
View file @
6c4e0a7f
...
...
@@ -19,12 +19,6 @@ interface CitySelectPropsType {
onChange
:
Function
;
}
interface
selectItemType
{
index
:
number
;
lable
:
string
;
value
:
number
;
}
const
{
Option
}
=
Select
;
const
CityCascader
:
React
.
FC
<
CitySelectPropsType
>
=
(
props
)
=>
{
...
...
@@ -39,7 +33,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
},
[])
const
getProviceById
=
(
id
:
number
)
=>
{
let
result
:
number
=
0
let
result
=
0
provinceData
&&
provinceData
.
map
(
item
=>
{
if
(
item
.
value
===
id
)
{
result
=
item
...
...
@@ -49,7 +43,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}
const
getCityById
=
(
id
:
number
,
provinceCode
:
string
)
=>
{
let
result
:
number
=
0
let
result
=
0
!
isEmpty
(
cityData
)
&&
cityData
[
provinceCode
].
map
(
item
=>
{
if
(
item
.
value
===
id
)
{
result
=
item
...
...
@@ -69,16 +63,24 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
if
(
!
areaList
)
{
return
}
let
tempProvinceData
=
[]
let
tempCityData
=
{}
for
(
let
item
of
areaList
)
{
const
tempProvinceData
=
[]
const
tempCityData
=
{}
tempProvinceData
.
push
({
lable
:
"所有"
,
value
:
"0"
})
for
(
const
item
of
areaList
)
{
tempProvinceData
.
push
({
lable
:
item
.
name
,
value
:
item
.
code
})
if
(
!!
item
.
areaResponses
)
{
let
tempCityList
=
[]
for
(
let
cityItem
of
item
.
areaResponses
)
{
if
(
item
.
areaResponses
)
{
const
tempCityList
=
[]
tempCityList
.
push
({
lable
:
"所有"
,
value
:
"0"
})
for
(
const
cityItem
of
item
.
areaResponses
)
{
tempCityList
.
push
({
lable
:
cityItem
.
name
,
value
:
cityItem
.
code
...
...
@@ -89,13 +91,16 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}
setProvinceData
(
tempProvinceData
)
tempCityData
[
"0"
]
=
[{
lable
:
"所有"
,
value
:
"0"
}]
setCityData
(
tempCityData
)
}
const
handleProvinceChange
=
(
value
:
number
,
index
:
number
)
=>
{
le
t
newData
=
JSON
.
parse
(
JSON
.
stringify
(
selectData
))
le
t
proviceById
:
any
=
getProviceById
(
value
)
cons
t
newData
=
JSON
.
parse
(
JSON
.
stringify
(
selectData
))
cons
t
proviceById
:
any
=
getProviceById
(
value
)
setCities
(
cityData
[
proviceById
.
value
])
newData
.
map
((
item
:
any
)
=>
{
...
...
@@ -111,7 +116,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}
const
onSecondCityChange
=
(
value
:
number
,
provinceCode
:
string
,
index
:
number
)
=>
{
le
t
newData
=
JSON
.
parse
(
JSON
.
stringify
(
selectData
))
cons
t
newData
=
JSON
.
parse
(
JSON
.
stringify
(
selectData
))
const
cityById
:
any
=
getCityById
(
value
,
provinceCode
)
newData
.
map
((
item
:
any
)
=>
{
...
...
@@ -155,7 +160,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
onChange=
{
(
value
)
=>
onSecondCityChange
(
value
,
item
.
provinceCode
,
item
.
index
)
}
placeholder=
"请选择"
>
{
(
item
.
provinceCode
&&
!
isEmpty
(
cityData
))
?
cityData
[
item
.
provinceCode
]
&&
cityData
[
item
.
provinceCode
].
map
((
item
:
any
)
=>
(
{
(
(
item
.
provinceCode
||
item
.
provinceCode
===
0
)
&&
!
isEmpty
(
cityData
))
?
cityData
[
item
.
provinceCode
]
&&
cityData
[
item
.
provinceCode
].
map
((
item
:
any
)
=>
(
<
Option
value=
{
item
.
value
}
key=
{
item
.
value
}
>
{
item
.
lable
}
</
Option
>
))
:
null
}
</
Select
>
...
...
@@ -186,4 +191,6 @@ const CitySelect: React.FC<CitySelectPropsType> = forwardRef((props, ref) => {
)
})
CitySelect
.
displayName
=
"CitySelect"
export
default
CitySelect
src/pages/channel/channelInfo/index.tsx
View file @
6c4e0a7f
...
...
@@ -148,10 +148,10 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
if
(
!
checkmemberChannelAreas
(
value
.
memberChannelAreas
))
{
return
}
if
(
!
shopId
)
{
message
.
error
(
"店铺链接不能为空"
)
return
}
//
if (!shopId) {
//
message.error("店铺链接不能为空")
//
return
//
}
value
.
storeUrl
=
storeUrl
||
`
${
siteUrl
}
/
${
GlobalConfig
.
channelRootRoute
}
`
value
.
shopId
=
shopId
setConfirmLoading
(
true
)
...
...
@@ -175,10 +175,9 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
message
.
error
(
'请选择归属地市'
)
return
false
}
return
shopAreas
.
every
(
item
=>
{
if
(
!
item
.
provinceCode
)
{
if
(
isEmpty
(
item
.
provinceCode
)
)
{
message
.
destroy
()
message
.
error
(
'请选择归属地市'
)
return
false
...
...
@@ -406,7 +405,7 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
label=
{
<
RequireItem
label=
"客服链接"
/>
}
rules=
{
[{
pattern
:
/
(
http|ftp|https
)
:
\/\/[\w\-
_
]
+
(\.[\w\-
_
]
+
)
+
([\w\-
.,@?^=%&:
/
~+#
]
*
[\w\-
@?^=%&
/
~+#
])?
/
,
message
:
'请输入正确的客服链接'
}]
}
>
<
Input
allowClear
className=
{
styles
.
form_item
}
/>
<
Input
allowClear
autoComplete=
"off"
className=
{
styles
.
form_item
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
{
<
RequireItem
label=
""
/>
}
...
...
src/pages/shop/shopInfo/index.tsx
View file @
6c4e0a7f
...
...
@@ -8,7 +8,6 @@ import CitySelect from '@/components/CitySelect'
import
RequireItem
from
'@/components/RequireItem'
import
{
PublicApi
}
from
'@/services/api'
import
UploadImage
from
'@/components/UploadImage'
import
{
GetTemplateShopFindShopResponse
}
from
'@/services/TemplateApi'
import
copy
from
'copy-to-clipboard'
import
cx
from
'classnames'
import
styles
from
'./index.less'
...
...
@@ -34,8 +33,9 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
const
[
workshopPics
,
setWorkshopPics
]
=
useState
([])
// 厂房照片
const
[
honorPics
,
setHonorPics
]
=
useState
([])
// 资质荣誉
const
[
logo
,
setLogo
]
=
useState
<
string
>
(
""
)
const
[
shopInfo
,
setShopInfo
]
=
useState
<
GetTemplateShopFindShopResponse
>
()
const
[
shopInfo
,
setShopInfo
]
=
useState
<
any
>
()
const
[
shopId
,
setShopId
]
=
useState
<
number
>
()
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
<
boolean
>
(
false
)
useEffect
(()
=>
{
fetchShopInfo
()
...
...
@@ -149,19 +149,21 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
if
(
!
checkMemberShopAreas
(
value
.
memberShopAreas
))
{
return
}
if
(
!
shopId
)
{
message
.
error
(
"店铺链接不能为空"
)
return
}
//
if (!shopId) {
//
message.error("店铺链接不能为空")
//
return
//
}
value
.
storeUrl
=
storeUrl
||
`
${
siteUrl
}
/shop`
value
.
shopId
=
shopId
setConfirmLoading
(
true
)
PublicApi
.
postTemplateWebMemberShopWebSaveCurrMemberShop
(
value
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
fetchShopInfo
()
setFormIsHalfFilledOut
(
false
)
}
setConfirmLoading
(
false
)
}).
catch
(()
=>
{
setConfirmLoading
(
false
)
})
})
...
...
@@ -176,7 +178,7 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
return
shopAreas
.
every
(
item
=>
{
if
(
!
item
.
provinceCode
)
{
if
(
isEmpty
(
item
.
provinceCode
)
)
{
message
.
destroy
()
message
.
error
(
'请选择归属地市'
)
return
false
...
...
@@ -402,12 +404,12 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
label=
{
<
RequireItem
label=
"客服链接"
/>
}
rules=
{
[{
pattern
:
/
(
http|ftp|https
)
:
\/\/[\w\-
_
]
+
(\.[\w\-
_
]
+
)
+
([\w\-
.,@?^=%&:
/
~+#
]
*
[\w\-
@?^=%&
/
~+#
])?
/
,
message
:
'请输入正确的客服链接'
}]
}
>
<
Input
allowClear
className=
{
styles
.
form_item
}
/>
<
Input
allowClear
autoComplete=
"off"
className=
{
styles
.
form_item
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
{
<
RequireItem
label=
""
/>
}
>
<
Button
type=
"primary"
style=
{
{
marginRight
:
16
}
}
onClick=
{
handleSave
}
>
保存
</
Button
>
<
Button
loading=
{
confirmLoading
}
type=
"primary"
style=
{
{
marginRight
:
16
}
}
onClick=
{
handleSave
}
>
保存
</
Button
>
</
Form
.
Item
>
</
Form
>
</
div
>
...
...
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