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
黄庭坚
jinfa-platform
Commits
abdcfd3d
Commit
abdcfd3d
authored
Aug 18, 2020
by
LeeJiancong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into dev
parents
caf9a12a
50944c57
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
208 additions
and
96 deletions
+208
-96
base.config.json~9fd9e0c42f4f7acd87288c2a6cbbf656aae80311
...base.config.json~9fd9e0c42f4f7acd87288c2a6cbbf656aae80311
+1
-1
index.ts
config/routes/index.ts
+2
-1
app.tsx
src/app.tsx
+9
-6
global.d.ts~9fd9e0c42f4f7acd87288c2a6cbbf656aae80311
...nfig/global.d.ts~9fd9e0c42f4f7acd87288c2a6cbbf656aae80311
+1
-12
reset.less
src/global/styles/reset.less
+5
-0
403.tsx
src/pages/403.tsx
+0
-1
index.tsx
src/pages/classAndProperty/propertyValue/index.tsx
+0
-2
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+16
-13
fastModifyPrice.tsx
src/pages/commodity/products/fastModifyPrice.tsx
+145
-44
index.tsx
src/pages/commodity/products/index.tsx
+7
-4
viewProducts.tsx
src/pages/commodity/products/viewProducts.tsx
+1
-3
addBrand.tsx
src/pages/trademark/addBrand.tsx
+6
-5
LoginWrap.tsx
src/pages/user/components/LoginWrap.tsx
+2
-1
register.tsx
src/pages/user/register.tsx
+10
-2
index.ts~2a51756929cf7da4655efbc6177a581462b486b2
...ervices/index.ts~2a51756929cf7da4655efbc6177a581462b486b2
+0
-0
request.ts
src/utils/request.ts
+3
-1
No files found.
config/base.config.json~9fd9e0c42f4f7acd87288c2a6cbbf656aae80311
View file @
abdcfd3d
{"userRegister":{"useType":{"memberType":[{"id":1,"typeName":"企业会员"},{"id":3,"typeName":"渠道企业会员"},{"id":4,"typeName":"渠道个人会员"},{"id":2,"typeName":"个人会员"}],"businessType":[{"id":1,"typeName":"采购"},{"id":39,"typeName":"供货"}
]}},"web":{"shopInfo":[{"id":302,"name":"云鲜采企业商城","type":1,"environment":1,"logoUrl":"https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/5b19a059530a4060984fc045125da1f81597395561658.png","describe":null,"state":1,"url":"/"},{"id":303,"name":"云鲜采渠道商城","type":3,"environment":1,"logoUrl":"https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/a63c8c81e74947f88c64d4c72bfb565c1597395598958.png","describe":null,"state":1,"url":"/shop"}
]},"global":{"siteId":502,"siteUrl":"http://localhost:4396","logo":"https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/4db4e7c5424c471c968ab540bce027f31597319423082.png","countryList":[{"name":"简体中文-ZH","key":"zh-CN","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/china.png"},{"name":"English-EN","key":"en-US","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/us.png"},{"name":"日本語-JP","key":"jp","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/japen.png"},{"name":"한국어-KO","key":"ko","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/koren.png"}]}}
{"userRegister":{"useType":{"memberType":[{"id":1,"typeName":"企业会员"},{"id":3,"typeName":"渠道企业会员"},{"id":4,"typeName":"渠道个人会员"},{"id":2,"typeName":"个人会员"}],"businessType":[{"id":1,"typeName":"采购"},{"id":39,"typeName":"供货"}
,{"id":40,"typeName":"供货商消费者"},{"id":41,"typeName":"供货商消费者渠道会员"}]}},"web":{"shopInfo":[
]},"global":{"siteId":502,"siteUrl":"http://localhost:4396","logo":"https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/4db4e7c5424c471c968ab540bce027f31597319423082.png","countryList":[{"name":"简体中文-ZH","key":"zh-CN","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/china.png"},{"name":"English-EN","key":"en-US","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/us.png"},{"name":"日本語-JP","key":"jp","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/japen.png"},{"name":"한국어-KO","key":"ko","icon":"http://lingxi-frontend-test.oss-cn-hangzhou.aliyuncs.com/images/koren.png"}]}}
config/routes/index.ts
View file @
abdcfd3d
...
...
@@ -38,12 +38,13 @@ const memberCenterRoute = {
},
...
routes
,
{
path
:
'/noAuth'
,
path
:
'/
memberCenter/
noAuth'
,
auth
:
false
,
component
:
'@/pages/403'
,
},
// 能力中心的404页
{
path
:
'/*'
,
auth
:
false
,
component
:
'@/pages/404'
,
},
...
...
src/app.tsx
View file @
abdcfd3d
...
...
@@ -22,13 +22,16 @@ const whiteLists = [
'/user/login'
,
'/user/register'
,
'/memberCenter'
,
'/memberCenter/noAuth'
,
'/commodity'
,
'/shops'
,
'/shop/commodity/detail'
,
'/shop/commodity'
,
'/shop'
,
'/infomation'
,
'/403'
,
'/404'
,
'/500'
,
'/noAuth'
]
...
...
@@ -70,10 +73,11 @@ export function render(oldRender: Function) {
token
:
data
.
token
})
setRouters
(
data
.
urls
)
oldRender
()
})
}
else
{
oldRender
()
}
oldRender
()
}
/**
...
...
@@ -84,21 +88,20 @@ export function render(oldRender: Function) {
* @param {*} { routes, matchedRoutes, location, action }
*/
export
function
onRouteChange
({
routes
,
matchedRoutes
,
location
,
action
})
{
console
.
log
(
`当前可访问的路由为`
)
console
.
log
(
routes
,
matchedRoutes
,
location
)
console
.
log
(
'onRouteChange'
)
if
(
isDev
)
{
return
;
}
if
(
whiteLists
.
includes
(
location
.
pathname
))
return
;
const
routeAuthUrls
=
getRouters
()
console
.
log
(
routeAuthUrls
,
"routeAuthUrls"
)
// 是否登录
if
(
getAuth
())
{
if
(
routeAuthUrls
.
includes
(
location
.
pathname
))
{
}
else
{
// history.replace('/')
// 无权限访问时
history
.
replace
(
'/memberCenter/noAuth'
)
}
}
else
{
history
.
replace
(
'/user/login'
)
...
...
src/global/config/global.d.ts~9fd9e0c42f4f7acd87288c2a6cbbf656aae80311
View file @
abdcfd3d
...
...
@@ -17,19 +17,8 @@ export interface UserRegister {
useType: UseType;
}
export interface ShopInfo {
id: number;
name: string;
type: number;
environment: number;
logoUrl: string;
describe?: any;
state: number;
url: string;
}
export interface Web {
shopInfo:
ShopInfo
[];
shopInfo:
any
[];
}
export interface CountryList {
...
...
src/global/styles/reset.less
View file @
abdcfd3d
...
...
@@ -95,6 +95,11 @@
height: 32px;
line-height: 32px;
margin: 8px 0;
border-top-width: 1px;
border-left-width: 1px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
& label:nth-child(odd) {
...
...
src/pages/403.tsx
View file @
abdcfd3d
...
...
@@ -14,7 +14,6 @@ const NoFoundPage: React.FC<{}> = () => {
return
(
<
div
className=
{
styles
.
wrapper
}
>
<
UserHeader
logo=
{
GlobalConfig
.
global
.
logo
}
/>
<
div
className=
{
styles
.
errorBox
}
>
<
Row
>
<
Col
span=
{
12
}
>
...
...
src/pages/classAndProperty/propertyValue/index.tsx
View file @
abdcfd3d
...
...
@@ -153,14 +153,12 @@ const PropertyValue: React.FC<{}> = () => {
const
confirm
=
(
record
:
any
)
=>
{
PublicApi
.
postProductCustomerUpdateCustomerAttributeValueStatus
({
id
:
record
.
id
,
isEnable
:
!
record
.
isEnable
}).
then
(
res
=>
{
//@ts-ignore
ref
.
current
.
reload
()
})
}
const
clickDelete
=
(
record
:
any
)
=>
{
PublicApi
.
postProductCustomerDeleteCustomerAttributeValue
({
id
:
record
.
id
}).
then
(
res
=>
{
//@ts-ignore
ref
.
current
.
reload
()
})
}
...
...
src/pages/commodity/products/addProducts.tsx
View file @
abdcfd3d
...
...
@@ -60,8 +60,8 @@ const AddProducts: React.FC<{}> = (props) => {
},
[])
const
onSave
=
()
=>
{
console
.
log
(
'点击保存'
)
console
.
log
(
formRefs
,
'formrefs'
)
//
console.log('点击保存')
//
console.log(formRefs, 'formrefs')
if
(
formRefs
.
length
>
0
){
try
{
let
data
=
formRefs
.
map
(
async
__
=>
{
...
...
@@ -69,10 +69,10 @@ const AddProducts: React.FC<{}> = (props) => {
await
__
.
current
.
validateFields
()
)
})
console
.
log
(
data
,
'data'
)
//
console.log(data,'data')
Promise
.
all
(
data
).
then
((
values
)
=>
{
// 提交的数据进行处理
console
.
log
(
values
,
productSelectAttribute
,
productAttributeAndImageParams
,
'所有数据'
)
//
console.log(values, productSelectAttribute, productAttributeAndImageParams, '所有数据')
productSelectAttribute
.
length
>
0
&&
productSelectAttribute
.
map
(
_itme
=>
{
delete
_itme
.
attributeName
delete
_itme
.
isPrice
...
...
@@ -112,16 +112,19 @@ const AddProducts: React.FC<{}> = (props) => {
_params
.
logistics
.
weight
=
Number
(
_params
.
logistics
.
weight
)
// 处理地址
let
_commodityAreaList
:
any
=
[]
// console.log(_params, '_params')
_params
.
commodityAreaList
.
length
>
0
&&
_params
.
commodityAreaList
.
map
(
_itme
=>
{
let
_temp
:
any
=
{}
let
pobj
=
areaOption
.
filter
(
_
=>
_
.
code
===
_itme
[
0
])[
0
]
let
cobj
=
pobj
.
areaResponses
.
filter
(
__
=>
__
.
code
===
_itme
[
1
])[
0
]
_temp
.
provinceCode
=
pobj
.
code
_temp
.
provinceName
=
pobj
.
name
,
_temp
.
cityCode
=
cobj
.
code
,
_temp
.
cityName
=
cobj
.
name
,
_commodityAreaList
.
push
(
_temp
)
console
.
log
(
_itme
,
_temp
,
'地址的每一项'
)
if
(
_itme
){
let
_temp
:
any
=
{}
let
pobj
=
areaOption
.
filter
(
_
=>
_
.
code
===
_itme
[
0
])[
0
]
let
cobj
=
pobj
.
areaResponses
.
filter
(
__
=>
__
.
code
===
_itme
[
1
])[
0
]
_temp
.
provinceCode
=
pobj
.
code
_temp
.
provinceName
=
pobj
.
name
,
_temp
.
cityCode
=
cobj
.
code
,
_temp
.
cityName
=
cobj
.
name
,
_commodityAreaList
.
push
(
_temp
)
// console.log(_itme, _temp, '地址的每一项')
}
})
_params
.
commodityAreaList
=
_commodityAreaList
const
{
id
}
=
history
.
location
.
query
...
...
src/pages/commodity/products/fastModifyPrice.tsx
View file @
abdcfd3d
...
...
@@ -34,8 +34,8 @@ interface paramItem {
name
:
string
;
code
:
string
;
priceType
:
number
;
M
in
:
number
;
M
ax
:
number
;
m
in
:
number
;
m
ax
:
number
;
brandId
:
number
;
customerCategoryId
:
number
;
status
:
number
;
...
...
@@ -44,7 +44,7 @@ interface paramItem {
let
timeChange
:
any
;
const
FastModifyPrice
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
({})
const
ref
=
useRef
<
any
>
({})
const
[
setForm
]
=
Form
.
useForm
()
const
[
modifyModal
,
setModifyModal
]
=
useState
(
false
)
const
[
ladderPrice
,
setLadderPrice
]
=
useState
(
false
)
...
...
@@ -61,8 +61,8 @@ const FastModifyPrice: React.FC<{}> = () => {
name
:
''
,
code
:
''
,
priceType
:
null
,
Min
:
0
,
Max
:
0
,
min
:
null
,
max
:
null
,
brandId
:
0
,
customerCategoryId
:
0
,
status
:
null
,
...
...
@@ -88,13 +88,13 @@ const FastModifyPrice: React.FC<{}> = () => {
},
{
title
:
'品类'
,
dataIndex
:
[
'customerCategory'
,
'name'
]
,
key
:
'customerCategory
.n
ame'
,
dataIndex
:
'customerCategoryName'
,
key
:
'customerCategory
N
ame'
,
},
{
title
:
'品牌'
,
dataIndex
:
[
'brand'
,
'name'
]
,
key
:
'brand
.n
ame'
,
dataIndex
:
'brandName'
,
key
:
'brand
N
ame'
,
},
{
title
:
'单位'
,
...
...
@@ -188,30 +188,48 @@ const FastModifyPrice: React.FC<{}> = () => {
const
handleSee
=
(
record
:
any
)
=>
{
console
.
log
(
'see'
)
history
.
push
(
`/memberCenter/commodityAbility/commodity/products/viewProducts?id=
${
record
.
i
d
}
`
)
history
.
push
(
`/memberCenter/commodityAbility/commodity/products/viewProducts?id=
${
record
.
commodityI
d
}
`
)
}
const
handleModify
=
(
record
:
any
)
=>
{
console
.
log
(
'点击修改价格'
,
record
)
const
{
id
,
unitPrice
,
priceType
}
=
record
// 阶梯价格回显处理
setModifyModal
(
true
)
setPriceType
(
priceType
)
// 获取商品价格积分
PublicApi
.
getProductCommodityGetCommodityPrice
({
unitPriceAndPicId
:
id
}).
then
(
res
=>
{
const
{
data
}
=
res
setForm
.
resetFields
()
if
(
Object
.
keys
(
data
)[
0
]
===
'0-0'
)
{
// 状态为非阶梯价格
setLadderPrice
(
false
)
setForm
.
setFieldsValue
({
ladderPrice
:
false
,
uniquePrice
:
Object
.
values
(
data
)[
0
]})
}
else
if
(
JSON
.
stringify
(
data
)
===
'{}'
){
// 没有数据
setLadderPrice
(
false
)
}
else
{
setLadderPrice
(
true
)
let
numberArray
=
Object
.
keys
(
data
).
map
(
item
=>
item
.
split
(
'-'
).
map
(
_
=>
Number
(
_
)))
let
priceArray
=
Object
.
values
(
data
)
let
tempArr
=
[];
numberArray
.
map
((
_item
,
_index
)
=>
{
tempArr
.
push
({
numberPrice
:
priceArray
[
_index
],
numberRange
:
{
numberMin
:
_item
[
0
],
numberMax
:
_item
[
1
]
}
})
})
setForm
.
setFieldsValue
({
ladderPrice
:
true
,
ladderRange
:
tempArr
})
}
})
}
const
handleReset
=
()
=>
{
let
restObj
=
{
name
:
''
,
code
:
''
,
Max
:
0
,
Min
:
0
,
priceType
:
null
,
brandId
:
0
,
customerCategoryId
:
0
,
status
:
null
}
let
restObj
=
{
name
:
''
,
code
:
''
,
max
:
null
,
min
:
null
,
priceType
:
null
,
brandId
:
0
,
customerCategoryId
:
0
,
status
:
null
}
setFilterParams
(
restObj
)
setBrandValue
(
undefined
)
setClassValue
(
undefined
)
//@ts-ignore
ref
.
current
.
reload
(
restObj
)
}
const
handleBrandSearch
=
(
value
:
any
)
=>
{
// end value
console
.
log
(
value
,
'handleBrandSearch'
)
//
console.log(value, 'handleBrandSearch')
if
(
value
)
{
PublicApi
.
getProductSelectGetSelectBrand
({
name
:
value
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
...
...
@@ -224,13 +242,13 @@ const FastModifyPrice: React.FC<{}> = () => {
const
handleBrandChange
=
(
value
:
any
)
=>
{
setBrandValue
(
value
)
console
.
log
(
value
,
'handleBrandChange'
)
//
console.log(value, 'handleBrandChange')
let
obj
=
{
...
filterParams
,
brandId
:
value
}
setFilterParams
(
obj
)
}
const
handleClassSearch
=
(
value
:
any
)
=>
{
console
.
log
(
value
,
'handleClassSearch'
)
//
console.log(value, 'handleClassSearch')
if
(
value
)
{
PublicApi
.
getProductSelectGetSelectCustomerCategory
({
name
:
value
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
...
...
@@ -245,28 +263,27 @@ const FastModifyPrice: React.FC<{}> = () => {
setClassValue
(
value
)
let
obj
=
{
...
filterParams
,
customerCategoryId
:
value
}
setFilterParams
(
obj
)
console
.
log
(
value
,
'handleClassChange'
)
//
console.log(value, 'handleClassChange')
}
const
handleSearch
=
(
val
:
string
)
=>
{
console
.
log
(
val
)
let
obj
=
{
...
filterParams
,
name
:
val
}
setFilterParams
(
obj
)
//@ts-ignore
ref
.
current
.
reload
(
obj
)
}
const
handleOk
=
()
=>
{
setForm
.
validateFields
().
then
(
v
=>
{
setModifyModal
(
false
)
console
.
log
(
v
,
'value'
)
//
console.log(v,'value')
})
console
.
log
(
'handleOk'
)
//
console.log('handleOk')
}
const
handleCancel
=
()
=>
{
setModifyModal
(
false
)
console
.
log
(
'handleCancel'
)
//
console.log('handleCancel')
}
const
changeLadderPrice
=
(
e
:
any
)
=>
{
...
...
@@ -274,6 +291,38 @@ const FastModifyPrice: React.FC<{}> = () => {
setForm
.
setFields
([{
name
:
'ladderPrice'
,
value
:
e
.
target
.
checked
}])
}
const
handleHightSearch
=
(
val
?:
string
)
=>
{
console
.
log
(
val
)
let
obj
=
val
?
{...
filterParams
,
name
:
val
}
:
{
...
filterParams
}
setFilterParams
(
obj
)
ref
.
current
.
reload
(
obj
)
}
// 校验阶梯范围
const
validatorNumberRange
=
(
rule
,
value
,
callback
)
=>
{
// console.log(value, 'value')
try
{
if
(
Array
.
isArray
(
value
)){
// console.log(value, 'array')
let
range
=
value
.
map
(
item
=>
{
if
(
item
)
return
Object
.
values
(
item
.
numberRange
)
}).
reduce
(
function
(
a
,
b
)
{
return
a
.
concat
(
b
);
},
[]
)
let
result
=
range
.
reduce
((
a
,
b
)
=>
{
console
.
log
(
a
,
b
);
if
(
a
<
b
)
return
b
})
// console.log(result, 'result')
if
(
!
result
)
throw
new
Error
(
'请正确输入阶梯数量范围'
);
callback
()
}
}
catch
(
err
)
{
callback
(
err
)
}
}
return
(
<
PageHeaderWrapper
>
<
Card
>
...
...
@@ -356,8 +405,9 @@ const FastModifyPrice: React.FC<{}> = () => {
type=
"number"
style=
{
{
width
:
'40%'
,
textAlign
:
'center'
}
}
min=
{
0
}
value=
{
filterParams
.
min
}
placeholder=
"最低价格"
onChange=
{
(
e
)
=>
setFilterParams
({
...
filterParams
,
M
in
:
+
e
.
target
.
value
})
}
onChange=
{
(
e
)
=>
setFilterParams
({
...
filterParams
,
m
in
:
+
e
.
target
.
value
})
}
/>
<
Input
style=
{
{
...
...
@@ -379,11 +429,15 @@ const FastModifyPrice: React.FC<{}> = () => {
borderLeft
:
0
,
}
}
min=
{
0
}
value=
{
filterParams
.
max
}
placeholder=
"最高价格"
onChange=
{
(
e
)
=>
setFilterParams
({
...
filterParams
,
M
ax
:
+
e
.
target
.
value
})
}
onChange=
{
(
e
)
=>
setFilterParams
({
...
filterParams
,
m
ax
:
+
e
.
target
.
value
})
}
/>
</
Input
.
Group
>
</
Col
>
<
Col
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleHightSearch
()
}
>
查询
</
Button
>
</
Col
>
</
Col
>
</
Row
>
</
Col
>
...
...
@@ -405,18 +459,30 @@ const FastModifyPrice: React.FC<{}> = () => {
{
...
layout
}
name=
"settingPrice"
form=
{
setForm
}
autoComplete=
"off"
>
<
Form
.
Item
label=
""
name=
"ladderPrice"
>
<
Checkbox
checked=
{
ladderPrice
}
onChange=
{
changeLadderPrice
}
>
阶梯价格
</
Checkbox
>
</
Form
.
Item
>
{
priceType
!==
3
&&
<
Form
.
Item
label=
""
name=
"ladderPrice"
>
<
Checkbox
checked=
{
ladderPrice
}
onChange=
{
changeLadderPrice
}
>
阶梯价格
</
Checkbox
>
</
Form
.
Item
>
}
{
ladderPrice
?
<
Form
.
Item
name=
"ladderRange"
label=
""
shouldUpdate=
{
true
}
rules=
{
[
{
required
:
true
,
message
:
'阶梯范围为必填项'
},
{
validator
:
validatorNumberRange
}
]
}
>
<
Form
.
List
name=
"ladderRange"
key=
{
Math
.
random
()
}
>
{
(
fields
,
{
add
,
remove
})
=>
{
...
...
@@ -435,12 +501,23 @@ const FastModifyPrice: React.FC<{}> = () => {
key=
{
'_'
+
field
.
fieldKey
}
noStyle
>
{
/* <Input style={{ width: '50%' }} placeholder="请输入数量区间" /> */
}
<
Input
.
Group
compact
>
<
Form
.
Item
name=
{
[
field
.
name
,
'numberRange'
,
'numberMin'
]
}
noStyle
>
<
Form
.
Item
name=
{
[
field
.
name
,
'numberRange'
,
'numberMin'
]
}
noStyle
rules=
{
[
{
required
:
true
,
message
:
'阶梯最小数量为必填项'
},
{
pattern
:
/^
\d
+
(\.\d
{1,3}
)?
$/
,
message
:
'阶梯数值小数点后仅限三位'
,
}
]
}
>
<
Input
style=
{
{
width
:
100
,
textAlign
:
'center'
}
}
placeholder=
"最小数量"
/>
</
Form
.
Item
>
{
/* <Input style={{ width: 100,textAlign: 'center' }} placeholder="最小数量" /> */
}
<
Input
style=
{
{
width
:
30
,
...
...
@@ -451,7 +528,20 @@ const FastModifyPrice: React.FC<{}> = () => {
placeholder=
"~"
disabled
/>
<
Form
.
Item
name=
{
[
field
.
name
,
'numberRange'
,
'numberMax'
]
}
noStyle
>
<
Form
.
Item
name=
{
[
field
.
name
,
'numberRange'
,
'numberMax'
]
}
noStyle
rules=
{
[
{
required
:
true
,
message
:
'阶梯最大数量为必填项'
},
{
pattern
:
/^
\d
+
(\.\d
{1,3}
)?
$/
,
message
:
'阶梯数值小数点后仅限三位'
,
}
]
}
>
<
Input
className=
{
styles
.
siteInputRight
}
style=
{
{
...
...
@@ -461,14 +551,6 @@ const FastModifyPrice: React.FC<{}> = () => {
placeholder=
"最大数量"
/>
</
Form
.
Item
>
{
/* <Input
className="site-input-right"
style={{
width: 100,
textAlign: 'center',
}}
placeholder="最大数量"
/> */
}
</
Input
.
Group
>
</
Item
>
<
Item
...
...
@@ -477,6 +559,16 @@ const FastModifyPrice: React.FC<{}> = () => {
fieldKey=
{
[
field
.
fieldKey
,
'numberPrice'
]
}
key=
{
'__'
+
field
.
fieldKey
}
noStyle
rules=
{
[
{
required
:
true
,
message
:
'阶梯单价为必填项'
},
{
pattern
:
/^
\d
+
(\.\d
{1,4}
)?
$/
,
message
:
'阶梯单价小数点后仅限四位'
,
}
]
}
>
<
Input
style=
{
{
width
:
'50%'
,
marginLeft
:
24
}
}
placeholder=
"请输入单价"
/>
</
Item
>
...
...
@@ -492,11 +584,20 @@ const FastModifyPrice: React.FC<{}> = () => {
}
}
</
Form
.
List
>
</
Form
.
Item
>
:
<
Form
.
Item
label=
"单价"
label=
{
priceType
===
3
?
"积分"
:
"单价"
}
name=
"uniquePrice"
rules=
{
[{
required
:
true
,
message
:
'请输入单价!'
}]
}
rules=
{
[
{
required
:
true
,
message
:
priceType
===
3
?
'请输入积分!'
:
'请输入单价!'
},
{
pattern
:
priceType
!==
3
&&
/^
\d
+
(\.\d
{1,4}
)?
$/
,
message
:
priceType
!==
3
&&
'小数点后仅限四位'
,
}
]
}
>
<
Input
placeholder=
"请输入单价"
/>
<
Input
placeholder=
{
priceType
===
3
?
"请输入积分"
:
"请输入单价"
}
/>
</
Form
.
Item
>
}
</
Form
>
...
...
src/pages/commodity/products/index.tsx
View file @
abdcfd3d
...
...
@@ -59,6 +59,7 @@ const Products: React.FC<{}> = () => {
const
[
shopsOption
,
setShopsOption
]
=
useState
<
GetProductCommodityGetShopResponse
>
([])
const
[
checkedValues
,
setCheckedValues
]
=
useState
<
any
>
([])
const
[
currentOptionId
,
setCurrentOptionId
]
=
useState
()
const
[
isDisabledOKbtn
,
setIsDisabledOKbtn
]
=
useState
<
boolean
>
(
false
)
let
[
isHighSearch
,
setIsHighSearch
]
=
useState
(
false
)
const
[
filterParams
,
setFilterParams
]
=
useState
<
paramItem
>
({
...
...
@@ -414,7 +415,7 @@ const Products: React.FC<{}> = () => {
setCheckedValues
(
values
)
}
const
clickUp
=
(
param
:
any
,
id
:
any
)
=>
{
// 0 下架 1上架
const
clickUp
=
(
param
:
any
,
id
:
any
)
=>
{
//
param:
0 下架 1上架
setCurrentOptionId
(
id
)
PublicApi
.
getProductCommodityGetShop
({
id
:
id
}).
then
(
res
=>
{
setShopsOption
(
res
.
data
)
...
...
@@ -425,6 +426,7 @@ const Products: React.FC<{}> = () => {
}
const
handleUp
=
()
=>
{
setIsDisabledOKbtn
(
true
)
let
params
=
{
id
:
currentOptionId
,
shopList
:
checkedValues
...
...
@@ -433,11 +435,13 @@ const Products: React.FC<{}> = () => {
PublicApi
.
postProductCommodityPublishCommodity
(
params
).
then
(
res
=>
{
setUpDownModal
(
false
)
ref
.
current
.
reload
()
setIsDisabledOKbtn
(
false
)
})
else
PublicApi
.
postProductCommodityOffPublishCommodity
(
params
).
then
(
res
=>
{
setUpDownModal
(
false
)
ref
.
current
.
reload
()
setIsDisabledOKbtn
(
false
)
})
}
...
...
@@ -475,7 +479,7 @@ const Products: React.FC<{}> = () => {
const
handleBatchDelete
=
(
ids
:
string
[])
=>
{
console
.
log
(
'删除'
,
ids
)
//@ts-ignore
//
@ts-ignore
PublicApi
.
postProductCommodityDeleteBatchCommodity
({
idList
:
ids
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
ref
.
current
.
reload
()
...
...
@@ -487,7 +491,6 @@ const Products: React.FC<{}> = () => {
setFilterParams
(
restObj
)
setBrandValue
(
undefined
)
setClassValue
(
undefined
)
//@ts-ignore
ref
.
current
.
reload
(
restObj
)
}
...
...
@@ -533,7 +536,6 @@ const Products: React.FC<{}> = () => {
console
.
log
(
val
)
let
obj
=
val
?
{...
filterParams
,
name
:
val
}
:
{
...
filterParams
}
setFilterParams
(
obj
)
//@ts-ignore
ref
.
current
.
reload
(
obj
)
}
...
...
@@ -774,6 +776,7 @@ const Products: React.FC<{}> = () => {
onOk=
{
handleUp
}
onCancel=
{
handleCancelUp
}
forceRender=
{
true
}
okButtonProps=
{
{
disabled
:
isDisabledOKbtn
}
}
>
<
Form
layout=
"vertical"
...
...
src/pages/commodity/products/viewProducts.tsx
View file @
abdcfd3d
...
...
@@ -142,8 +142,6 @@ const viewProducts: React.FC<{}> = () => {
},
];
/* 商品属性显示 */
//以属性组和属性名称归档的数据
const
renderDataByTab
=
(
data
:
GetProductCommodityGetCommodityResponse
)
=>
{
...
...
@@ -582,7 +580,7 @@ const viewProducts: React.FC<{}> = () => {
{
/* 视频区块 */
}
<
div
className=
{
styles
.
descriptionBox
}
>
{
productDetail
?.
commodityRemark
?.
video
.
length
>
0
?
productDetail
?.
commodityRemark
?.
video
.
map
((
_item
,
_index
)
=>
<
div
key=
{
_index
}
className=
{
styles
.
videoItem
}
>
productDetail
?.
commodityRemark
?.
video
?
.
length
>
0
?
productDetail
?.
commodityRemark
?.
video
.
map
((
_item
,
_index
)
=>
<
div
key=
{
_index
}
className=
{
styles
.
videoItem
}
>
<
video
src=
{
_item
}
controls=
{
true
}
>
您的浏览器不支持视频标签,请及时升级。
</
video
>
...
...
src/pages/trademark/addBrand.tsx
View file @
abdcfd3d
...
...
@@ -121,18 +121,19 @@ const AddBrand: React.FC<{}> = () => {
const
handleSave
=
()
=>
{
form
.
validateFields
().
then
((
values
:
any
)
=>
{
if
(
values
?.
proveUrl
?.
fileList
&&
fileList
.
length
){
delete
values
.
proveUrl
.
fileList
delete
values
.
proveUrl
.
file
}
console
.
log
(
values
,
'vvv'
)
if
(
history
.
location
.
query
.
id
){
values
.
id
=
Number
(
history
.
location
.
query
.
id
)
let
obj
=
{};
fileList
.
forEach
((
item
,
index
)
=>
{
obj
[
index
]
=
item
?.
url
obj
[
index
]
=
item
?.
url
||
item
?.
response
?.
data
})
values
.
proveUrl
=
obj
}
if
(
values
?.
proveUrl
?.
fileList
&&
fileList
.
length
){
delete
values
.
proveUrl
.
fileList
delete
values
.
proveUrl
.
file
}
PublicApi
.
postProductBrandSaveOrUpdateBrand
(
values
).
then
(
res
=>
{
setIsEnableCheck
(
false
)
//@ts-ignore
...
...
src/pages/user/components/LoginWrap.tsx
View file @
abdcfd3d
...
...
@@ -23,7 +23,8 @@ const LoginWrap: React.FC = () => {
token
:
data
.
token
})
setRouters
(
data
.
urls
)
history
.
push
(
'/memberCenter/home'
)
// 此处需使用href跳转, 否则无法触发app.ts中的路由初始化校验
window
.
location
.
href
=
'/memberCenter/home'
})
}
...
...
src/pages/user/register.tsx
View file @
abdcfd3d
...
...
@@ -41,7 +41,7 @@ const CustomCheckbox = props => {
return
(
<
Radio
.
Group
value=
{
props
.
value
}
onChange=
{
props
.
onChange
}
className=
{
layout
===
'column'
?
'identityRadio'
:
'businessRadio'
}
name=
{
props
.
name
}
>
{
props
.
dataSource
&&
props
.
dataSource
.
map
((
v
,
i
)
=>
<
Radio
.
Button
value=
{
v
.
value
}
key=
{
v
.
value
+
i
}
>
{
v
.
label
}
</
Radio
.
Button
>)
props
.
dataSource
&&
props
.
dataSource
.
map
((
v
,
i
)
=>
<
Tooltip
title=
{
v
.
label
}
placement=
'leftTop'
key=
{
v
.
value
+
i
}
><
Radio
.
Button
value=
{
v
.
value
}
>
{
v
.
label
}
</
Radio
.
Button
></
Tooltip
>)
}
</
Radio
.
Group
>
)
...
...
@@ -280,7 +280,15 @@ const UserRegistry = () => {
name=
{
field
.
fieldName
}
key=
{
field
.
fieldName
}
title=
{
field
.
fieldCNName
}
x
-
component
-
props=
{
{
listType
:
'text'
}
}
x
-
component
-
props=
{
{
name
:
'file'
,
listType
:
'text'
,
actions
:
"/api/file/file/upload"
,
data
:
{
fileType
:
1
},
showUploadList
:
false
,
}
}
x
-
component=
'Upload'
>
</
Field
>
...
...
src/services/index.ts~2a51756929cf7da4655efbc6177a581462b486b2
View file @
abdcfd3d
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/utils/request.ts
View file @
abdcfd3d
...
...
@@ -4,6 +4,7 @@ import { IRequestError, IRequestSuccess } from '..';
import
{
history
}
from
'umi'
import
{
message
}
from
'antd'
import
{
getAuth
,
removeAuth
}
from
'./auth'
;
import
{
GlobalConfig
}
from
'@/global/config'
;
export
type
CtlType
=
'none'
|
'message'
// 根前缀请求路径
...
...
@@ -52,7 +53,8 @@ const errorHandler = (error: ResponseError): IRequestError => {
const
defaultHeaders
=
{
'Content-Type'
:
'Application/json'
,
'source'
:
'1'
'source'
:
'1'
,
'site'
:
GlobalConfig
.
global
.
siteId
.
toString
()
}
/**
...
...
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