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
a07ded6e
Commit
a07ded6e
authored
Mar 28, 2023
by
张子雨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 新增商家资料和合同
parent
978bf3d6
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
485 additions
and
453 deletions
+485
-453
env.config.js
config/env.config.js
+1
-1
data.js
src/pages/businessManage/info/data.js
+37
-26
index.jsx
src/pages/businessManage/info/index.jsx
+343
-341
service.js
src/pages/businessManage/service.js
+10
-18
storeModal.jsx
src/pages/chainStoreManage/components/storeModal.jsx
+39
-14
data.js
src/pages/chainStoreManage/data.js
+7
-0
index.jsx
src/pages/chainStoreManage/index.jsx
+18
-3
services.js
src/pages/chainStoreManage/services.js
+8
-0
upload.jsx
src/pages/components/upload.jsx
+4
-3
index.jsx
src/pages/contractView/index.jsx
+10
-3
services.js
src/pages/contractView/services.js
+6
-44
utils.js
src/utils/utils.js
+2
-0
No files found.
config/env.config.js
View file @
a07ded6e
const
isProduction
=
process
.
env
.
NODE_ENV
===
'
production
'
;
const
isPre
=
process
.
env
.
PRE_ENV
===
'
pre
'
;
const
environment
=
'
xyqb
'
;
const
environment
=
'
sc1
'
;
const
envAPi
=
{
api
:
`https://security-
${
environment
}
.liangkebang.net`
,
//'https://security-xyqb.liangkebang.net',
kdspOpApi
:
`https://sc-merchant-api-
${
environment
}
.liangkebang.net`
,
...
...
src/pages/businessManage/info/data.js
View file @
a07ded6e
...
...
@@ -2,13 +2,11 @@ import React from 'react';
import
moment
from
'
moment
'
;
import
{
PlusOutlined
}
from
'
@ant-design/icons
'
;
import
{
notification
,
Tag
,
Tooltip
,
Input
}
from
'
antd
'
;
// import { reject } from 'lodash-es';
import
{
uploadFile
,
apiCategoryList
,
apiAddrArea
,
apiServiceFacility
,
apiApplyDetail
,
apiBusinessDetail
,
apiBankList
,
}
from
'
../service
'
;
...
...
@@ -42,24 +40,38 @@ export const businessModel = [
];
// 获取申请信息
export
async
function
getInfo
(
id
,
type
)
{
let
api
=
apiApplyDetail
;
if
([
'
info
'
,
'
edit
'
,
'
revision
'
].
includes
(
type
))
{
api
=
apiBusinessDetail
;
}
const
[
res
]
=
await
api
(
id
);
export
async
function
getInfo
()
{
const
data
=
await
apiBusinessDetail
();
let
settlementType
=
1
;
const
res
=
data
.
data
;
if
(
res
)
{
if
(
res
.
facilities
)
{
res
.
customList
=
res
.
facilities
.
customList
||
[];
res
.
selfList
=
res
.
facilities
.
selfList
||
[];
}
res
.
accountOpenPermitImage
=
[{
uid
:
0
,
url
:
res
.
accountOpenPermitImage
}];
res
.
businessLicenseImage
=
[{
uid
:
0
,
url
:
res
.
businessLicenseImage
}];
res
.
idCardEmblemImage
=
[{
uid
:
0
,
url
:
res
.
idCardEmblemImage
}];
res
.
idCardPortraitImage
=
[{
uid
:
0
,
url
:
res
.
idCardPortraitImage
}];
res
.
primaryImage
=
[{
uid
:
0
,
url
:
res
.
primaryImage
}];
res
.
sealImage
=
[{
uid
:
0
,
url
:
res
.
sealImage
}];
res
.
accountOpenPermitImage
=
res
.
accountOpenPermitImage
?
[{
uid
:
0
,
url
:
res
.
accountOpenPermitImage
}]
:
[];
res
.
businessLicenseImage
=
res
.
businessLicenseImage
?
[{
uid
:
0
,
url
:
res
.
businessLicenseImage
}]
:
[];
res
.
idCardEmblemImage
=
res
.
idCardEmblemImage
?
[{
uid
:
0
,
url
:
res
.
idCardEmblemImage
}]
:
[];
res
.
idCardPortraitImage
=
res
.
idCardPortraitImage
?
[{
uid
:
0
,
url
:
res
.
idCardPortraitImage
}]
:
[];
res
.
primaryImage
=
res
.
primaryImage
?
[{
uid
:
0
,
url
:
res
.
primaryImage
}]
:
[];
res
.
sealImage
=
res
.
sealImage
?
[{
uid
:
0
,
url
:
res
.
sealImage
}]
:
[];
res
.
brandCertificate
=
res
.
brandCertificate
?
[{
uid
:
0
,
url
:
res
.
brandCertificate
}]
:
[];
// 非同名结算授权文件
res
.
differentNameAuthorizationImage
=
res
.
differentNameAuthorizationImage
?
[{
uid
:
0
,
url
:
res
.
brandCertificate
}]
:
[];
// 户口本本人页
res
.
householdRegisterImage
=
res
.
householdRegisterImage
?
[{
uid
:
0
,
url
:
res
.
householdRegisterImage
}]
:
[];
// 工商局
res
.
icbProofImage
=
res
.
icbProofImage
?
[{
uid
:
0
,
url
:
res
.
icbProofImage
}]
:
[];
if
(
res
.
categoryQualificateImage
)
{
res
.
categoryQualificateImage
=
[{
uid
:
0
,
url
:
res
.
categoryQualificateImage
}];
}
...
...
@@ -75,11 +87,18 @@ export async function getInfo(id, type) {
}
settlementType
=
+
res
.
settlementType
;
}
res
.
legalPersonPeriod
=
res
.
legalPersonPeriod
.
split
(
'
-
'
).
map
(
item
=>
moment
(
item
));
res
.
businessLicensePeriod
=
moment
(
res
.
businessLicensePeriod
);
res
.
checked
=
res
.
legalPersonPeriod
===
'
长期
'
;
res
.
legalPerson
=
res
.
legalPersonPeriod
&&
res
.
legalPersonPeriod
!==
'
长期
'
&&
res
.
legalPersonPeriod
.
split
(
'
-
'
).
map
(
item
=>
moment
(
item
));
res
.
businessLicensePeriod
=
res
.
businessLicensePeriod
&&
moment
(
res
.
businessLicensePeriod
);
const
companyNamedis
=
!!
res
.
companyName
;
this
.
setState
({
settlementType
,
businessInfo
:
res
,
checkboxDisabled
:
res
.
checked
,
companyNamedis
,
});
}
...
...
@@ -92,6 +111,7 @@ function delImg(keyName, e) {
};
});
}
// 上传图片
export
function
uploadPropsFn
(
{
keyName
,
limit
=
1
,
maxSize
=
1024
*
1024
*
5
,
maxSizeMsg
=
'
文件大小不能超过5M!
'
,
type
=
0
},
...
...
@@ -247,16 +267,6 @@ export function renderServiceTags() {
}
/** **** 自定义服务设施 end ***************************** */
// 获取主营类目
export
async
function
getCategoryList
()
{
const
[
res
]
=
await
apiCategoryList
();
if
(
res
)
{
this
.
setState
({
categoryList
:
res
,
});
}
}
// 获取服务设施
export
async
function
getServiceFacility
()
{
const
res
=
await
apiServiceFacility
();
...
...
@@ -288,6 +298,7 @@ export async function getAreaAddr() {
label
:
item
.
addrName
,
value
:
item
.
addrId
,
}));
console
.
log
(
this
.
state
.
businessInfo
,
'
......
'
);
// 编辑时 回显 市、区、街道
if
(
this
.
state
.
businessInfo
.
provinceId
)
{
const
pros
=
res
.
filter
(
item
=>
+
item
.
value
===
+
this
.
state
.
businessInfo
.
provinceId
);
...
...
src/pages/businessManage/info/index.jsx
View file @
a07ded6e
This diff is collapsed.
Click to expand it.
src/pages/businessManage/service.js
View file @
a07ded6e
...
...
@@ -4,20 +4,20 @@ import config from '../../../config/env.config';
import
qs
from
'
qs
'
;
import
{
da
}
from
'
date-fns/locale
'
;
const
{
kdspApi
}
=
config
;
const
{
kdspApi
,
goodsApi
}
=
config
;
// 获取地址
export
const
apiAddrArea
=
params
=>
request
.
post
(
'
/api/merchants/addresses/list
'
,
{
request
.
get
(
`/api/merchants/addresses/list?
${
qs
.
stringify
(
params
)}
`
,
{
prefix
:
kdspApi
,
data
:
params
,
emulateJSON
:
true
,
});
// 主营类目
export
const
apiCategoryList
=
params
=>
request
.
post
(
'
/product/category/list
'
,
{
prefix
:
kdspApi
,
params
});
export
async
function
apiCategoryList
(
param
)
{
return
request
.
post
(
'
/api/merchants/suppliers/main-category/list
'
,
{
data
:
param
,
prefix
:
goodsApi
,
});
}
// 服务设施
export
const
apiServiceFacility
=
()
=>
request
.
get
(
'
/api/merchants/suppliers/facilities/list
'
,
{
prefix
:
kdspApi
});
...
...
@@ -48,22 +48,14 @@ export async function uploadFile(files, imageType = 0) {
return
data
;
}
// 新增商家端入驻申请
export
const
apiNewStoreInfo
=
params
=>
request
.
post
(
`
${
kdspApi
}
/api/merchants/suppliers/register`
,
{
prefix
:
kdspApi
,
data
:
params
});
// 图片内容识别
export
const
apiRecognize
=
params
=>
request
.
get
(
`/api/merchants/images/recognize?
${
qs
.
stringify
(
params
)}
`
,
{
prefix
:
kdspApi
});
// 编辑商户信息
export
const
apiEditStoreInfo
=
params
=>
request
.
post
(
`
${
kdspApi
}
/api/merchants/suppliers/pops/edit`
,
{
prefix
:
kdspApi
,
data
:
params
});
// 查询申请详情
export
const
apiApplyDetail
=
applyId
=>
request
.
get
(
`
${
kdspApi
}
/api/merchants/suppliers/register/detail?applyId=
${
applyId
}
`
);
request
.
post
(
'
/api/merchants/suppliers/edit
'
,
{
prefix
:
kdspApi
,
data
:
params
});
// 查询商户详情
export
const
apiBusinessDetail
=
businessId
=>
request
.
get
(
`
${
kdspApi
}
/api/merchants/suppliers/pops/detail/
${
businessId
}
`
);
request
.
get
(
'
/api/merchants/suppliers/pops/detail
'
,
{
prefix
:
kdspApi
}
);
src/pages/chainStoreManage/components/storeModal.jsx
View file @
a07ded6e
...
...
@@ -4,7 +4,7 @@ import moment from 'moment';
import
{
PlusSquareFilled
,
MinusSquareFilled
}
from
'
@ant-design/icons
'
;
import
{
Modal
,
Input
,
TimePicker
,
Checkbox
,
Cascader
,
Radio
,
notification
}
from
'
antd
'
;
import
{
apiAddrArea
,
apiCreatStore
,
apiEditStore
}
from
'
../services
'
;
import
{
weekOptions
,
weekDefault
,
layout
}
from
'
../data
'
;
import
{
weekOptions
,
weekDefault
,
layout
,
businessModel
}
from
'
../data
'
;
import
MapModal
from
'
@/components/GaoDeMap
'
;
import
style
from
'
./style.less
'
;
import
{
isCheckNumberLine
}
from
'
@/utils/validator
'
;
...
...
@@ -19,6 +19,7 @@ const StoreModal = props => {
form
:
{
getFieldDecorator
,
setFieldsValue
,
getFieldsValue
,
validateFields
,
resetFields
},
formInfo
,
status
,
productBusiness
,
}
=
props
;
const
[
areaAddr
,
setAreaAddr
]
=
useState
([]);
const
[
visibleMap
,
setVisibleMap
]
=
useState
(
false
);
...
...
@@ -29,12 +30,21 @@ const StoreModal = props => {
address
:
''
,
});
const
[
disabled
,
setDisabled
]
=
useState
(
false
);
const
[
isDisabled
,
setIsDisabled
]
=
useState
(
true
);
const
divDom
=
useRef
();
useEffect
(()
=>
{
setDisabled
(
props
.
status
);
},
[
props
.
status
]);
useEffect
(()
=>
{
if
(
props
.
productBusiness
.
length
)
{
const
val
=
props
.
productBusiness
.
includes
(
2
)
||
props
.
productBusiness
.
includes
(
3
);
setIsDisabled
(
val
);
}
},
[
props
.
productBusiness
]);
const
handleCancel
=
isSuccess
=>
{
resetFields
();
onCancel
(
isSuccess
);
...
...
@@ -49,6 +59,10 @@ const StoreModal = props => {
params
[
areaArr
[
i
]]
=
item
;
});
}
if
(
params
.
shopHeadImage
.
length
)
{
// eslint-disable-next-line prefer-destructuring
params
.
shopHeadImage
=
params
.
shopHeadImage
[
0
];
}
if
(
params
.
lnglat
)
{
const
arr
=
params
.
lnglat
.
split
(
'
,
'
);
if
(
arr
.
length
===
2
)
{
...
...
@@ -223,9 +237,11 @@ const StoreModal = props => {
}
info
.
lnglat
=
`
${
info
.
longitude
}
,
${
info
.
latitude
}
`
;
info
.
addr
=
[
info
.
provinceId
,
info
.
cityId
,
info
.
countyId
];
info
.
shopHeadImage
=
[
info
.
shopHeadImage
]
||
[];
if
(
info
.
townId
)
{
info
.
addr
.
push
(
info
.
townId
);
}
console
.
log
(
info
);
setTimes
(
harr
);
setFormData
(
info
);
getLazyAddr
(
info
);
...
...
@@ -242,21 +258,28 @@ const StoreModal = props => {
<
Modal
title=
"门店信息"
visible=
{
visible
}
width=
"
8
00px"
width=
"
10
00px"
destroyOnClose
maskClosable=
{
false
}
onOk=
{
()
=>
onSubmit
()
}
onCancel=
{
()
=>
handleCancel
()
}
>
<
Form
{
...
layout
}
name=
"formData"
>
<
FormItem
label=
"业务模式"
>
{
getFieldDecorator
(
'
productBusiness
'
,
{
initialValue
:
productBusiness
,
})(<
Checkbox
.
Group
disabled
options=
{
businessModel
}
/>)
}
</
FormItem
>
{
isDisabled
&&
(
<
FormItem
label=
"门店头像"
>
{
getFieldDecorator
(
'
supplement
'
,
{
{
getFieldDecorator
(
'
shopHeadImage
'
,
{
rules
:
[{
required
:
true
,
message
:
'
请上传门店头像
'
}],
initialValue
:
formData
.
shopHeadImage
||
[],
valuePropName
:
'
fileList
'
,
getValueFromEvent
:
normFile
,
})(<
Upload
max=
{
1
}
accept=
".jpg,.png,.jpeg"
disabled=
{
disabled
}
/>)
}
</
FormItem
>
)
}
<
FormItem
label=
"门店名称"
name=
"name"
...
...
@@ -366,11 +389,13 @@ const StoreModal = props => {
</
Radio
.
Group
>,
)
}
</
FormItem
>
{
isDisabled
&&
(
<
FormItem
label=
"门店公告"
>
{
getFieldDecorator
(
'
publicNotice
'
,
{
initialValue
:
formData
.
publicNotice
,
})(<
Input
placeholder=
"请输入门店公告"
maxLength=
{
120
}
disabled=
{
disabled
}
/>)
}
</
FormItem
>
)
}
</
Form
>
<
MapModal
visible=
{
visibleMap
}
...
...
src/pages/chainStoreManage/data.js
View file @
a07ded6e
...
...
@@ -17,3 +17,10 @@ export const layout = {
labelCol
:
{
span
:
6
},
wrapperCol
:
{
span
:
16
},
};
// 业务模式
export
const
businessModel
=
[
{
label
:
'
到家外卖业务(外卖配送业务)
'
,
value
:
1
},
{
label
:
'
实物商品业务员
'
,
value
:
2
},
{
label
:
'
到店业务(服务类业务)
'
,
value
:
3
},
];
src/pages/chainStoreManage/index.jsx
View file @
a07ded6e
...
...
@@ -13,7 +13,7 @@ import {
}
from
'
antd
'
;
import
_
from
'
lodash
'
;
import
{
el
}
from
'
date-fns/locale
'
;
import
{
searchList
,
apiEnableStore
,
apiAddrArea
}
from
'
./services
'
;
import
{
searchList
,
apiEnableStore
,
apiAddrArea
,
apiproductBusiness
}
from
'
./services
'
;
import
{
stateDesc
,
weeks
,
layout
}
from
'
./data
'
;
import
StoreModal
from
'
./components/storeModal
'
;
import
style
from
'
./style.less
'
;
...
...
@@ -28,18 +28,26 @@ export default () => {
const
[
pageNo
,
setPageNo
]
=
useState
(
1
);
const
[
totalNum
,
setTotalNum
]
=
useState
(
0
);
const
[
pageSize
,
setPageSize
]
=
useState
(
20
);
const
[
productBusiness
,
setProductBusiness
]
=
useState
([]);
const
refSearch
=
useRef
();
const
divDom
=
useRef
();
// 获取业务模式
const
getBusiness
=
async
()
=>
{
const
res
=
await
apiproductBusiness
();
setProductBusiness
(
res
);
};
const
onCreate
=
()
=>
{
setStoreInfo
({});
setVisible
(
true
);
getBusiness
();
};
const
onShowInfo
=
(
info
,
val
)
=>
{
setStoreInfo
(
info
);
const
value
=
val
!==
'
edit
'
;
console
.
log
(
value
);
setStatus
(
value
);
setVisible
(
true
);
getBusiness
();
};
// 获取市区街道
...
...
@@ -115,6 +123,7 @@ export default () => {
if
(
isReload
)
{
onSearch
(
refSearch
.
current
?.
getFieldValue
?.()
||
{});
}
setStatus
(
false
);
setStoreInfo
({});
setVisible
(
false
);
};
...
...
@@ -336,7 +345,13 @@ export default () => {
/>
</
div
>
)
:
null
}
<
StoreModal
visible=
{
visible
}
onCancel=
{
closeModal
}
formInfo=
{
storeInfo
}
status=
{
status
}
/>
<
StoreModal
visible=
{
visible
}
onCancel=
{
closeModal
}
formInfo=
{
storeInfo
}
status=
{
status
}
productBusiness=
{
productBusiness
}
/>
</
div
>
);
};
src/pages/chainStoreManage/services.js
View file @
a07ded6e
...
...
@@ -65,3 +65,11 @@ export async function apiEditStore(params) {
});
return
data
.
businessCode
;
}
// 获取商户业务模式
export
async
function
apiproductBusiness
()
{
const
data
=
await
request
.
get
(
'
/api/merchants/suppliers/product-business/list
'
,
{
prefix
:
kdspApi
,
});
return
data
.
data
;
}
src/pages/components/upload.jsx
View file @
a07ded6e
...
...
@@ -29,13 +29,14 @@ class PicturesWall extends React.Component {
token
=
await
qiniuToken
();
}
componentWillReceiveProps
(
nextProps
)
{
this
.
initFileList
(
nextProps
.
fileList
||
[]);
static
getDerivedStateFromProps
(
nextProps
)
{
new
PicturesWall
(
nextProps
).
initFileList
();
return
null
;
}
initFileList
=
fileList
=>
{
const
fileLists
=
fileList
.
map
((
item
,
index
)
=>
({
fileList
?
.
map
((
item
,
index
)
=>
({
url
:
item
,
name
:
''
,
uid
:
index
,
...
...
src/pages/contractView/index.jsx
View file @
a07ded6e
import
React
,
{
useState
,
useRef
}
from
'
react
'
;
import
ProTable
from
'
@ant-design/pro-table
'
;
import
{
PageHeaderWrapper
}
from
'
@ant-design/pro-layout
'
;
import
{
notification
,
Button
}
from
'
antd
'
;
import
{
notification
,
Button
,
Modal
,
Image
}
from
'
antd
'
;
import
{
query
}
from
'
./services
'
;
const
ContractView
=
()
=>
{
const
[
visible
,
setVisible
]
=
useState
(
false
);
const
url
=
'
https://contract-test.q-gp.com/621-621T18364B279E2null.pdf?Expires=1679994655&OSSAccessKeyId=LTAI5tGV1jdSEBjuKDUYZVHY&Signature=nVC2YgG8t5DWZl6sMyRmCzeRYLw%3D
'
;
// 查看
const
onLook
=
({
contractPdfUrl
})
=>
{
console
.
log
(
contractPdfUrl
);
setVisible
(
true
);
// window.open(url)
};
// 下载
const
ondown
=
({
contractPdfUrl
})
=>
{
console
.
log
(
contractPdfU
rl
);
window
.
open
(
u
rl
);
};
const
columns
=
[
{
...
...
@@ -76,6 +80,9 @@ const ContractView = () => {
toolBarRender=
{
false
}
scroll=
{
{
x
:
'
100%
'
,
y
:
400
}
}
/>
<
Modal
visible=
{
visible
}
width=
"1000px"
onCancel=
{
()
=>
setVisible
(
false
)
}
>
<
iframe
src=
{
url
}
height=
"500"
width=
"95%"
title=
"合同"
></
iframe
>
</
Modal
>
</
PageHeaderWrapper
>
);
};
...
...
src/pages/contractView/services.js
View file @
a07ded6e
...
...
@@ -8,20 +8,20 @@ const { goodsApi } = config;
// 分页查询所有数据
export
async
function
query
(
params
)
{
const
param
=
{
pageNo
:
params
.
current
||
1
,
...
params
,
pageIndex
:
params
.
current
,
pageSize
:
params
.
pageSize
||
20
,
};
const
data
=
await
request
.
post
(
'
/api/
kdsp/template/page
'
,
{
const
data
=
await
request
.
post
(
'
/api/
merchants/suppliers/contract/list
'
,
{
prefix
:
goodsApi
,
data
:
stringify
(
_
.
omitBy
(
param
,
v
=>
!
v
))
,
data
:
param
,
headers
:
{
'
Content-Type
'
:
'
application/
x-www-form-urlencoded
'
,
'
Content-Type
'
:
'
application/
json;charset=UTF-8
'
,
},
});
if
(
data
.
data
)
{
return
{
total
:
data
.
data
.
total
,
data
:
data
.
data
.
forbiddenAreaTemplateList
,
data
:
data
.
data
,
};
}
return
{
...
...
@@ -29,41 +29,3 @@ export async function query(params) {
data
:
[],
};
}
// 添加区域受限模板
export
async
function
getAddTemplate
(
param
)
{
const
data
=
await
request
.
post
(
'
/api/kdsp/add/template
'
,
{
prefix
:
goodsApi
,
data
:
param
,
});
return
data
;
}
// 获取区域地址
export
async
function
areaList
(
params
)
{
const
{
data
}
=
await
request
.
get
(
'
/api/merchants/addresses/list
'
,
{
prefix
:
goodsApi
,
params
,
headers
:
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
},
});
return
data
;
}
// 根据模板id查询受限区域
export
async
function
forbiddenAddress
(
params
)
{
const
data
=
await
request
.
post
(
'
/api/kdsp/edit/template
'
,
{
prefix
:
goodsApi
,
data
:
params
,
});
return
data
;
}
// 根据模板id查询受限区域
export
async
function
addressTree
(
params
)
{
const
data
=
await
request
.
post
(
'
/api/kdsp/forbidden/address
'
,
{
prefix
:
goodsApi
,
params
,
});
return
data
;
}
src/utils/utils.js
View file @
a07ded6e
/* eslint-disable prefer-destructuring */
import
{
parse
}
from
'
querystring
'
;
import
pathRegexp
from
'
path-to-regexp
'
;
import
moment
from
'
moment
'
;
...
...
@@ -131,6 +132,7 @@ export const getObjectType = v => Object.prototype.toString.call(v).replace(/\[o
// 获取长表单错误提示
export
const
getErrorMessage
=
err
=>
{
const
message
=
'
请检查表单数据!
'
;
// eslint-disable-next-line wrap-iife
// (function getMsg(v) {
// if (Array.isArray(v)) {
// getMsg(v[0]);
...
...
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