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
linweijiong
jinfa-platform
Commits
9fb99efd
Commit
9fb99efd
authored
Nov 09, 2020
by
XieZhiXiong
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
79f6da9e
4ec27509
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
770 additions
and
105 deletions
+770
-105
authConfigRoute.ts
config/routes/authConfigRoute.ts
+7
-1
index.ts
config/routes/index.ts
+1
-0
logisticsRoutes.ts
config/routes/logisticsRoutes.ts
+7
-0
demandQduote.ts
config/routes/tranactionRoute/demandQduote.ts
+6
-6
menu.ts
src/locales/zh-CN/menu.ts
+2
-0
basicInfoForm.tsx
...ages/commodity/products/addProductsItem/basicInfoForm.tsx
+2
-1
logisticsForm.tsx
...ages/commodity/products/addProductsItem/logisticsForm.tsx
+6
-2
priceAttributeForm.tsx
...commodity/products/addProductsItem/priceAttributeForm.tsx
+1
-2
index.less
src/pages/home/index.less
+86
-0
index.tsx
src/pages/home/index.tsx
+76
-0
basicInfo.tsx
...logistics/logisticsSubmit/detail/components/basicInfo.tsx
+174
-11
index.tsx
src/pages/logistics/logisticsSubmit/detail/index.tsx
+46
-3
toOrderSubmitDetail.tsx
src/pages/logistics/logisticsSubmit/toOrderSubmitDetail.tsx
+44
-44
index.tsx
src/pages/lxMall/commodityDetail/index.tsx
+3
-0
index.tsx
src/pages/lxMall/pay/components/credit/index.tsx
+3
-1
adjustRepository.tsx
src/pages/repositories/adjustRepository.tsx
+1
-1
PositionSetting.tsx
src/pages/repositories/components/PositionSetting.tsx
+1
-0
index.tsx
src/pages/repositories/schema/index.tsx
+16
-2
index.less
src/pages/systemSetting/message/index.less
+19
-0
index.tsx
src/pages/systemSetting/message/index.tsx
+99
-0
useOrderDetail.tsx
...ages/transaction/_public/order/effects/useOrderDetail.tsx
+6
-3
index.tsx
...ages/transaction/components/createElectronModal/index.tsx
+4
-2
details.tsx
...es/transaction/confirmInquiryQuote/components/details.tsx
+23
-10
index.tsx
src/pages/transaction/enquiryOffer/components/index.tsx
+2
-2
index.tsx
...ges/transaction/enquiryOffer/enquiryOfferSearch/index.tsx
+2
-2
detail.tsx
src/pages/transaction/enquiryOffer/enquirySearch/detail.tsx
+3
-3
index.less
src/pages/transaction/enquiryOffer/enquirySearch/index.less
+119
-0
detail.tsx
src/pages/transaction/enquiryOffer/toAddSubmit/detail.tsx
+4
-2
index.tsx
src/pages/transaction/enquiryOffer/toAddSubmit/index.tsx
+1
-1
index.tsx
src/pages/transaction/enquirySubmit/toAddSubmit/index.tsx
+2
-2
basicInfo.tsx
...ction/goodsOffer/addEnquiryOrder/components/basicInfo.tsx
+3
-3
basicInfo.tsx
...ion/inquiryQuote/addInquiryOrder/components/basicInfo.tsx
+1
-1
No files found.
config/routes/authConfigRoute.ts
View file @
9fb99efd
...
...
@@ -119,7 +119,13 @@ const AuthConfigRoute: RouterChild = {
component
:
'@/pages/accountSetting/editAccount'
,
hideInMenu
:
true
,
},
//
//消息中心
{
path
:
'/memberCenter/systemSetting/message'
,
name
:
'message'
,
component
:
'@/pages/systemSetting/message'
},
],
}
...
...
config/routes/index.ts
View file @
9fb99efd
...
...
@@ -39,6 +39,7 @@ const memberCenterRoute = {
icon
:
'smile'
,
key
:
'home'
,
component
:
'@/pages/index'
,
// component: '@/pages/home',
},
...
routes
,
{
...
...
config/routes/logisticsRoutes.ts
View file @
9fb99efd
...
...
@@ -152,6 +152,13 @@ const LogisticsRoute: RouterChild = {
name
:
'addToOrderSubmit'
,
component
:
'@/pages/logistics/logisticsSubmit/toOrderSubmitDetail'
,
hideInMenu
:
true
},
// 待提交物流单-新增
{
path
:
'/memberCenter/logisticsAbility/logisticsSubmit/toOrderSumitList/newAdd'
,
name
:
'addToOrderSubmit'
,
component
:
'@/pages/logistics/logisticsSubmit/detail'
,
hideInMenu
:
true
},
// 待提交物流单-编辑
{
...
...
config/routes/tranactionRoute/demandQduote.ts
View file @
9fb99efd
...
...
@@ -17,7 +17,7 @@ export default [{
{
path
:
'/memberCenter/tranactionAbility/enquiryOffer/enquirySearch/preview'
,
name
:
'enquirySearchPreview'
,
component
:
'@/pages/transaction/enquiryOffer/
components
/detail'
,
component
:
'@/pages/transaction/enquiryOffer/
enquirySearch
/detail'
,
hideInMenu
:
true
,
},
// 报价单查询-列表
...
...
@@ -37,7 +37,7 @@ export default [{
{
path
:
'/memberCenter/tranactionAbility/enquiryOffer/enquiryOfferSearch/demand/preview'
,
name
:
'enquiryOfferSearchDemandPreview'
,
component
:
'@/pages/transaction/enquiryOffer/
components
/detail'
,
component
:
'@/pages/transaction/enquiryOffer/
enquirySearch
/detail'
,
hideInMenu
:
true
,
},
// 待新建报价单-列表
...
...
@@ -78,7 +78,7 @@ export default [{
{
path
:
'/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/demand/preview'
,
name
:
'toAddSubmitListDemandPreview'
,
component
:
'@/pages/transaction/enquiryOffer/
components
/detail'
,
component
:
'@/pages/transaction/enquiryOffer/
enquirySearch
/detail'
,
hideInMenu
:
true
,
},
// 待新建报价单-详情
...
...
@@ -105,7 +105,7 @@ export default [{
{
path
:
'/memberCenter/tranactionAbility/enquiryOffer/enquiryOne/demand/preview'
,
name
:
'enquiryOneDemandPreview'
,
component
:
'@/pages/transaction/enquiryOffer/
components
/detail'
,
component
:
'@/pages/transaction/enquiryOffer/
enquirySearch
/detail'
,
hideInMenu
:
true
,
},
// 待审核报价单(一级)-详情
...
...
@@ -132,7 +132,7 @@ export default [{
{
path
:
'/memberCenter/tranactionAbility/enquiryOffer/enquiryTwo/demand/preview'
,
name
:
'enquiryTwoDemandPreview'
,
component
:
'@/pages/transaction/enquiryOffer/
components
/detail'
,
component
:
'@/pages/transaction/enquiryOffer/
enquirySearch
/detail'
,
hideInMenu
:
true
,
},
// 待审核报价单(二级)-详情
...
...
@@ -159,7 +159,7 @@ export default [{
{
path
:
'/memberCenter/tranactionAbility/enquiryOffer/toSubmit/demand/preview'
,
name
:
'toSubmitDemandPreview'
,
component
:
'@/pages/transaction/enquiryOffer/
components
/detail'
,
component
:
'@/pages/transaction/enquiryOffer/
enquirySearch
/detail'
,
hideInMenu
:
true
,
},
// 待提交报价单-详情
...
...
src/locales/zh-CN/menu.ts
View file @
9fb99efd
...
...
@@ -452,6 +452,8 @@ export default {
'menu.systemSetting.accountSetting'
:
'账号安全设置'
,
'menu.systemSetting.editAccount'
:
'编辑账号信息'
,
'menu.systemSetting.message'
:
'消息中心'
,
// 加工能力, assign 指的是 指派生产通知单
'menu.handling'
:
'加工'
,
'menu.handling.assign'
:
'指派生产通知单'
,
...
...
src/pages/commodity/products/addProductsItem/basicInfoForm.tsx
View file @
9fb99efd
...
...
@@ -227,7 +227,8 @@ const BasicInfoForm: React.FC<Iprops> = (props) => {
>
<
Cascader
allowClear=
{
false
}
disabled=
{
!
isUpdateAttribute
}
// disabled={!isUpdateAttribute}
disabled=
{
history
.
location
.
query
?.
id
}
options=
{
customerCategoryTree
}
fieldNames=
{
{
label
:
'title'
,
value
:
'id'
,
children
:
'children'
}
}
onChange=
{
onCustomerCategoryChange
}
...
...
src/pages/commodity/products/addProductsItem/logisticsForm.tsx
View file @
9fb99efd
...
...
@@ -2,7 +2,11 @@ import React, { useState, useEffect, useRef } from 'react'
import
{
history
}
from
'umi'
import
{
Form
,
Select
,
Radio
,
Checkbox
,
InputNumber
}
from
'antd'
import
{
PublicApi
}
from
'@/services/api'
import
{
GetLogisticsSelectListCompanyResponse
,
GetLogisticsSelectListShipperAddressResponse
,
GetLogisticsSelectListFreightTemplateResponse
}
from
'@/services'
import
{
GetLogisticsSelectListCompanyResponse
,
GetLogisticsSelectListShipperAddressResponse
,
GetLogisticsSelectListFreightTemplateResponse
}
from
'@/services/LogisticsApi'
import
{
store
}
from
'@/store'
const
{
ProductStore
}
=
store
...
...
@@ -51,7 +55,7 @@ const LogisticsForm: React.FC<Iprops> = (props) => {
setLogisticsAddressList
(
res
.
data
)
})
PublicApi
.
getLogisticsSelectListCompany
().
then
(
res
=>
{
PublicApi
.
getLogisticsSelectListCompany
(
{
cooperateType
:
'2'
}
).
then
(
res
=>
{
setLogisticsCompanyLists
(
res
.
data
)
})
...
...
src/pages/commodity/products/addProductsItem/priceAttributeForm.tsx
View file @
9fb99efd
...
...
@@ -551,7 +551,6 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
// 校验阶梯范围
const
validatorNumberRange
=
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
,
'v'
)
try
{
if
(
Array
.
isArray
(
value
)){
let
range
=
value
.
map
(
item
=>
{
...
...
@@ -563,7 +562,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
},
[]
)
let
result
=
range
.
reduce
((
a
,
b
)
=>
{
if
(
a
<
b
)
return
b
})
let
result
=
range
.
map
(
Number
).
reduce
((
a
,
b
)
=>
{
if
(
a
<
b
)
return
b
})
if
(
!
result
)
throw
new
Error
(
'请正确输入阶梯数量范围'
);
if
(
range
[
0
]
!==
minOrderNumber
)
throw
new
Error
(
'阶段的起始值必须为最小起订数'
);
callback
()
...
...
src/pages/home/index.less
0 → 100644
View file @
9fb99efd
.homeGuide{
background-color: @main-color;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
height: 90px;
color: white;
position: relative;
.gridStyle{
display: flex;
flex: 1;
justify-content: space-between;
align-items: center;
border-right: 1px solid rgba(255, 255, 255, 0.2);
height: 90px;
p{
font-size: 12px;
font-weight: 400;
margin-left: 24px;
margin-bottom: 0;
padding: 0 0 8px 0;
line-height: 1;
vertical-align: middle;
}
.firstp{
height: 24px;
line-height: 24px;
}
.guideTitle{
font-size: 14px;
font-weight: 400;
}
.guideIcon{
font-size: 14px;
margin-right: 27px;
}
.guideIconFirst{
font-size: 24px;
vertical-align: bottom;
}
}
.gridStyleFirst{
flex: 0 0 16%;
}
.guideClose{
width: 56px;
height: 20px;
background: rgba(0, 0, 0, 0.2);
border-radius: 0px 8px 0px 8px;
position: absolute;
right: 0;
top: 0;
cursor: pointer;
text-align: center;
}
&::after {
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid #6B778C;
content: "";
position: absolute;
right: 18px;
bottom: -7px;
}
}
.giudeMenuBox{
border-radius: 5px;
padding: 16px;
background-color: #fff;
flex: 0 0 16%;
//重写步骤条
:global{
.ant-steps-vertical.ant-steps-dot .ant-steps-item .ant-steps-icon-dot{
border: 1px solid #DFE1E6;
background-color: #fff;
}
.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail::after{
background-color: #fff;
border-right: 1px dashed #DFE1E6;
}
}
}
\ No newline at end of file
src/pages/home/index.tsx
0 → 100644
View file @
9fb99efd
import
React
,
{
useState
,
useEffect
}
from
'react'
import
{
Button
,
Card
,
Space
,
Steps
,
Dropdown
,
Radio
,
Row
,
Col
,
Table
,
Tabs
,
Tag
,
Avatar
,
Image
,
List
,
Badge
,
Menu
}
from
'antd'
import
cx
from
'classnames'
import
styles
from
'./index.less'
import
StatusTag
from
'@/components/StatusTag'
import
{
CaretUpOutlined
,
CompassFilled
,
CompassOutlined
,
RightCircleFilled
,
RightOutlined
,
UpOutlined
}
from
'@ant-design/icons'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
const
{
Step
}
=
Steps
;
const
Home
:
React
.
FC
<
{}
>
=
()
=>
{
const
menu
=
(
<
div
className=
{
styles
.
giudeMenuBox
}
>
<
Steps
progressDot
current=
{
1000
}
direction=
"vertical"
>
<
Step
title=
"定义产品功能"
description=
{
<><
p
>
开发第一步,标准功能、自定义功能及云功能编辑
</
p
><
a
href=
""
>
如何定义
</
a
></>
}
/>
<
Step
title=
"定义产品功能"
description=
{
<><
p
>
开发第一步,标准功能、自定义功能及云功能编辑
</
p
><
a
href=
""
>
如何定义
</
a
></>
}
/>
<
Step
title=
"定义产品功能"
description=
{
<><
p
>
开发第一步,标准功能、自定义功能及云功能编辑
</
p
><
a
href=
""
>
如何定义
</
a
></>
}
/>
<
Step
title=
"定义产品功能"
description=
{
<><
p
>
开发第一步,标准功能、自定义功能及云功能编辑
</
p
><
a
href=
""
>
如何定义
</
a
></>
}
/>
<
Step
title=
"定义产品功能"
description=
{
<><
p
>
开发第一步,标准功能、自定义功能及云功能编辑
</
p
><
a
href=
""
>
如何定义
</
a
></>
}
/>
</
Steps
>
</
div
>
);
return
(
<
PageHeaderWrapper
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Row
>
<
Col
span=
{
24
}
>
<
div
className=
{
styles
.
homeGuide
}
>
<
div
className=
{
cx
(
styles
.
gridStyle
,
styles
.
gridStyleFirst
)
}
>
<
p
className=
{
styles
.
firstp
}
>
<
CompassFilled
className=
{
styles
.
guideIconFirst
}
/>
<
span
>
使用向导
</
span
>
</
p
>
</
div
>
<
Dropdown
overlay=
{
menu
}
>
<
div
className=
{
styles
.
gridStyle
}
>
<
div
>
<
p
className=
{
styles
.
guideTitle
}
>
1.新建商品
</
p
>
<
p
className=
{
styles
.
guideDesc
}
>
三分钟智能化,完成商品创建
</
p
>
</
div
>
<
UpOutlined
className=
{
styles
.
guideIcon
}
/>
</
div
>
</
Dropdown
>
<
Dropdown
overlay=
{
menu
}
>
<
div
className=
{
styles
.
gridStyle
}
>
<
div
>
<
p
className=
{
styles
.
guideTitle
}
>
1.新建商品
</
p
>
<
p
className=
{
styles
.
guideDesc
}
>
三分钟智能化,完成商品创建
</
p
>
</
div
>
<
UpOutlined
className=
{
styles
.
guideIcon
}
/>
</
div
>
</
Dropdown
>
<
Dropdown
overlay=
{
menu
}
>
<
div
className=
{
cx
(
styles
.
gridStyle
,
styles
.
gridStyleLast
)
}
>
<
div
>
<
p
className=
{
styles
.
guideTitle
}
>
1.新建商品
</
p
>
<
p
className=
{
styles
.
guideDesc
}
>
三分钟智能化,完成商品创建
</
p
>
</
div
>
<
UpOutlined
className=
{
styles
.
guideIcon
}
/>
</
div
>
</
Dropdown
>
<
div
className=
{
styles
.
guideClose
}
>
<
p
>
关闭
</
p
>
</
div
>
</
div
>
</
Col
>
</
Row
>
</
Space
>
</
PageHeaderWrapper
>
)
}
export
default
Home
src/pages/logistics/logisticsSubmit/detail/components/basicInfo.tsx
View file @
9fb99efd
...
...
@@ -3,24 +3,186 @@
* @Date: 2020-11-06
* @Author: HJX
*/
import
React
from
'react'
;
import
{
Form
}
from
'antd'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Form
,
Input
,
Button
,
Select
}
from
'antd'
;
import
moment
from
'moment'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
{
LinkOutlined
}
from
'@ant-design/icons'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
ShippingModal
from
'../../../components/sumbitOrderModal'
;
import
InvoicesModal
from
'../../../components/sumbitOrderModal'
;
const
{
Search
}
=
Input
;
const
{
Option
}
=
Select
;
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
9
},
labelAlign
:
"left"
};
const
BasicInfo
:
React
.
FC
<
{}
>
=
()
=>
{
return
(
<
Form
{
...
layout
}
>
export
interface
interfaceinfo
{
parmas
?:
any
,
handleRevise
?:
Function
}
</
Form
>
const
BasicInfo
:
React
.
FC
<
interfaceinfo
>
=
(
props
)
=>
{
const
{
parmas
,
handleRevise
}
=
props
;
const
[
listcompany
,
setlistcompany
]
=
useState
<
any
>
([]);
//物流服务商
const
[
shipperaddress
,
setshipperaddress
]
=
useState
<
any
>
([]);
//发货地址
const
[
shippingvisible
,
setshippingvisible
]
=
useState
<
boolean
>
(
false
);
const
[
invoicesvisible
,
setinvoicesvisible
]
=
useState
<
boolean
>
(
false
);
const
[
form
]
=
Form
.
useForm
();
//获取物流服务商
const
getListCompany
=
()
=>
{
const
company
=
new
Promise
(
resolve
=>
{
PublicApi
.
getLogisticsSelectListCompany
({
cooperateType
:
'1'
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
}
})
})
return
company
}
//获取发货地址
const
getShipperAddress
=
()
=>
{
const
address
=
new
Promise
(
resolve
=>
{
PublicApi
.
getLogisticsSelectListShipperAddress
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
}
})
})
return
address
}
useEffect
(()
=>
{
Promise
.
all
([
getListCompany
(),
getShipperAddress
()]).
then
(
res
=>
{
setlistcompany
(
res
[
0
]);
setshipperaddress
(
res
[
1
]);
})
},
[])
// 对应发货单 columns
const
shippingColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'发货单号'
,
dataIndex
:
'invoicesNo'
,
},
{
title
:
'对应订单号'
,
dataIndex
:
'orderNo'
,
},
{
title
:
'单据摘要'
,
dataIndex
:
'invoicesAbstract'
,
},
{
title
:
'对应仓库'
,
dataIndex
:
'inventory'
,
},
{
title
:
'单据类型'
,
dataIndex
:
'invoicesType'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'transactionTime'
,
render
:
(
text
:
any
)
=>
<>
{
moment
(
text
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
}
</>
}
]
// 对应订单 columns
const
invoicesColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'单据号'
,
dataIndex
:
'orderNo'
,
},
{
title
:
'单据摘要'
,
dataIndex
:
'orderThe'
,
},
{
title
:
'会员名称'
,
dataIndex
:
'supplyMembersName'
,
},
{
title
:
'单据时间'
,
dataIndex
:
'createTime'
,
render
:
(
text
:
any
)
=>
<>
{
moment
(
text
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
}
</>
}
]
// 确定
const
handleShipping
=
(
type
:
any
,
values
:
any
,
param
:
any
)
=>
{
handleRevise
(
values
[
0
],
1
);
form
.
setFieldsValue
({
shipmentOrderCode
:
values
[
0
].
invoicesNo
})
setshippingvisible
(
false
);
}
const
handleInvoices
=
(
type
:
any
,
values
:
any
,
param
:
any
)
=>
{
handleRevise
(
values
[
0
],
2
);
form
.
setFieldsValue
({
invoicesNo
:
values
[
0
].
orderNo
})
setinvoicesvisible
(
false
);
}
return
(
<>
<
Form
{
...
layout
}
form=
{
form
}
>
<
Form
.
Item
label=
"单据摘要"
name=
"digest"
rules=
{
[{
required
:
true
,
message
:
'请输入单据摘要'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
"物流服务商"
name=
"companyId"
rules=
{
[{
required
:
true
,
message
:
'请选择流服务商'
}]
}
>
<
Select
allowClear
>
{
listcompany
.
map
((
item
:
any
,
index
:
number
)
=>
(
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
name
}
</
Option
>
))
}
</
Select
>
</
Form
.
Item
>
<
Form
.
Item
label=
"物流单号"
name=
'receiverName1'
><
span
></
span
></
Form
.
Item
>
<
Form
.
Item
label=
'对应发货单号'
name=
'shipmentOrderCode'
>
<
Search
value=
{
parmas
.
shipmentOrderCode
||
undefined
}
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setshippingvisible
(
true
)
}
/>
{
/* <Button type='link'>查看单号详情</Button> */
}
</
Form
.
Item
>
<
Form
.
Item
label=
'对应订单号/售后单'
name=
'invoicesNo'
>
<
Search
value=
{
parmas
.
invoicesNo
||
undefined
}
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setinvoicesvisible
(
true
)
}
/>
{
/* <Button type='link'>查看单号详情</Button> */
}
</
Form
.
Item
>
<
Form
.
Item
label=
"收货方"
name=
'receiverName'
><
span
>
{
parmas
.
receiverName
}
</
span
></
Form
.
Item
>
<
Form
.
Item
label=
"收货地址"
name=
'receiverFullAddress'
>
<
div
style=
{
{
lineHeight
:
'36px'
}
}
>
{
parmas
.
memberName
}
/
{
parmas
.
phone
}
</
div
>
<
div
>
{
parmas
.
receiverFullAddress
}
</
div
>
</
Form
.
Item
>
<
Form
.
Item
label=
"发货地址"
name=
"shipperAddressId"
>
<
Select
allowClear
>
{
shipperaddress
.
map
((
item
:
any
,
index
:
number
)
=>
(
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
fullAddress
}
</
Option
>
))
}
</
Select
>
</
Form
.
Item
>
<
Form
.
Item
label=
"单据时间"
name=
'voucherTime'
><
span
></
span
></
Form
.
Item
>
<
Form
.
Item
label=
"外部状态"
name=
'externalState'
><
span
></
span
></
Form
.
Item
>
</
Form
>
<
ShippingModal
title=
'选择发货单'
columns=
{
shippingColumns
}
type=
{
2
}
onOk=
{
(
type
,
values
,
param
)
=>
handleShipping
(
type
,
values
,
param
)
}
dialogVisible=
{
shippingvisible
}
onCancel=
{
()
=>
setshippingvisible
(
false
)
}
/>
<
InvoicesModal
title=
'选择订单'
columns=
{
invoicesColumns
}
type=
{
1
}
onOk=
{
(
type
,
values
,
param
)
=>
handleInvoices
(
type
,
values
,
param
)
}
dialogVisible=
{
invoicesvisible
}
onCancel=
{
()
=>
setinvoicesvisible
(
false
)
}
/>
</>
)
}
export
default
BasicInfo
;
\ No newline at end of file
src/pages/logistics/logisticsSubmit/detail/index.tsx
View file @
9fb99efd
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-11-06
* @Author: HJX
*/
import
React
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
import
{
Button
,
Card
,
Tabs
}
from
'antd'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
ReturnEle
from
'@/components/ReturnEle'
;
...
...
@@ -14,16 +14,59 @@ import Goods from './components/goods';//物流单明细
const
{
TabPane
}
=
Tabs
const
AddEditLogistics
:
React
.
FC
<
{}
>
=
()
=>
{
// 用于提交的
const
[
parmas
,
setParmas
]
=
useState
<
any
>
({
digest
:
''
,
//单据摘要
companyId
:
''
,
//物流服务商id
shipmentOrderId
:
''
,
//发货单id 1
shipmentOrderCode
:
''
,
//发货单号 1
relevanceOrderId
:
''
,
//对应订单id
invoicesNo
:
''
,
//对应单据编号 1
relevanceType
:
''
,
//对应单据类型 1-订单 2-换货申请单(退货发货) 3-换货申请单(换货发货) 4-退货申请单
receiverName
:
''
,
//收货方名称1
receiverAddressId
:
''
,
//收货方id 1
shipperAddressId
:
''
,
//发货方id
phone
:
''
,
receiverFullAddress
:
''
,
detailList
:
[],
//物流单明细列表 ,LogisticsOrderDetailRequest
})
const
[
data
,
setData
]
=
useState
<
any
>
({})
// 调用修改Fn
const
handleRevise
=
(
value
:
any
,
index
:
number
)
=>
{
console
.
log
(
value
,
'传过来的数据'
)
const
data
=
{
...
parmas
};
if
(
index
===
1
)
{
data
.
invoicesNo
=
value
.
orderNo
;
//对应单据编号
data
.
receiverAddressId
=
value
.
deliveryAddresId
;
//收货方id
data
.
shipmentOrderId
=
value
.
id
;
//发货单id
data
.
shipmentOrderCode
=
value
.
invoicesNo
;
//发货单号
}
else
if
(
index
===
2
)
{
data
.
phone
=
value
.
phone
;
data
.
receiverName
=
value
.
receiverName
;
//收货方名称
data
.
receiverFullAddress
=
value
.
fullAddress
;
data
.
memberName
=
value
.
supplyMembersName
}
setParmas
(
data
)
}
// 提交数据
const
handleSubmit
=
()
=>
{
console
.
log
(
'提交数据'
);
}
return
(
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReturnEle
description=
'返回'
/>
}
extra=
{
<
Button
type=
"primary"
>
保存
</
Button
>
}
extra=
{
<
Button
type=
"primary"
onClick=
{
handleSubmit
}
>
保存
</
Button
>
}
>
<
Card
>
<
Tabs
type=
"card"
>
<
TabPane
key=
'tab-1'
tab=
'基本信息'
>
<
BasicInfo
/>
<
BasicInfo
parmas=
{
parmas
}
handleRevise=
{
handleRevise
}
/>
</
TabPane
>
<
TabPane
key=
'tab-2'
tab=
'物流单明细'
>
<
Goods
/>
...
...
src/pages/logistics/logisticsSubmit/toOrderSubmitDetail.tsx
View file @
9fb99efd
...
...
@@ -299,61 +299,56 @@ const Deatail: React.FC<{}> = () => {
}
})
}
console
.
log
(
'query'
,
query
)
//从销售订单来
if
(
query
.
orderId
)
{
PublicApi
.
getOrderPurchaseOrderDetails
({
id
:
query
.
orderId
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
data
=
res
.
data
;
console
.
log
(
res
.
data
,
'查询销售订单详情'
)
actions
.
setFieldValue
(
'receiverName'
,
data
.
receiverName
);
// 收货人
actions
.
setFieldValue
(
'receiverAddressId'
,
data
.
deliveryAddresId
);
//收货地址id
actions
.
setFieldValue
(
'receiverFullAddress'
,
data
.
fullAddress
);
// 收货地址
setshipmentOrderCode
(
data
.
deliverNo
);
setinvoicesNo
(
data
.
orderNo
);
}
})
//发货单号
//
if (query.shipmentOrderCode) {
//
setshipmentOrderCode(query.shipmentOrderCode)
//
}
if
(
query
.
shipmentOrderCode
)
{
setshipmentOrderCode
(
query
.
shipmentOrderCode
)
}
//设置地址 发货单id 逻辑有物流单的用物流单优先 无物流单用订单 二选一
//
setShipmentOrderID(query.orderDeliveryDetailsId || null)//发货单id
//
setInvoicesId(query.invoicesId || null)//订单id
setShipmentOrderID
(
query
.
orderDeliveryDetailsId
||
null
)
//发货单id
setInvoicesId
(
query
.
invoicesId
||
null
)
//订单id
//订单号
//
if (query.invoicesNo) {
//
setinvoicesNo(query.invoicesNo)
//
}
//
if (query.orderDeliveryDetailsId) {//发货单
//
PublicApi.getWarehouseInvoicesList({
//
current: '1',
//
pageSize: '100000'
//
}).then(res => {
//
if (res.code === 1000) {
//
console.log(res.data, 100086)
//
let v = res.data.data.filter(v => v.id == query.orderDeliveryDetailsId).map(v => v)
//
let { memberName, fullAddress, deliveryAddresId } = v[0] || {}
//
actions.setFieldValue('receiverName', memberName)
//
actions.setFieldValue('receiverAddressId', deliveryAddresId)
//
actions.setFieldValue('receiverFullAddress', fullAddress)
//
}
//
})
//
return
//
}
//
if(query.invoicesId){//订单
//
PublicApi.getOrderLogisticsOrderList({
//
current: '1',
//
pageSize: '100000'
//
}).then(res => {
//
if (res.code === 1000) {
//
let v = res.data.data.filter(v => v.id == query.invoicesId).map(v => v)
//
let { memberName, fullAddress, deliveryAddresId } = v[0] || {}
//
actions.setFieldValue('receiverName', memberName)
//
actions.setFieldValue('receiverAddressId', deliveryAddresId)
//
actions.setFieldValue('receiverFullAddress', fullAddress)
//
}
//
})
//
}
if
(
query
.
invoicesNo
)
{
setinvoicesNo
(
query
.
invoicesNo
)
}
if
(
query
.
orderDeliveryDetailsId
)
{
//发货单
PublicApi
.
getWarehouseInvoicesList
({
current
:
'1'
,
pageSize
:
'100000'
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
console
.
log
(
res
.
data
,
100086
)
let
v
=
res
.
data
.
data
.
filter
(
v
=>
v
.
id
==
query
.
orderDeliveryDetailsId
).
map
(
v
=>
v
)
let
{
memberName
,
fullAddress
,
deliveryAddresId
}
=
v
[
0
]
||
{}
actions
.
setFieldValue
(
'receiverName'
,
memberName
)
actions
.
setFieldValue
(
'receiverAddressId'
,
deliveryAddresId
)
actions
.
setFieldValue
(
'receiverFullAddress'
,
fullAddress
)
}
})
return
}
if
(
query
.
invoicesId
){
//订单
PublicApi
.
getOrderLogisticsOrderList
({
current
:
'1'
,
pageSize
:
'100000'
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
let
v
=
res
.
data
.
data
.
filter
(
v
=>
v
.
id
==
query
.
invoicesId
).
map
(
v
=>
v
)
let
{
memberName
,
fullAddress
,
deliveryAddresId
}
=
v
[
0
]
||
{}
actions
.
setFieldValue
(
'receiverName'
,
memberName
)
actions
.
setFieldValue
(
'receiverAddressId'
,
deliveryAddresId
)
actions
.
setFieldValue
(
'receiverFullAddress'
,
fullAddress
)
}
})
}
}
return
()
=>
{
...
...
@@ -361,6 +356,11 @@ const Deatail: React.FC<{}> = () => {
}
},
[])
// const { form } = useFormSpy({ selector: [['onFieldValueChange', 'detailList']], reducer: v => v })
// console.log(form);
// const detailData;// = form.getFieldValue('detailList')
//具体可以看 formProduct
const
formSearch
:
ISchema
=
{
type
:
'object'
,
...
...
src/pages/lxMall/commodityDetail/index.tsx
View file @
9fb99efd
...
...
@@ -502,6 +502,9 @@ const CommodityDetail = (props) => {
}
const
handleInquiry
=
()
=>
{
if
(
!
checkoutUserInfo
())
{
return
}
window
.
location
.
href
=
`/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder/rfq?id=
${
id
}
&memberId=
${
memberId
}
`
}
...
...
src/pages/lxMall/pay/components/credit/index.tsx
View file @
9fb99efd
...
...
@@ -25,6 +25,7 @@ const CreditPayWay: React.FC<CreditPayWayPropsType> = (props) => {
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
<
boolean
>
(
false
)
const
[
securityInfo
,
setSecurityInfo
]
=
useState
<
GetMemberSecurityGetResponse
>
()
const
[
pageLoading
,
setPageLoading
]
=
useState
<
boolean
>
(
true
)
const
[
payDisabled
,
setPayDisabled
]
=
useState
<
boolean
>
(
false
)
const
handlePasswordChange
=
(
value
:
string
)
=>
{
setPayPassword
(
value
)
...
...
@@ -71,6 +72,7 @@ const CreditPayWay: React.FC<CreditPayWayPropsType> = (props) => {
let
param
=
{
id
:
orderId
,
paymentInformationId
:
payInfo
.
paymentInformationId
,
payPassword
}
setConfirmLoading
(
true
)
//@ts-ignore
...
...
@@ -128,7 +130,7 @@ const CreditPayWay: React.FC<CreditPayWayPropsType> = (props) => {
)
:
(
<
div
className=
{
styles
.
pay_wray
}
>
<
div
className=
{
styles
.
pay_wray_title
}
>
您还没有设置支付密码
</
div
>
<
Button
loading=
{
confirmLoading
}
className=
{
styles
.
pay_btn
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/accountSetting/paycode?backPay=true`
)
}
>
去设置密码
</
Button
>
<
Button
loading=
{
confirmLoading
}
disabled=
{
payDisabled
}
className=
{
styles
.
pay_btn
}
onClick=
{
()
=>
history
.
push
(
`/memberCenter/systemSetting/accountSetting/paycode?backPay=true`
)
}
>
去设置密码
</
Button
>
</
div
>
)
}
...
...
src/pages/repositories/adjustRepository.tsx
View file @
9fb99efd
...
...
@@ -87,7 +87,7 @@ const AddRepository:React.FC<{}> = (props) => {
<
p
><
span
>
调出前库存:
</
span
><
span
>
{
record
.
frontExportInventory
}
</
span
></
p
>
</
div
>
}
},
{
dataIndex
:
'repositOut'
,
title
:
'调
出
库存'
,
align
:
'center'
,
render
:
(
_
,
record
)
=>
{
{
dataIndex
:
'repositOut'
,
title
:
'调
入
库存'
,
align
:
'center'
,
render
:
(
_
,
record
)
=>
{
return
<
div
>
<
p
><
span
>
调入库存:
</
span
><
span
>
{
record
.
foldInventory
}
</
span
></
p
>
<
p
><
span
>
调入后库存:
</
span
><
span
>
{
record
.
foldRearInventory
}
</
span
></
p
>
...
...
src/pages/repositories/components/PositionSetting.tsx
View file @
9fb99efd
...
...
@@ -236,6 +236,7 @@ const PositionSetting:React.FC<PositionSettingProps> = (props) => {
// 设置货品名称
addSchemaAction
.
setFieldValue
(
'goodsName'
,
data
?.
name
||
''
)
addSchemaAction
.
setFieldValue
(
'goodsId'
,
goodsId
)
addSchemaAction
.
setFieldValue
(
'itemNo'
,
data
?.
code
||
''
)
}
}
...
...
src/pages/repositories/schema/index.tsx
View file @
9fb99efd
...
...
@@ -430,6 +430,20 @@ export const repositDetailSchema: ISchema = padRequiredMessage({
itemNo
:
{
type
:
'string'
,
"x-component"
:
'Text'
,
title
:
'货号'
,
default
:
'暂无'
,
visible
:
false
,
},
goodsId
:
{
type
:
'string'
,
"x-component"
:
'Text'
,
title
:
'货品ID'
,
default
:
'暂无'
,
visible
:
false
,
},
goodsName
:
{
type
:
'string'
,
"x-component"
:
'Text'
,
title
:
'对应货品'
,
default
:
'暂无'
},
...
...
@@ -515,7 +529,7 @@ export const repositDetailSchema: ISchema = padRequiredMessage({
{
label
:
'所有会员共享(默认)'
,
value
:
1
},
{
label
:
'指定会员'
,
value
:
0
},
],
"title"
:
"选择
渠道
会员"
,
"title"
:
"选择会员"
,
default
:
1
,
required
:
true
,
"x-linkages"
:
[
...
...
@@ -630,7 +644,7 @@ export const repositTabOneSchema: ISchema = padRequiredMessage({
editable
:
false
,
enum
:
[]
},
itemNo
:
{
goodsName
:
{
type
:
'string'
,
"x-component"
:
'Text'
,
title
:
'对应货品'
,
...
...
src/pages/systemSetting/message/index.less
0 → 100644
View file @
9fb99efd
.customList{
:global{
.ant-list-item-meta{
align-items: center;
}
}
.messageText{
font-size: 14px;
font-weight: 400;
color: #606266;
}
.messageTitle{
margin: 0 30px;
font-size: 14px;
font-weight: 500;
color: #303133;
}
}
\ No newline at end of file
src/pages/systemSetting/message/index.tsx
0 → 100644
View file @
9fb99efd
import
React
from
'react'
;
import
{
history
}
from
'umi'
;
import
{
Button
,
Row
,
Col
,
Card
,
List
,
Avatar
}
from
'antd'
;
import
styles
from
'./index.less'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
StatusTag
from
'@/components/StatusTag'
;
const
Message
:
React
.
FC
<
{}
>
=
()
=>
{
const
data
=
[
{
id
:
1
,
icon
:
''
,
status
:
'success'
,
type
:
'系统消息'
,
title
:
'订单发货'
,
message
:
'订单发货,请注意查收,清单发货,请注意查收!'
,
time
:
'2015-15-05'
,
},
{
id
:
2
,
icon
:
''
,
status
:
'success'
,
type
:
'系统消息'
,
title
:
'订单收货'
,
message
:
'订单发货,请注意查收,清单发货,请注意查收!'
,
time
:
'2015-15-05'
,
},
{
id
:
3
,
icon
:
''
,
status
:
'primary'
,
type
:
'系统消息'
,
title
:
'系统消息'
,
message
:
'账户异常,请注意账户资金安全!'
,
time
:
'2015-15-05'
,
},
{
id
:
4
,
icon
:
''
,
status
:
'primary'
,
type
:
'系统消息'
,
title
:
'系统消息'
,
message
:
'账户支出300元,请注意账户资金安全!'
,
time
:
'2015-15-05'
,
},
];
const
renderMessage
=
(
data
)
=>
{
return
(
<>
<
StatusTag
type=
{
data
.
status
}
title=
{
data
.
type
}
/>
<
span
className=
{
styles
.
messageTitle
}
>
{
data
.
title
}
</
span
>
<
span
className=
{
styles
.
messageText
}
>
{
data
.
message
}
</
span
>
</>
)
}
const
showTotal
=
(
total
)
=>
{
return
`共
${
total
}
条`
;
}
return
(
<
PageHeaderWrapper
>
<
Card
title=
"消息列表"
>
<
List
itemLayout=
"horizontal"
dataSource=
{
data
}
className=
{
styles
.
customList
}
pagination=
{
{
onChange
:
page
=>
{
console
.
log
(
page
);
},
pageSize
:
10
,
size
:
"small"
,
showQuickJumper
:
true
,
total
:
4
,
showTotal
:
showTotal
}
}
renderItem=
{
item
=>
(
<
List
.
Item
>
<
List
.
Item
.
Meta
avatar=
{
<
Avatar
src=
{
item
.
icon
}
/>
}
title=
{
renderMessage
(
item
)
}
/>
<
div
>
{
item
.
time
}
</
div
>
</
List
.
Item
>
)
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Message
;
src/pages/transaction/_public/order/effects/useOrderDetail.tsx
View file @
9fb99efd
...
...
@@ -7,6 +7,7 @@ import { GlobalConfig } from '@/global/config'
import
{
orderTypeLabel
}
from
'../constant'
import
{
formatTimeString
}
from
'@/utils'
import
StatusColors
from
'../../../components/StatusColors'
import
{
message
}
from
'antd'
interface
OrderDetailHookProps
{
// 采购、销售
...
...
@@ -42,9 +43,11 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
const
reloadFormData
=
useCallback
(()
=>
{
if
(
id
)
{
const
fn
=
type
===
'purchaseOrder'
?
PublicApi
.
getOrderProcurementOrderDetails
:
PublicApi
.
getOrderPurchaseOrderDetails
fn
({
id
}).
then
(({
data
,
code
})
=>
{
if
(
code
===
1000
)
{
setFormData
(
data
)
fn
({
id
},
{
ctlType
:
"none"
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setFormData
(
res
.
data
)
}
else
{
message
.
error
(
res
.
message
)
}
})
}
...
...
src/pages/transaction/components/createElectronModal/index.tsx
View file @
9fb99efd
...
...
@@ -7,6 +7,7 @@ import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect'
import
{
PublicApi
}
from
'@/services/api'
import
{
useHttpRequest
}
from
'@/hooks/useHttpRequest'
import
{
OrderDetailContext
}
from
'../../_public/order/context'
import
{
fetchOptions
}
from
'@/pages/balance/common'
export
interface
OrderElectronModalProps
{
currentRef
:
any
...
...
@@ -165,6 +166,7 @@ const CreateOrderElectronModal:React.FC<OrderElectronModalProps> = (props) => {
const
handleConfirm
=
()
=>
{
schemaActions
.
submit
()
}
return
(
<
ModalForm
modalTitle=
'确认提交审核'
...
...
@@ -181,7 +183,7 @@ const CreateOrderElectronModal:React.FC<OrderElectronModalProps> = (props) => {
electronBtn
}
}
effects=
{
(
$
,
actions
)
=>
{
$
(
'onFormInit'
).
subscribe
(()
=>
{
//
$('onFormInit').subscribe(() =>
{
if
(
data
.
isElectronicContract
===
1
)
{
useAsyncSelect
(
'contractTemplateId'
,
async
()
=>
(
await
PublicApi
.
getOrderSelectListContractTemplate
()).
data
,
[
'name'
,
'id'
])
}
else
{
...
...
@@ -192,7 +194,7 @@ const CreateOrderElectronModal:React.FC<OrderElectronModalProps> = (props) => {
}
})
}
})
//
})
}
}
/>
)
...
...
src/pages/transaction/confirmInquiryQuote/components/details.tsx
View file @
9fb99efd
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
import
style
from
'./index.less'
import
{
history
}
from
'umi'
;
import
{
Button
,
Card
,
Tabs
,
Steps
,
Table
}
from
'antd'
;
...
...
@@ -6,6 +6,7 @@ import { LinkOutlined } from '@ant-design/icons';
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
EyeOutlined
,
ClockCircleOutlined
,
UpOutlined
,
DownOutlined
,
StopOutlined
,
CheckSquareOutlined
}
from
'@ant-design/icons'
import
ReutrnEle
from
'@/components/ReturnEle'
;
import
{
StandardTable
}
from
'god'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
{
quoteOrderInternalState
,
inquiryQuoteOuterState
}
from
'../../common/tableStatusList'
;
...
...
@@ -32,6 +33,7 @@ export interface parmas {
const
Details
:
React
.
FC
<
parmas
>
=
(
props
)
=>
{
const
[
visible
,
setvisible
]
=
useState
(
false
)
const
ref
=
useRef
<
any
>
({});
//page_type: 1.待确认报价单,2.待审核报价单1级,3.待审核报价单2级,4.报价单查询,5.待提交审核报价单
//view: 1.询价单号,2.报价单号
const
{
id
,
page_type
}
=
props
;
...
...
@@ -244,17 +246,20 @@ const Details: React.FC<parmas> = (props) => {
setview
(
2
)
PublicApi
.
getOrderNotarizeEnquiryProductQuotationDetails
({
id
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setdata
(
res
.
data
)
setdata
(
res
.
data
)
;
}
})
})
;
}
// PublicApi.getOrderNotarizeEnquiryQuotedPriceDetails({ id }).then(res => {
// if (res.code === 1000) {
// setdata(res.data)
// }
// })
},
[])
const
fetchData
=
(
params
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getOrderInquiryDetails
({...
params
,
id
}).
then
(
res
=>
{
console
.
log
(
res
,
10086
)
resolve
(
res
.
data
)
})
})
}
useEffect
(()
=>
{
if
(
Object
.
keys
(
data
).
length
>
0
)
{
...
...
@@ -416,8 +421,16 @@ const Details: React.FC<parmas> = (props) => {
</
Card
>
<
Card
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
mainCol_title
}
>
询价商品
</
div
>
<
Table
columns=
{
inquiryGoods
}
pagination=
{
false
}
rowKey=
'id'
dataSource=
{
data
.
inquiryListProductRequests
}
/>
<
div
className=
{
style
.
mainCol_title
}
style=
{
view
===
2
?
{
paddingBottom
:
'0px'
}:
{
paddingBottom
:
'24px'
}
}
>
询价商品
</
div
>
{
view
===
1
&&
<
Table
columns=
{
inquiryGoods
}
pagination=
{
false
}
rowKey=
'id'
dataSource=
{
data
.
inquiryListProductRequests
}
/>
}
{
view
===
2
&&
<
StandardTable
currentRef=
{
ref
}
columns=
{
inquiryGoods
}
tableProps=
{
{
rowKew
:
'id'
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
/>
}
</
Card
>
<
Card
className=
{
style
.
item_wrap
}
>
<
div
className=
{
style
.
mainCol_title
}
>
{
infoTem
[(
Number
(
page_type
)
===
1
||
Number
(
page_type
)
===
5
)
?
'freight'
:
'base'
].
title
}
</
div
>
...
...
src/pages/transaction/enquiryOffer/components/index.tsx
View file @
9fb99efd
...
...
@@ -114,7 +114,7 @@ const List: React.FC<listParams> = (props) => {
dataIndex
:
'quotationNo'
,
align
:
'center'
,
render
:
(
text
:
any
,
records
:
any
)
=>
<
EyePreview
type=
"button"
handleClick=
{
()
=>
{
handleToDetail
(
2
,
records
.
id
)
handleToDetail
(
1
,
records
.
id
)
}
}
>
{
text
}
</
EyePreview
>
},
{
...
...
@@ -123,7 +123,7 @@ const List: React.FC<listParams> = (props) => {
dataIndex
:
'requisitionFormNo'
,
align
:
'center'
,
render
:
(
text
:
any
,
records
:
any
)
=>
<
EyePreview
type=
"button"
handleClick=
{
()
=>
{
handleToDetail
(
1
,
records
.
requisitionId
)
//需求单id
handleToDetail
(
2
,
records
.
requisitionId
)
//需求单id
}
}
>
{
text
}
</
EyePreview
>
},
{
...
...
src/pages/transaction/enquiryOffer/enquiryOfferSearch/index.tsx
View file @
9fb99efd
...
...
@@ -90,7 +90,7 @@ const List:React.FC<{listParams}> = (props) => {
dataIndex
:
'quotationNo'
,
align
:
'center'
,
render
:
(
text
:
any
,
records
:
any
)
=>
<
EyePreview
type=
"button"
handleClick=
{
()
=>
{
handleToDetail
(
2
,
records
.
id
)
handleToDetail
(
1
,
records
.
id
)
}
}
>
{
text
}
</
EyePreview
>
},
{
...
...
@@ -99,7 +99,7 @@ const List:React.FC<{listParams}> = (props) => {
dataIndex
:
'requisitionFormNo'
,
align
:
'center'
,
render
:
(
text
:
any
,
records
:
any
)
=>
<
EyePreview
type=
"button"
handleClick=
{
()
=>
{
handleToDetail
(
1
,
records
.
requisitionId
)
//需求单id
handleToDetail
(
2
,
records
.
requisitionId
)
//需求单id
}
}
>
{
text
}
</
EyePreview
>
},
{
...
...
src/pages/transaction/enquiryOffer/enquirySearch/detail.tsx
View file @
9fb99efd
...
...
@@ -57,7 +57,7 @@ interface dataInfoType {
settlementWay
:
string
}
const
detailInfo
:
React
.
FC
<
{}
>
=
()
=>
{
const
EnquiryDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
[
pagetype
,
setpagetype
]
=
useState
(
history
.
location
.
query
.
page_type
)
let
interiorStateList
=
[]
...
...
@@ -726,4 +726,4 @@ const detailInfo: React.FC<{}> = () => {
</
PageHeaderWrapper
>
)
}
export
default
detailInfo
\ No newline at end of file
export
default
EnquiryDetail
\ No newline at end of file
src/pages/transaction/enquiryOffer/enquirySearch/index.less
0 → 100644
View file @
9fb99efd
@import "../../../member/components/index.less";
.count{
font-size: 24px;
color: #303133;
font-weight: 500;
}
.add-btn{
margin-bottom: 24px;
padding: 6px 0;
text-align: center;
background: #FAFBFC;
}
.alignCenter{
text-align: center;
}
.alignLeft{
text-align: left;
}
.hidden{
display: none;
}
.block{
display: block;
}
.selectBtn {
margin: 0 16px;
}
.filter-btn{
width : 112px;
margin: 0 0 0 16px;
}
.select {
width : 160px;
&:nth-last-of-type(1) {
margin-right: 0;
}
}
.mainCol {
background-color: #fff;
margin-bottom : 24px;
padding : 0 24px;
box-sizing : border-box;
&-title {
font-size : 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color : #303133;
padding : 20px 0;
}
&:nth-last-of-type(1) {
margin: 0;
}
&-row {
display : flex;
flex-wrap : wrap;
padding-bottom: 16px;
&-col {
display: flex;
width : calc(100% / 3);
padding: 16px 0;
&-option {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
&-rows {
display : flex;
padding-bottom: 16px;
&-cols {
flex: 1;
.cols-main {
display: flex;
padding: 16px 0;
&:nth-last-of-type(1) {
padding-bottom: 0;
}
&-options {
flex : 1;
font-size : 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color : #909399;
&:nth-last-of-type(1) {
flex : 3;
padding-right: 20px;
box-sizing : border-box;
color : #303133;
}
}
}
}
}
}
\ No newline at end of file
src/pages/transaction/enquiryOffer/toAddSubmit/detail.tsx
View file @
9fb99efd
...
...
@@ -27,7 +27,7 @@ import { history } from 'umi'
import
{
LinkOutlined
,
PlusOutlined
,
QuestionCircleOutlined
,
MinusOutlined
,
MinusCircleOutlined
}
from
'@ant-design/icons'
import
{
Row
,
Col
,
Card
,
Button
,
Table
,
Popconfirm
,
Radio
,
DatePicker
,
Form
,
Spin
,
Select
,
Switch
,
Cascader
,
Tabs
,
Input
,
Tooltip
,
Space
Form
,
Spin
,
Select
,
Switch
,
Cascader
,
Tabs
,
Input
,
Tooltip
,
Space
,
message
}
from
'antd'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
moment
from
'moment'
...
...
@@ -816,6 +816,8 @@ const Detail: React.FC<{}> = () => {
})
}
}).
catch
(
err
=>
{
message
.
error
(
'请检查!有必填项没填写或选择'
)
})
}
...
...
@@ -977,7 +979,7 @@ const Detail: React.FC<{}> = () => {
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
title=
{
headerTitle
}
//
title={headerTitle}
extra=
{
<
Button
type=
"primary"
onClick=
{
handleSubmitTabForm
}
>
保存
</
Button
>
}
...
...
src/pages/transaction/enquiryOffer/toAddSubmit/index.tsx
View file @
9fb99efd
...
...
@@ -71,7 +71,7 @@ const List:React.FC<{}> = () => {
key
:
'requisitionFormNo'
,
dataIndex
:
'requisitionFormNo'
,
align
:
'center'
,
render
:(
text
:
any
,
record
:
any
)
=>
<
EyePreview
type=
"button"
url=
{
`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/demand/preview?id=${record.
i
d}`
}
>
{
text
}
</
EyePreview
>
render
:(
text
:
any
,
record
:
any
)
=>
<
EyePreview
type=
"button"
url=
{
`/memberCenter/tranactionAbility/enquiryOffer/toAddSubmitList/demand/preview?id=${record.
requisitionI
d}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
'报价单摘要'
,
...
...
src/pages/transaction/enquirySubmit/toAddSubmit/index.tsx
View file @
9fb99efd
...
...
@@ -166,7 +166,7 @@ const List:React.FC<{}> = () => {
* @param {type}
* @return {type}
*/
const
handleDelete
=
(
arr
:
number
[]
|
string
[]
)
=>
{
const
handleDelete
=
(
arr
:
number
[])
=>
{
PublicApi
.
postOrderRequisitionFormDeleteAll
({
ids
:
arr
}).
then
(
res
=>
{
ref
.
current
.
reload
()
})
...
...
@@ -174,7 +174,7 @@ const List:React.FC<{}> = () => {
//批量提交
const
handleSubmitAll
=
(
ids
:
number
[])
=>
{
PublicApi
.
postOrder
SubmitRequisitionForm
All
({
ids
:
ids
}).
then
(
res
=>
{
PublicApi
.
postOrder
NewRequisitionFormAudit
All
({
ids
:
ids
}).
then
(
res
=>
{
ref
.
current
.
reload
()
})
}
...
...
src/pages/transaction/goodsOffer/addEnquiryOrder/components/basicInfo.tsx
View file @
9fb99efd
...
...
@@ -6,7 +6,7 @@ import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
import
{
ISchema
}
from
'@formily/antd'
;
import
ModalTable
from
'@/components/ModalTable'
import
{
PublicApi
}
from
'@/services/api'
import
StatusColors
from
'@/pages/transaction/components/StatusColors
'
import
{
history
}
from
'umi
'
import
{
quoteOrderInternalState
,
inquiryQuoteOuterState
}
from
'../../../common/tableStatusList'
;
const
layout
:
any
=
{
...
...
@@ -94,7 +94,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
// 选择会员弹框结束
useEffect
(()
=>
{
if
(
memberName
)
{
basicform
.
setFieldsValue
({
'memberId'
:
memberId
?
14
:
undefined
})
basicform
.
setFieldsValue
({
'memberId'
:
memberId
?
memberId
:
undefined
})
}
},[
memberName
])
/************* 页面的一些操作start *************/
...
...
@@ -152,7 +152,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
</
Form
.
Item
>
<
Form
.
Item
label=
'被询价会员'
name=
'memberId'
rules=
{
[{
required
:
true
,
message
:
'请选择被询价会员'
}]
}
>
<
Search
value=
{
memberName
?
memberName
:
undefined
}
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setVisibleChannelMember
(
true
)
}
/>
{
memberName
&&
<
Button
type=
'link'
>
查看会员详情
</
Button
>
}
{
memberName
&&
<
Button
type=
'link'
onClick=
{
()
=>
window
.
open
(
`/shop?shopId=${btoa(JSON.stringify({memberId}))}`
)
}
>
查看会员详情
</
Button
>
}
</
Form
.
Item
>
<
Form
.
Item
label=
'询价单号'
name=
'orderNumber'
>
<
span
>
{
Object
.
keys
(
editData
).
length
>
0
?
editData
.
inquiryListNo
:
'-'
}
</
span
>
...
...
src/pages/transaction/inquiryQuote/addInquiryOrder/components/basicInfo.tsx
View file @
9fb99efd
...
...
@@ -148,7 +148,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
</
Form
.
Item
>
<
Form
.
Item
label=
'对应询价单号'
name=
'inquiryListNo'
rules=
{
[{
required
:
true
,
message
:
'请选择被询价会员'
}]
}
>
<
Search
value=
{
Object
.
keys
(
inquiryNo
).
length
>
0
?
inquiryNo
.
orderNo
:
undefined
}
readOnly
enterButton=
{
<><
LinkOutlined
/>
选择
</>
}
onSearch=
{
()
=>
setVisibleChannelMember
(
true
)
}
/>
{
Object
.
keys
(
inquiryNo
).
length
>
0
&&
<
Button
type=
'link'
>
查看询价单详情
</
Button
>
}
{
Object
.
keys
(
inquiryNo
).
length
>
0
&&
<
Button
type=
'link'
onClick=
{
()
=>
window
.
open
(
`/memberCenter/tranactionAbility/inquiryQuote/enquiryOrder/rfq/preview?id=${inquiryNo.orderId}`
)
}
>
查看询价单详情
</
Button
>
}
</
Form
.
Item
>
<
Form
.
Item
label=
'报价单号'
name=
'quotationNo'
>
<
span
>
{
Object
.
keys
(
editData
).
length
>
0
?
editData
.
quotationNo
:
'-'
}
</
span
>
...
...
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