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
59f25fd9
Commit
59f25fd9
authored
Oct 13, 2020
by
前端-黄佳鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
询价报价&商品询价
parent
a904cacf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1340 additions
and
144 deletions
+1340
-144
tranactionRoute.ts
config/routes/tranactionRoute.ts
+55
-0
index.ts
src/constants/index.ts
+9
-0
menu.ts
src/locales/zh-CN/menu.ts
+11
-2
orderSearchDetail.tsx
src/pages/logistics/components/orderSearchDetail.tsx
+60
-58
statusList.ts
src/pages/transaction/common/statusList.ts
+5
-8
index.tsx
src/pages/transaction/components/StatusColors/index.tsx
+4
-3
add.tsx
src/pages/transaction/goodsOffer/addEnquiryOrder/add.tsx
+39
-28
attached.tsx
...action/goodsOffer/addEnquiryOrder/components/attached.tsx
+1
-1
flowRecord.tsx
...tion/goodsOffer/addEnquiryOrder/components/flowRecord.tsx
+19
-16
auditModel.tsx
src/pages/transaction/goodsOffer/components/auditModel.tsx
+0
-2
reviewList.tsx
src/pages/transaction/goodsOffer/components/reviewList.tsx
+77
-9
index.tsx
src/pages/transaction/goodsOffer/enquiryOrder/index.tsx
+38
-3
index.tsx
src/pages/transaction/goodsOffer/pendingReviewOne/index.tsx
+70
-1
index.tsx
src/pages/transaction/goodsOffer/pendingReviewTwo/index.tsx
+70
-1
index.tsx
src/pages/transaction/goodsOffer/pendingSubmit/index.tsx
+29
-8
index.tsx
src/pages/transaction/goodsOffer/schema/index.tsx
+4
-4
auditModel.tsx
src/pages/transaction/inquiryQuote/components/auditModel.tsx
+124
-0
details.tsx
src/pages/transaction/inquiryQuote/components/details.tsx
+0
-0
index.less
src/pages/transaction/inquiryQuote/components/index.less
+26
-0
reviewList.tsx
src/pages/transaction/inquiryQuote/components/reviewList.tsx
+186
-0
index.tsx
src/pages/transaction/inquiryQuote/enquiryOrder/index.tsx
+126
-0
index.tsx
...pages/transaction/inquiryQuote/pendingReviewOne/index.tsx
+80
-0
index.tsx
...pages/transaction/inquiryQuote/pendingReviewTwo/index.tsx
+80
-0
index.tsx
src/pages/transaction/inquiryQuote/quoteOrder/index.tsx
+131
-0
index.tsx
src/pages/transaction/inquiryQuote/schema/index.tsx
+0
-0
pendingReview.tsx
src/pages/transaction/inquiryQuote/schema/pendingReview.tsx
+96
-0
No files found.
config/routes/tranactionRoute.ts
View file @
59f25fd9
...
@@ -22,27 +22,32 @@ const TranactionRoute = {
...
@@ -22,27 +22,32 @@ const TranactionRoute = {
name
:
'electronicContracts'
,
name
:
'electronicContracts'
,
key
:
'electronicContracts'
,
key
:
'electronicContracts'
,
routes
:
[
routes
:
[
// 电子签章申请
{
{
path
:
'/memberCenter/tranactionAbility/electronicContracts/apply'
,
path
:
'/memberCenter/tranactionAbility/electronicContracts/apply'
,
name
:
'apply'
,
name
:
'apply'
,
component
:
'@/pages/transaction/electronicContracts/apply/index'
,
component
:
'@/pages/transaction/electronicContracts/apply/index'
,
},
},
// 合同模板参数查询
{
{
path
:
'/memberCenter/tranactionAbility/electronicContracts/classSearch'
,
path
:
'/memberCenter/tranactionAbility/electronicContracts/classSearch'
,
name
:
'classSearch'
,
name
:
'classSearch'
,
component
:
'@/pages/transaction/electronicContracts/classSearch/index'
,
component
:
'@/pages/transaction/electronicContracts/classSearch/index'
,
},
},
// 合同模板
{
{
path
:
'/memberCenter/tranactionAbility/electronicContracts/template'
,
path
:
'/memberCenter/tranactionAbility/electronicContracts/template'
,
name
:
'template'
,
name
:
'template'
,
component
:
'@/pages/transaction/electronicContracts/template/index'
,
component
:
'@/pages/transaction/electronicContracts/template/index'
,
},
},
// 企业信息核验
{
{
path
:
'/memberCenter/tranactionAbility/electronicContracts/enterpriseCertified'
,
path
:
'/memberCenter/tranactionAbility/electronicContracts/enterpriseCertified'
,
name
:
'enterpriseCertified'
,
name
:
'enterpriseCertified'
,
hideInMenu
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/transaction/electronicContracts/enterpriseCertified/index'
,
component
:
'@/pages/transaction/electronicContracts/enterpriseCertified/index'
,
},
},
// 新建合同模板
{
{
path
:
'/memberCenter/tranactionAbility/electronicContracts/addContract'
,
path
:
'/memberCenter/tranactionAbility/electronicContracts/addContract'
,
name
:
'addContract'
,
name
:
'addContract'
,
...
@@ -265,6 +270,49 @@ const TranactionRoute = {
...
@@ -265,6 +270,49 @@ const TranactionRoute = {
]
]
},
},
/**
/**
* @description: 询价报价
* @param {type}
* @return {type}
*/
{
path
:
'/memberCenter/tranactionAbility/inquiryQuote'
,
name
:
'inquiryQuote'
,
key
:
'inquiryQuote'
,
routes
:
[
//询价单查询
{
path
:
'/memberCenter/tranactionAbility/inquiryQuote/enquiryOrder'
,
name
:
'enquiryOrder'
,
component
:
'@/pages/transaction/inquiryQuote/enquiryOrder'
},
//报价单查询
{
path
:
'/memberCenter/tranactionAbility/inquiryQuote/quoteOrder'
,
name
:
'quoteOrder'
,
component
:
'@/pages/transaction/inquiryQuote/quoteOrder'
},
// 待审核询价单(一级)
{
path
:
'/memberCenter/tranactionAbility/inquiryQuote/pendingReviewOne'
,
name
:
'pendingReviewOne'
,
component
:
'@/pages/transaction/inquiryQuote/pendingReviewOne'
},
// 待审核询价单(二级)
{
path
:
'/memberCenter/tranactionAbility/inquiryQuote/pendingReviewTwo'
,
name
:
'pendingReviewTwo'
,
component
:
'@/pages/transaction/inquiryQuote/pendingReviewTwo'
},
// 详情
{
path
:
'/memberCenter/tranactionAbility/inquiryQuote/components/details'
,
name
:
'details'
,
hideInMenu
:
true
,
component
:
'@/pages/transaction/inquiryQuote/components/details'
},
]
},
/**
* @description: 商品询价
* @description: 商品询价
* @param {type}
* @param {type}
* @return {type}
* @return {type}
...
@@ -274,37 +322,44 @@ const TranactionRoute = {
...
@@ -274,37 +322,44 @@ const TranactionRoute = {
name
:
'goodsOffer'
,
name
:
'goodsOffer'
,
key
:
'goodsOffer'
,
key
:
'goodsOffer'
,
routes
:[
routes
:[
// 询价单查询
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/enquiryOrder'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/enquiryOrder'
,
name
:
'enquiryOrder'
,
name
:
'enquiryOrder'
,
component
:
'@/pages/transaction/goodsOffer/enquiryOrder'
component
:
'@/pages/transaction/goodsOffer/enquiryOrder'
},
},
// 待新增询价单
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder'
,
name
:
'addEnquiryOrder'
,
name
:
'addEnquiryOrder'
,
component
:
'@/pages/transaction/goodsOffer/addEnquiryOrder'
component
:
'@/pages/transaction/goodsOffer/addEnquiryOrder'
},
},
// 新建报价单
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder/add'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder/add'
,
name
:
'add'
,
name
:
'add'
,
hideInMenu
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/transaction/goodsOffer/addEnquiryOrder/add'
component
:
'@/pages/transaction/goodsOffer/addEnquiryOrder/add'
},
},
// 待审核询价单(一级)
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/pendingReviewOne'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/pendingReviewOne'
,
name
:
'pendingReviewOne'
,
name
:
'pendingReviewOne'
,
component
:
'@/pages/transaction/goodsOffer/pendingReviewOne'
component
:
'@/pages/transaction/goodsOffer/pendingReviewOne'
},
},
// 待审核询价单(二级)
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/pendingReviewTwo'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/pendingReviewTwo'
,
name
:
'pendingReviewTwo'
,
name
:
'pendingReviewTwo'
,
component
:
'@/pages/transaction/goodsOffer/pendingReviewTwo'
component
:
'@/pages/transaction/goodsOffer/pendingReviewTwo'
},
},
// 待提交询价单
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/pendingSubmit'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/pendingSubmit'
,
name
:
'pendingSubmit'
,
name
:
'pendingSubmit'
,
component
:
'@/pages/transaction/goodsOffer/pendingSubmit'
component
:
'@/pages/transaction/goodsOffer/pendingSubmit'
},
},
// 详情
{
{
path
:
'/memberCenter/tranactionAbility/goodsOffer/components/details'
,
path
:
'/memberCenter/tranactionAbility/goodsOffer/components/details'
,
name
:
'details'
,
name
:
'details'
,
...
...
src/constants/index.ts
View file @
59f25fd9
...
@@ -831,3 +831,11 @@ export const DeliverySideStateTexts = {
...
@@ -831,3 +831,11 @@ export const DeliverySideStateTexts = {
5
:
'待回单订单'
,
5
:
'待回单订单'
,
6
:
'已回单'
,
6
:
'已回单'
,
}
}
// 询价外部状态
export
const
InquiryStateTexts
=
{
1
:
'待提交'
,
2
:
'待确认'
,
3
:
'接受报价'
,
4
:
'不接受报价'
,
}
\ No newline at end of file
src/locales/zh-CN/menu.ts
View file @
59f25fd9
...
@@ -120,8 +120,7 @@ export default {
...
@@ -120,8 +120,7 @@ export default {
'menu.tranactionAbility.electronicContracts.classSearch'
:
'合同模板参数查询'
,
'menu.tranactionAbility.electronicContracts.classSearch'
:
'合同模板参数查询'
,
'menu.tranactionAbility.electronicContracts.template'
:
'合同模板'
,
'menu.tranactionAbility.electronicContracts.template'
:
'合同模板'
,
'menu.tranactionAbility.electronicContracts.addContract'
:
'新建合同模板'
,
'menu.tranactionAbility.electronicContracts.addContract'
:
'新建合同模板'
,
// 询价报价
// 商品询价
'menu.tranactionAbility.goodsOffer'
:
'商品询价'
,
'menu.tranactionAbility.goodsOffer'
:
'商品询价'
,
'menu.tranactionAbility.goodsOffer.enquiryOrder'
:
'询价单查询'
,
'menu.tranactionAbility.goodsOffer.enquiryOrder'
:
'询价单查询'
,
'menu.tranactionAbility.goodsOffer.addEnquiryOrder'
:
'待新增询价单'
,
'menu.tranactionAbility.goodsOffer.addEnquiryOrder'
:
'待新增询价单'
,
...
@@ -130,6 +129,16 @@ export default {
...
@@ -130,6 +129,16 @@ export default {
'menu.tranactionAbility.goodsOffer.pendingReviewOne'
:
'待审核询价单(一级)'
,
'menu.tranactionAbility.goodsOffer.pendingReviewOne'
:
'待审核询价单(一级)'
,
'menu.tranactionAbility.goodsOffer.pendingReviewTwo'
:
'待审核询价单(二级)'
,
'menu.tranactionAbility.goodsOffer.pendingReviewTwo'
:
'待审核询价单(二级)'
,
'menu.tranactionAbility.goodsOffer.pendingSubmit'
:
'待提交询价单'
,
'menu.tranactionAbility.goodsOffer.pendingSubmit'
:
'待提交询价单'
,
// 商品询价
'menu.tranactionAbility.inquiryQuote'
:
'询价报价'
,
'menu.tranactionAbility.inquiryQuote.enquiryOrder'
:
'询价单查询'
,
'menu.tranactionAbility.inquiryQuote.quoteOrder'
:
'报价单查询'
,
'menu.tranactionAbility.inquiryQuote.addEnquiryOrder'
:
'待新增询价单'
,
'menu.tranactionAbility.inquiryQuote.add'
:
'新建询价单'
,
'menu.tranactionAbility.inquiryQuote.details'
:
'新建询价单'
,
'menu.tranactionAbility.inquiryQuote.pendingReviewOne'
:
'待审核询价单(一级)'
,
'menu.tranactionAbility.inquiryQuote.pendingReviewTwo'
:
'待审核询价单(二级)'
,
'menu.tranactionAbility.inquiryQuote.pendingSubmit'
:
'待提交询价单'
,
//进销存
//进销存
'menu.tranactionAbility.stockSellStorage'
:
'进销存'
,
'menu.tranactionAbility.stockSellStorage'
:
'进销存'
,
'menu.tranactionAbility.stockSellStorage.warehouse'
:
'仓库'
,
'menu.tranactionAbility.stockSellStorage.warehouse'
:
'仓库'
,
...
...
src/pages/logistics/components/orderSearchDetail.tsx
View file @
59f25fd9
This diff is collapsed.
Click to expand it.
src/pages/transaction/common/statusList.ts
View file @
59f25fd9
...
@@ -98,23 +98,19 @@ export const filterInteriorStateList = [
...
@@ -98,23 +98,19 @@ export const filterInteriorStateList = [
*/
*/
export
const
filterExternalState
=
[
export
const
filterExternalState
=
[
{
{
text
:
'
提交询价单
'
,
value
:
1
text
:
'
待提交
'
,
value
:
1
},
},
{
{
text
:
'
提交报价单
'
,
value
:
2
text
:
'
待确认
'
,
value
:
2
},
},
{
{
text
:
'
确认报价单
'
,
value
:
3
text
:
'
接受报价
'
,
value
:
3
},
},
{
{
text
:
'报价通过'
,
value
:
4
text
:
'不接受报价'
,
value
:
4
},
{
text
:
'报价不通过'
,
value
:
5
}
}
]
]
/**
/**
* @description: 商品询价内部状态筛选
* @description: 商品询价内部状态筛选
* @param {type}
* @param {type}
...
@@ -136,3 +132,4 @@ export const filterInternalState = [
...
@@ -136,3 +132,4 @@ export const filterInternalState = [
]
]
src/pages/transaction/components/StatusColors/index.tsx
View file @
59f25fd9
import
React
from
'react'
import
React
from
'react'
import
{
Tag
}
from
'antd'
import
{
Tag
}
from
'antd'
import
{
PurchaseOrderInsideWorkStateTexts
,
PurchaseOrderOutWorkStateTexts
,
PurchaseOrderInsideWorkState
,
PurchaseOrderOutWorkState
,
SaleOrderInsideWorkState
,
SaleOrderInsideWorkStateTexts
,
PayOutWorkStateTexts
,
DeliverySideState
,
DeliverySideStateTexts
}
from
'@/constants'
import
{
PurchaseOrderInsideWorkStateTexts
,
PurchaseOrderOutWorkStateTexts
,
PurchaseOrderInsideWorkState
,
PurchaseOrderOutWorkState
,
SaleOrderInsideWorkState
,
SaleOrderInsideWorkStateTexts
,
PayOutWorkStateTexts
,
DeliverySideState
,
DeliverySideStateTexts
,
InquiryStateTexts
}
from
'@/constants'
export
interface
IStatusColor
{
export
interface
IStatusColor
{
[
key
:
string
]:
{
[
key
:
string
]:
{
...
@@ -12,7 +12,7 @@ export interface IStatusColor {
...
@@ -12,7 +12,7 @@ export interface IStatusColor {
// 用于标签状态控制
// 用于标签状态控制
export
interface
StatusColorsProps
{
export
interface
StatusColorsProps
{
status
:
number
,
status
:
number
,
type
:
'out'
|
'inside'
|
'saleInside'
|
'payOut'
|
'deliveInside'
type
:
'out'
|
'inside'
|
'saleInside'
|
'payOut'
|
'deliveInside'
|
'inquiry'
}
}
export
enum
ORDER_EXAMINE_ENUM
{
export
enum
ORDER_EXAMINE_ENUM
{
...
@@ -92,7 +92,8 @@ const typeMaps = {
...
@@ -92,7 +92,8 @@ const typeMaps = {
'inside'
:
PurchaseOrderInsideWorkStateTexts
,
'inside'
:
PurchaseOrderInsideWorkStateTexts
,
'saleInside'
:
SaleOrderInsideWorkStateTexts
,
'saleInside'
:
SaleOrderInsideWorkStateTexts
,
'payOut'
:
PayOutWorkStateTexts
,
'payOut'
:
PayOutWorkStateTexts
,
'deliveInside'
:
DeliverySideStateTexts
'deliveInside'
:
DeliverySideStateTexts
,
'inquiry'
:
InquiryStateTexts
,
}
}
// 订单内部状态显示
// 订单内部状态显示
...
...
src/pages/transaction/goodsOffer/addEnquiryOrder/add.tsx
View file @
59f25fd9
...
@@ -13,6 +13,7 @@ import { PublicApi } from '@/services/api'
...
@@ -13,6 +13,7 @@ import { PublicApi } from '@/services/api'
const
{
TabPane
}
=
Tabs
;
const
{
TabPane
}
=
Tabs
;
const
AddQuotes
:
React
.
FC
<
{}
>
=
()
=>
{
const
AddQuotes
:
React
.
FC
<
{}
>
=
()
=>
{
const
{
id
}
=
history
.
location
.
query
;
const
{
id
}
=
history
.
location
.
query
;
const
[
count
,
setCount
]
=
useState
<
string
>
(
'1'
)
const
[
memberList
,
setmemberList
]
=
useState
([]);
//存放用户信息
const
[
memberList
,
setmemberList
]
=
useState
([]);
//存放用户信息
const
[
goodsList
,
setgoodsList
]
=
useState
([]);
//存放商品
const
[
goodsList
,
setgoodsList
]
=
useState
([]);
//存放商品
const
basicInfoRef
=
useRef
<
any
>
({});
const
basicInfoRef
=
useRef
<
any
>
({});
...
@@ -20,53 +21,61 @@ const AddQuotes: React.FC<{}> = () => {
...
@@ -20,53 +21,61 @@ const AddQuotes: React.FC<{}> = () => {
const
[
editData
,
setEditData
]
=
useState
<
any
>
({});
const
[
editData
,
setEditData
]
=
useState
<
any
>
({});
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
id
)
{
if
(
id
)
{
PublicApi
.
getOrderInquiryListDetails
({
id
}).
then
(
res
=>
{
PublicApi
.
getOrderInquiryListDetails
({
id
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
setEditData
(
res
.
data
)
setEditData
(
res
.
data
)
}
}
})
})
}
}
},[])
},
[])
/************* 页面的一些操作start *************/
/************* 页面的一些操作start *************/
const
onSumbit
=
async
(
params
:
any
)
=>
{
const
onSumbit
=
async
(
params
:
any
)
=>
{
const
basicInfo
=
await
basicInfoRef
.
current
.
validateFields
();
const
basicInfo
=
await
basicInfoRef
.
current
.
validateFields
();
const
tradingConditions
=
await
tradingConditionsRef
.
current
.
validateFields
();
if
(
count
===
'3'
)
{
const
basicInfoData
=
basicInfo
.
data
;
const
tradingConditions
=
await
tradingConditionsRef
.
current
.
validateFields
();
const
tradingConditionsData
=
tradingConditions
.
data
;
const
basicInfoData
=
basicInfo
.
data
;
if
(
basicInfo
.
state
&&
tradingConditions
.
state
)
{
const
tradingConditionsData
=
tradingConditions
.
data
;
const
parmas
=
{
if
(
basicInfo
.
state
&&
tradingConditions
.
state
)
{
inquiryListProductRequests
:
goodsList
,
// 商品列表 ,InquiryListProductRequest
const
parmas
=
{
...
basicInfoData
,
inquiryListProductRequests
:
goodsList
,
// 商品列表 ,InquiryListProductRequest
...
tradingConditionsData
,
...
basicInfoData
,
memberName
:
memberList
[
0
].
name
,
...
tradingConditionsData
,
memberId
:
memberList
[
0
].
memberId
memberName
:
memberList
[
0
].
name
,
}
memberId
:
memberList
[
0
].
memberId
if
(
id
)
{
}
console
.
log
(
parmas
)
if
(
id
)
{
console
.
log
(
parmas
)
}
else
{
await
PublicApi
.
postOrderInquiryListAdd
(
parmas
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
console
.
log
(
res
.
data
)
}
})
}
}
else
{
}
else
{
await
PublicApi
.
postOrderInquiryListAdd
(
parmas
).
then
(
res
=>
{
message
.
error
(
'有必填字段没选择,请检查!'
);
if
(
res
.
code
===
1000
)
{
console
.
log
(
res
.
data
)
}
})
}
}
}
else
{
}
else
{
message
.
error
(
'有必填字段没选择,请检查!'
);
message
.
error
(
'有必填字段没选择,请检查!'
);
}
}
}
}
// 获取到会员信息
// 获取到会员信息
const
getMemberList
=
(
list
:
any
)
=>
{
const
getMemberList
=
(
list
:
any
)
=>
{
setmemberList
(
list
);
setmemberList
(
list
);
}
}
// 获取添加的商品列表
// 获取添加的商品列表
const
getGoodsList
=
(
list
:
any
)
=>
{
const
getGoodsList
=
(
list
:
any
)
=>
{
setgoodsList
(
list
)
setgoodsList
(
list
)
}
}
/************* 页面的一些操作end *************/
/************* 页面的一些操作end *************/
const
handleClick
=
(
key
:
string
)
=>
{
if
(
key
===
'3'
)
{
setCount
(
key
)
}
}
return
(
return
(
<
PageHeaderWrapper
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
onBack=
{
()
=>
history
.
goBack
()
}
...
@@ -77,7 +86,7 @@ const AddQuotes: React.FC<{}> = () => {
...
@@ -77,7 +86,7 @@ const AddQuotes: React.FC<{}> = () => {
}
}
>
>
<
Card
>
<
Card
>
<
Tabs
>
<
Tabs
onTabClick=
{
handleClick
}
>
<
TabPane
tab=
"基本信息"
key=
"1"
>
<
TabPane
tab=
"基本信息"
key=
"1"
>
<
BasicInfo
<
BasicInfo
currentRef=
{
basicInfoRef
}
currentRef=
{
basicInfoRef
}
...
@@ -102,7 +111,9 @@ const AddQuotes: React.FC<{}> = () => {
...
@@ -102,7 +111,9 @@ const AddQuotes: React.FC<{}> = () => {
<
Attached
/>
<
Attached
/>
</
TabPane
>
</
TabPane
>
<
TabPane
tab=
"流转记录"
key=
"5"
>
<
TabPane
tab=
"流转记录"
key=
"5"
>
<
FlowRecord
/>
<
FlowRecord
editData=
{
editData
}
/>
</
TabPane
>
</
TabPane
>
</
Tabs
>
</
Tabs
>
</
Card
>
</
Card
>
...
...
src/pages/transaction/goodsOffer/addEnquiryOrder/components/attached.tsx
View file @
59f25fd9
...
@@ -34,7 +34,7 @@ const Attached: React.FC<{}> = () => {
...
@@ -34,7 +34,7 @@ const Attached: React.FC<{}> = () => {
{
...
layout
}
{
...
layout
}
className=
{
styles
.
revise_style
}
className=
{
styles
.
revise_style
}
>
>
<
Form
.
Item
label=
'附件'
>
<
Form
.
Item
label=
'附件'
name=
'upload'
>
<
div
className=
{
styles
.
upload_data
}
>
<
div
className=
{
styles
.
upload_data
}
>
{
files
.
length
>
0
&&
files
.
map
(
v
=>
(
{
files
.
length
>
0
&&
files
.
map
(
v
=>
(
<
div
className=
{
styles
.
upload_item
}
>
<
div
className=
{
styles
.
upload_item
}
>
...
...
src/pages/transaction/goodsOffer/addEnquiryOrder/components/flowRecord.tsx
View file @
59f25fd9
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
import
{
Radio
}
from
'antd'
;
import
{
Radio
}
from
'antd'
;
import
{
StandardTable
}
from
'god
'
;
import
PolymericTable
from
'@/components/PolymericTable
'
;
import
{
ColumnType
}
from
'antd/lib/t
able/interface'
;
import
{
EditableColumns
}
from
'@/components/PolymericT
able/interface'
;
const
FlowRecord
:
React
.
FC
<
{}
>
=
()
=>
{
export
interface
parmas
{
editData
?:
any
}
const
FlowRecord
:
React
.
FC
<
parmas
>
=
(
props
)
=>
{
const
{
editData
}
=
props
;
const
[
radio
,
setRadio
]
=
useState
<
string
>
(
'outer'
);
//切换单据
const
[
radio
,
setRadio
]
=
useState
<
string
>
(
'outer'
);
//切换单据
const
outerColumns
:
ColumnType
<
any
>
[]
=
[{
const
outerColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
title
:
'序号'
,
dataIndex
:
'inquiryListId'
,
dataIndex
:
'inquiryListId'
,
},
{
},
{
...
@@ -25,7 +30,7 @@ const FlowRecord: React.FC<{}> = () => {
...
@@ -25,7 +30,7 @@ const FlowRecord: React.FC<{}> = () => {
title
:
'审核意见'
,
title
:
'审核意见'
,
dataIndex
:
'auditOpinion'
,
dataIndex
:
'auditOpinion'
,
}]
}]
const
insideColumns
:
ColumnType
<
any
>
[]
=
[{
const
insideColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
title
:
'序号'
,
dataIndex
:
'inquiryListId'
,
dataIndex
:
'inquiryListId'
,
},
{
},
{
...
@@ -50,7 +55,7 @@ const FlowRecord: React.FC<{}> = () => {
...
@@ -50,7 +55,7 @@ const FlowRecord: React.FC<{}> = () => {
title
:
'审核意见'
,
title
:
'审核意见'
,
dataIndex
:
'auditOpinion'
,
dataIndex
:
'auditOpinion'
,
}]
}]
const
onChange
=
(
e
:
any
)
=>
{
const
onChange
=
(
e
:
any
)
=>
{
setRadio
(
e
.
target
.
value
)
setRadio
(
e
.
target
.
value
)
}
}
return
(
return
(
...
@@ -60,20 +65,18 @@ const FlowRecord: React.FC<{}> = () => {
...
@@ -60,20 +65,18 @@ const FlowRecord: React.FC<{}> = () => {
<
Radio
.
Button
value=
"inside"
>
内部单据(0)
</
Radio
.
Button
>
<
Radio
.
Button
value=
"inside"
>
内部单据(0)
</
Radio
.
Button
>
</
Radio
.
Group
>
</
Radio
.
Group
>
{
radio
===
'outer'
?
{
radio
===
'outer'
?
<
StandardTable
<
PolymericTable
tableProps=
{
{
dataSource=
{
editData
.
interiorInquiryListLogResponses
}
rowKey
:
'id'
,
pagination
:
false
}
}
columns=
{
outerColumns
}
columns=
{
outerColumns
}
loading=
{
false
}
pagination=
{
null
}
/>
/>
:
:
<
StandardTable
<
PolymericTable
tableProps=
{
{
dataSource=
{
editData
.
externalInquiryListLogResponses
}
rowKey
:
'id'
,
pagination
:
false
}
}
columns=
{
insideColumns
}
columns=
{
insideColumns
}
loading=
{
false
}
pagination=
{
null
}
/>
/>
}
}
</
div
>
</
div
>
...
...
src/pages/transaction/goodsOffer/components/auditModel.tsx
View file @
59f25fd9
...
@@ -18,8 +18,6 @@ export interface Params {
...
@@ -18,8 +18,6 @@ export interface Params {
}
}
const
AuditModal
:
React
.
FC
<
Params
>
=
(
props
)
=>
{
const
AuditModal
:
React
.
FC
<
Params
>
=
(
props
)
=>
{
const
actions
=
createFormActions
()
const
useFormEffects
=
()
=>
{
const
useFormEffects
=
()
=>
{
const
{
setFieldState
}
=
createFormActions
()
const
{
setFieldState
}
=
createFormActions
()
onFieldChange$
(
'state'
).
subscribe
(({
value
})
=>
{
onFieldChange$
(
'state'
).
subscribe
(({
value
})
=>
{
...
...
src/pages/transaction/goodsOffer/components/reviewList.tsx
View file @
59f25fd9
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
React
,
{
useRef
,
useState
,
useEffect
}
from
'react'
;
import
{
Card
,
Button
,
Row
,
Col
}
from
'antd'
;
import
{
Card
,
Button
,
Row
,
Col
}
from
'antd'
;
import
{
history
}
from
'umi'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
...
@@ -8,21 +9,54 @@ import { ColumnType } from 'antd/lib/table/interface';
...
@@ -8,21 +9,54 @@ import { ColumnType } from 'antd/lib/table/interface';
import
NiceForm
from
'@/components/NiceForm'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
filterInternalState
,
filterExternalState
}
from
'./../../common/statusList'
;
import
{
quoteOrderInternalState
}
from
'../../common/tableStatusList'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
pendingReviewSchema
}
from
'../schema/pendingReview'
;
import
{
pendingReviewSchema
}
from
'../schema/pendingReview'
;
import
{
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
values
,
action
}
from
'mobx'
;
import
{
values
,
action
}
from
'mobx'
;
import
AuditModal
from
'./auditModel'
;
import
EyePreview
from
'@/components/EyePreview'
;
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
const
ReviewList
:
React
.
FC
<
{}
>
=
()
=>
{
export
interface
parmas
{
fetchData
?:
Function
,
selectAll
?:
Function
,
batchAction
?:
Function
,
reloadRef
?:
any
,
type
?:
number
,
}
const
ReviewList
:
React
.
FC
<
parmas
>
=
(
props
)
=>
{
const
ref
=
useRef
<
any
>
({});
const
ref
=
useRef
<
any
>
({});
const
{
fetchData
,
selectAll
,
batchAction
,
reloadRef
,
type
}
=
props
;
const
[
selectRow
,
setSelectRow
]
=
useState
([])
const
[
selectRow
,
setSelectRow
]
=
useState
([])
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
number
>>
([])
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
number
>>
([]);
const
[
id
,
setId
]
=
useState
<
number
>
();
const
[
visible
,
setvisible
]
=
useState
<
boolean
>
(
false
);
useEffect
(()
=>
{
if
(
reloadRef
)
{
const
userAction
=
{
reload
:
()
=>
ref
.
current
.
reload
()
}
if
(
reloadRef
&&
typeof
reloadRef
===
'function'
)
{
reloadRef
(
userAction
);
}
if
(
reloadRef
&&
typeof
reloadRef
!==
'function'
)
{
reloadRef
.
current
=
userAction
;
}
}
})
const
columns
:
ColumnType
<
any
>
[]
=
[
const
columns
:
ColumnType
<
any
>
[]
=
[
{
{
title
:
'询价单号'
,
title
:
'询价单号'
,
key
:
'inquiryListNo'
,
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/goodsOffer/components/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
},
{
{
title
:
'询价单摘要'
,
title
:
'询价单摘要'
,
...
@@ -53,16 +87,25 @@ const ReviewList: React.FC<{}> = () => {
...
@@ -53,16 +87,25 @@ const ReviewList: React.FC<{}> = () => {
title
:
'外部状态'
,
title
:
'外部状态'
,
key
:
'externalState'
,
key
:
'externalState'
,
dataIndex
:
'externalState'
,
dataIndex
:
'externalState'
,
},
filters
:
filterExternalState
,
{
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
externalState
===
value
,
render
:
text
=>
<
StatusColors
status=
{
text
}
type=
'out'
/>
},
{
title
:
'内部状态'
,
title
:
'内部状态'
,
key
:
'interiorState'
,
key
:
'interiorState'
,
dataIndex
:
'interiorState'
,
dataIndex
:
'interiorState'
,
filters
:
filterInternalState
,
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
interiorState
===
value
,
render
:
(
text
:
any
)
=>
quoteOrderInternalState
(
text
)
},
},
{
{
title
:
'操作'
,
title
:
'操作'
,
key
:
'options'
,
key
:
'options'
,
dataIndex
:
'options'
,
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
{
setId
(
record
.
id
);
setvisible
(
true
);}
}
>
审核
</
Button
>
},
},
]
]
const
format
=
(
text
)
=>
{
const
format
=
(
text
)
=>
{
...
@@ -74,16 +117,32 @@ const ReviewList: React.FC<{}> = () => {
...
@@ -74,16 +117,32 @@ const ReviewList: React.FC<{}> = () => {
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
setSelectRow
(
selectedRows
);
setSelectRow
(
selectedRows
);
setSelectedRowKeys
(
selectedRowKeys
);
setSelectedRowKeys
(
selectedRowKeys
);
console
.
log
(
`selectedRowKeys:
${
selectedRowKeys
}
`
,
'selectedRows: '
,
selectedRows
)
selectAll
(
selectedRowKeys
)
// 返回给父级
},
},
}
}
// 搜索
const
search
=
(
values
:
any
)
=>
{
if
(
values
.
voucherTime
)
{
values
.
startVoucherTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
endVoucherTime
=
timeRange
(
values
.
voucherTime
).
et
delete
values
.
voucherTime
}
ref
.
current
.
reload
(
values
)
}
/**批量审核通过按钮 */
/**批量审核通过按钮 */
const
controllerBtns
=
<
Row
>
const
controllerBtns
=
<
Row
>
<
Col
span=
{
6
}
>
<
Col
span=
{
6
}
>
<
Button
>
批量提交审核
</
Button
>
<
Button
onClick=
{
()
=>
batchAction
()
}
>
批量提交审核
</
Button
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
// 单个审核
const
handleModalOK
=
()
=>
{
setvisible
(
false
)
setTimeout
(()
=>
{
ref
.
current
.
reload
()
},
1000
)
}
return
(
return
(
<
PageHeaderWrapper
>
<
PageHeaderWrapper
>
...
@@ -93,9 +152,11 @@ const ReviewList: React.FC<{}> = () => {
...
@@ -93,9 +152,11 @@ const ReviewList: React.FC<{}> = () => {
columns=
{
columns
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
tableProps=
{
{
rowKew
:
'id'
}
}
rowSelection=
{
rowSelection
}
rowSelection=
{
rowSelection
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
controlRender=
{
<
NiceForm
<
NiceForm
actions=
{
formActions
}
actions=
{
formActions
}
onSubmit=
{
values
=>
search
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
}
}
}
}
...
@@ -110,6 +171,13 @@ const ReviewList: React.FC<{}> = () => {
...
@@ -110,6 +171,13 @@ const ReviewList: React.FC<{}> = () => {
</
StandardTable
>
</
StandardTable
>
</
Card
>
</
Card
>
<
AuditModal
id=
{
id
}
type=
{
type
}
dialogVisible=
{
visible
}
onCancel=
{
()
=>
setvisible
(
false
)
}
onOK=
{
handleModalOK
}
/>
</
PageHeaderWrapper
>
</
PageHeaderWrapper
>
)
)
}
}
...
...
src/pages/transaction/goodsOffer/enquiryOrder/index.tsx
View file @
59f25fd9
...
@@ -12,6 +12,8 @@ import { ColumnType } from 'antd/lib/table/interface';
...
@@ -12,6 +12,8 @@ import { ColumnType } from 'antd/lib/table/interface';
import
{
filterInternalState
,
filterExternalState
}
from
'./../../common/statusList'
;
import
{
filterInternalState
,
filterExternalState
}
from
'./../../common/statusList'
;
import
{
quoteOrderInternalState
}
from
'../../common/tableStatusList'
;
import
{
quoteOrderInternalState
}
from
'../../common/tableStatusList'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
formActions
=
createFormActions
();
const
formActions
=
createFormActions
();
...
@@ -21,6 +23,8 @@ const EnquiryOrder: React.FC<{}> = (props) => {
...
@@ -21,6 +23,8 @@ const EnquiryOrder: React.FC<{}> = (props) => {
title
:
'询价单号'
,
title
:
'询价单号'
,
key
:
'inquiryListNo'
,
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/goodsOffer/components/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
},
{
title
:
'询价单摘要'
,
title
:
'询价单摘要'
,
key
:
'details'
,
key
:
'details'
,
...
@@ -60,9 +64,39 @@ const EnquiryOrder: React.FC<{}> = (props) => {
...
@@ -60,9 +64,39 @@ const EnquiryOrder: React.FC<{}> = (props) => {
quoteOrderInternalState
(
text
)
quoteOrderInternalState
(
text
)
}];
}];
//交易能力 询价报价 询价单查询
//交易能力 询价报价 询价单查询
const
fetchData
=
async
(
params
:
any
)
=>
{
const
data
=
{
const
res
=
await
PublicApi
.
getOrderProductInquiryList
(
params
);
totalCount
:
1
,
return
res
.
data
data
:
[{
id
:
91
,
inquiryListNo
:
'SD2015PPLJ'
,
details
:
'阿珍爱上阿强'
,
memberName
:
'wutiaoren'
,
memberId
:
5
,
deliveryTime
:
'2020-10-14 15:37:00'
,
quotationAsTime
:
'2020-10-13 15:37:00'
,
voucherTime
:
'2020-10-13 15:37:00'
,
externalState
:
1
,
interiorState
:
2
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderProductInquiryList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
1000
)
})
}
// 搜索
const
search
=
(
values
:
any
)
=>
{
if
(
values
.
voucherTime
)
{
values
.
startVoucherTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
endVoucherTime
=
timeRange
(
values
.
voucherTime
).
et
delete
values
.
voucherTime
}
ref
.
current
.
reload
(
values
)
}
}
return
(
return
(
...
@@ -76,6 +110,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
...
@@ -76,6 +110,7 @@ const EnquiryOrder: React.FC<{}> = (props) => {
controlRender=
{
controlRender=
{
<
NiceForm
<
NiceForm
actions=
{
formActions
}
actions=
{
formActions
}
onSubmit=
{
values
=>
search
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
FormEffectHooks
.
onFieldChange$
(
'category'
).
subscribe
(
state
=>
{
FormEffectHooks
.
onFieldChange$
(
'category'
).
subscribe
(
state
=>
{
...
...
src/pages/transaction/goodsOffer/pendingReviewOne/index.tsx
View file @
59f25fd9
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
{
message
}
from
'antd'
;
import
ReviewList
from
'../components/reviewList'
;
import
ReviewList
from
'../components/reviewList'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
PendingReviewOne
:
React
.
FC
<
{}
>
=
()
=>
{
const
PendingReviewOne
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
selectRow
,
setSelectRow
]
=
useState
<
Array
<
number
>>
([]);
const
ref
=
useRef
<
any
>
({});
// 多选
const
selectAll
=
(
values
:
any
)
=>
{
setSelectRow
(
values
);
console
.
log
(
values
,
'我是多选的id'
)
}
// 列表数据
const
data
=
{
// 模拟的数据
totalCount
:
6
,
data
:
[{
id
:
1
,
inquiryListNo
:
'SZX125KJS'
,
details
:
'模拟的数据'
,
memberName
:
'冰红茶'
,
memberId
:
10
,
deliveryTime
:
'2020-10-13 13:59:00'
,
quotationAsTime
:
'2020-10-13 23:59:00'
,
voucherTime
:
'2020-10-13 13:59:00'
,
externalState
:
1
,
interiorState
:
1
},
{
id
:
2
,
inquiryListNo
:
'SZX125LIP'
,
details
:
'模拟的数据10086'
,
memberName
:
'打喷嚏'
,
memberId
:
1
,
deliveryTime
:
'2020-10-12 13:59:00'
,
quotationAsTime
:
'2020-10-14 23:59:00'
,
voucherTime
:
'2020-10-12 13:59:00'
,
externalState
:
1
,
interiorState
:
1
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
console
.
log
(
params
)
//可以直接打印参数
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderInquiryToAuditList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
500
)
})
}
// 批量操作
const
batchAction
=
()
=>
{
if
(
selectRow
.
length
>
0
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postOrderInquiryDocumentsReviewAll
({
ids
:
selectRow
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
ref
.
current
.
reload
();
}
})
})
}
else
{
message
.
error
(
'请选择要操作的询价单!'
)
}
}
return
(
return
(
<
ReviewList
/>
<
ReviewList
reloadRef=
{
ref
}
fetchData=
{
fetchData
}
selectAll=
{
selectAll
}
batchAction=
{
batchAction
}
type=
{
2
}
/>
)
)
}
}
...
...
src/pages/transaction/goodsOffer/pendingReviewTwo/index.tsx
View file @
59f25fd9
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
{
message
}
from
'antd'
;
import
ReviewList
from
'../components/reviewList'
;
import
ReviewList
from
'../components/reviewList'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
PendingReviewTwo
:
React
.
FC
<
{}
>
=
()
=>
{
const
PendingReviewTwo
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
selectRow
,
setSelectRow
]
=
useState
<
Array
<
number
>>
([]);
const
ref
=
useRef
<
any
>
({});
// 多选
const
selectAll
=
(
values
:
any
)
=>
{
setSelectRow
(
values
);
console
.
log
(
values
,
'我是多选的id'
)
}
// 列表数据
const
data
=
{
// 模拟的数据
totalCount
:
6
,
data
:
[{
id
:
1
,
inquiryListNo
:
'SZX125KJS'
,
details
:
'模拟的数据'
,
memberName
:
'冰红茶'
,
memberId
:
10
,
deliveryTime
:
'2020-10-13 13:59:00'
,
quotationAsTime
:
'2020-10-13 23:59:00'
,
voucherTime
:
'2020-10-13 13:59:00'
,
externalState
:
1
,
interiorState
:
1
},
{
id
:
2
,
inquiryListNo
:
'SZX125LIP'
,
details
:
'模拟的数据10086'
,
memberName
:
'打喷嚏'
,
memberId
:
1
,
deliveryTime
:
'2020-10-12 13:59:00'
,
quotationAsTime
:
'2020-10-14 23:59:00'
,
voucherTime
:
'2020-10-12 13:59:00'
,
externalState
:
1
,
interiorState
:
1
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
console
.
log
(
params
)
//可以直接打印参数
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderInquiryToAuditListTwo({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
500
)
})
}
// 批量操作
const
batchAction
=
()
=>
{
if
(
selectRow
.
length
>
0
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postOrderInquiryDocumentsReviewAllTwo
({
ids
:
selectRow
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
ref
.
current
.
reload
();
}
})
})
}
else
{
message
.
error
(
'请选择要操作的询价单!'
)
}
}
return
(
return
(
<
ReviewList
/>
<
ReviewList
reloadRef=
{
ref
}
fetchData=
{
fetchData
}
selectAll=
{
selectAll
}
batchAction=
{
batchAction
}
type=
{
3
}
/>
)
)
}
}
...
...
src/pages/transaction/goodsOffer/pendingSubmit/index.tsx
View file @
59f25fd9
...
@@ -10,6 +10,7 @@ import NiceForm from '@/components/NiceForm';
...
@@ -10,6 +10,7 @@ import NiceForm from '@/components/NiceForm';
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
pendingReviewSchema
}
from
'../schema/pendingReview'
;
import
{
pendingReviewSchema
}
from
'../schema/pendingReview'
;
import
{
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
values
,
action
}
from
'mobx'
;
import
{
values
,
action
}
from
'mobx'
;
...
@@ -31,6 +32,8 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -31,6 +32,8 @@ const PendingSubmit: React.FC<{}> = () => {
title
:
'询价单号'
,
title
:
'询价单号'
,
key
:
'inquiryListNo'
,
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/goodsOffer/components/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
},
{
{
title
:
'询价单摘要'
,
title
:
'询价单摘要'
,
...
@@ -79,7 +82,7 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -79,7 +82,7 @@ const PendingSubmit: React.FC<{}> = () => {
title
:
'操作'
,
title
:
'操作'
,
key
:
'options'
,
key
:
'options'
,
dataIndex
:
'options'
,
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
{
setId
(
record
.
id
);
setvisible
(
true
)
}
}
>
审核
</
Button
>
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
{
setId
(
record
.
id
);
setvisible
(
true
)
}
}
>
审核
</
Button
>
},
},
]
]
const
format
=
(
text
)
=>
{
const
format
=
(
text
)
=>
{
...
@@ -102,12 +105,30 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -102,12 +105,30 @@ const PendingSubmit: React.FC<{}> = () => {
</
Row
>
</
Row
>
/**列表数据 */
/**列表数据 */
const
data
=
{
totalCount
:
2
,
data
:
[{
id
:
1
,
inquiryListNo
:
'SZX125KJS'
,
details
:
'模拟的数据'
,
memberName
:
'冰红茶'
,
memberId
:
10
,
deliveryTime
:
'2020-10-13 13:59:00'
,
quotationAsTime
:
'2020-10-13 23:59:00'
,
voucherTime
:
'2020-10-13 13:59:00'
,
externalState
:
1
,
interiorState
:
1
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
const
fetchData
=
(
params
?:
any
)
=>
{
console
.
log
(
params
)
//可以直接打印参数
console
.
log
(
params
)
//可以直接打印参数
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getOrderSubmitInquirySheetList
({
...
params
}).
then
(
res
=>
{
// PublicApi.getOrderSubmitInquirySheetList({ ...params }).then(res => {
resolve
(
res
.
data
)
// resolve(res.data)
})
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
500
)
})
})
}
}
...
@@ -130,9 +151,9 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -130,9 +151,9 @@ const PendingSubmit: React.FC<{}> = () => {
const
handleModalOK
=
()
=>
{
const
handleModalOK
=
()
=>
{
setvisible
(
false
)
setvisible
(
false
)
setTimeout
(()
=>
{
setTimeout
(()
=>
{
history
.
goBack
()
history
.
goBack
()
},
1000
)
},
1000
)
}
}
...
@@ -163,12 +184,12 @@ const PendingSubmit: React.FC<{}> = () => {
...
@@ -163,12 +184,12 @@ const PendingSubmit: React.FC<{}> = () => {
</
StandardTable
>
</
StandardTable
>
</
Card
>
</
Card
>
<
AuditModal
<
AuditModal
id=
{
id
}
id=
{
id
}
type=
{
1
}
type=
{
1
}
dialogVisible=
{
visible
}
dialogVisible=
{
visible
}
onCancel=
{
()
=>
setvisible
(
false
)
}
onCancel=
{
()
=>
setvisible
(
false
)
}
onOK=
{
handleModalOK
}
onOK=
{
handleModalOK
}
/>
/>
</
PageHeaderWrapper
>
</
PageHeaderWrapper
>
)
)
...
...
src/pages/transaction/goodsOffer/schema/index.tsx
View file @
59f25fd9
...
@@ -291,7 +291,7 @@ export const enquieryOfferSearchSchema: ISchema = {
...
@@ -291,7 +291,7 @@ export const enquieryOfferSearchSchema: ISchema = {
"x-component-props"
:{
"x-component-props"
:{
placeholder
:
'外部状态'
placeholder
:
'外部状态'
},
},
enum
:
TimeList
enum
:
[]
},
},
interiorState
:{
interiorState
:{
type
:
'string'
,
type
:
'string'
,
...
@@ -299,7 +299,7 @@ export const enquieryOfferSearchSchema: ISchema = {
...
@@ -299,7 +299,7 @@ export const enquieryOfferSearchSchema: ISchema = {
"x-component-props"
:{
"x-component-props"
:{
placeholder
:
'内部状态'
placeholder
:
'内部状态'
},
},
enum
:
TimeList
enum
:
[]
},
},
}
}
},
},
...
@@ -401,4 +401,5 @@ export const dialogEqformSearch: ISchema = {
...
@@ -401,4 +401,5 @@ export const dialogEqformSearch: ISchema = {
}
}
}
}
}
}
}
}
\ No newline at end of file
src/pages/transaction/inquiryQuote/components/auditModel.tsx
0 → 100644
View file @
59f25fd9
import
React
from
'react'
;
import
{
Modal
}
from
'antd'
;
import
{
SchemaForm
,
SchemaMarkupField
as
Field
,
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
import
{
Input
,
Radio
,
FormMegaLayout
}
from
'@formily/antd-components'
import
{
PublicApi
}
from
'@/services/api'
;
const
actions
=
createFormActions
()
const
{
onFieldChange$
}
=
FormEffectHooks
;
export
interface
Params
{
id
:
number
|
string
;
type
:
number
|
string
;
//1是待提交询价单 2是一级 3是二级
dialogVisible
:
boolean
;
onCancel
:
Function
;
onOK
?:
Function
;
}
const
AuditModal
:
React
.
FC
<
Params
>
=
(
props
)
=>
{
const
useFormEffects
=
()
=>
{
const
{
setFieldState
}
=
createFormActions
()
onFieldChange$
(
'state'
).
subscribe
(({
value
})
=>
{
setFieldState
(
'cause'
,
state
=>
{
if
(
value
==
1
)
{
state
.
visible
=
false
}
else
{
state
.
visible
=
true
}
})
})
}
const
handletOk
=
(
values
:
any
)
=>
{
let
value
=
{
...
values
}
value
.
id
=
props
.
id
switch
(
props
.
type
)
{
case
1
:
PublicApi
.
postOrderInquirySubmit
(
value
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
props
.
onOK
()
}
})
break
;
case
2
:
PublicApi
.
postOrderProductQuotationtAuditSubmit
(
value
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
props
.
onOK
()
}
})
break
;
case
3
:
PublicApi
.
postOrderProductQuotationtAuditSubmitTwo
(
value
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
props
.
onOK
()
}
})
break
;
}
}
/**操作 */
return
(
<
Modal
title=
'单据审核'
width=
{
576
}
visible=
{
props
.
dialogVisible
}
onOk=
{
()
=>
actions
.
submit
()
}
onCancel=
{
()
=>
props
.
onCancel
()
}
destroyOnClose
afterClose=
{
()
=>
actions
.
reset
()
}
okText=
'确定'
cancelText=
{
`取消`
}
>
<
SchemaForm
layout=
"vertical"
labelCol=
{
6
}
components=
{
{
Input
,
Radio
:
Radio
.
Group
,
TextArea
:
Input
.
TextArea
}
}
actions=
{
actions
}
effects=
{
()
=>
useFormEffects
()
}
onSubmit=
{
(
values
)
=>
handletOk
(
values
)
}
initialValues=
{
{
state
:
1
}
}
>
<
Field
enum=
{
[
{
label
:
'审核通过'
,
value
:
1
},
{
label
:
'审核不通过'
,
value
:
0
}
]
}
name=
'state'
required
x
-
component=
"Radio"
x
-
component
-
props=
{
{
}
}
/>
<
Field
title=
'审核不通过原因'
name=
"cause"
x
-
component=
"TextArea"
required
x
-
component
-
props=
{
{
placeholder
:
'在此输入你的内容,最多60个汉字'
}
}
x
-
rules=
{
{
max
:
60
,
// maximum:10,//最大数值
message
:
'原因最多60个汉字'
}
}
/>
</
SchemaForm
>
</
Modal
>
)
}
export
default
AuditModal
\ No newline at end of file
src/pages/transaction/inquiryQuote/components/details.tsx
0 → 100644
View file @
59f25fd9
This diff is collapsed.
Click to expand it.
src/pages/transaction/inquiryQuote/components/index.less
0 → 100644
View file @
59f25fd9
@import "../../../member/components/index.less";
.item_wrap {
margin-bottom: 24px;
background-color: #FFF;
border-radius: 8px;
&:last-child {
margin-bottom: 0px;
}
.mainCol_title {
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #303133;
padding: 0px 0 20px;
}
:global {
.ant-tabs-nav {
&::before {
border-bottom-color: #FFF;
}
}
}
}
\ No newline at end of file
src/pages/transaction/inquiryQuote/components/reviewList.tsx
0 → 100644
View file @
59f25fd9
import
React
,
{
useRef
,
useState
,
useEffect
}
from
'react'
;
import
{
Card
,
Button
,
Row
,
Col
}
from
'antd'
;
import
{
history
}
from
'umi'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
StandardTable
}
from
'god'
;
import
moment
from
'moment'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
filterInternalState
,
filterExternalState
}
from
'./../../common/statusList'
;
import
{
quoteOrderInternalState
}
from
'../../common/tableStatusList'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
pendingReviewSchema
}
from
'../schema/pendingReview'
;
import
{
PageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
values
,
action
}
from
'mobx'
;
import
AuditModal
from
'./auditModel'
;
import
EyePreview
from
'@/components/EyePreview'
;
const
formActions
=
createFormActions
();
export
interface
parmas
{
fetchData
?:
Function
,
selectAll
?:
Function
,
batchAction
?:
Function
,
reloadRef
?:
any
,
type
?:
number
,
}
const
ReviewList
:
React
.
FC
<
parmas
>
=
(
props
)
=>
{
const
ref
=
useRef
<
any
>
({});
const
{
fetchData
,
selectAll
,
batchAction
,
reloadRef
,
type
}
=
props
;
const
[
selectRow
,
setSelectRow
]
=
useState
([])
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
number
>>
([]);
const
[
id
,
setId
]
=
useState
<
number
>
();
const
[
visible
,
setvisible
]
=
useState
<
boolean
>
(
false
);
useEffect
(()
=>
{
if
(
reloadRef
)
{
const
userAction
=
{
reload
:
()
=>
ref
.
current
.
reload
()
}
if
(
reloadRef
&&
typeof
reloadRef
===
'function'
)
{
reloadRef
(
userAction
);
}
if
(
reloadRef
&&
typeof
reloadRef
!==
'function'
)
{
reloadRef
.
current
=
userAction
;
}
}
})
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'报价单号'
,
key
:
'quotationNo'
,
dataIndex
:
'quotationNo'
,
},
{
title
:
'询价单号'
,
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/inquiryQuote/components/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
'询价单摘要'
,
key
:
'details'
,
dataIndex
:
'details'
,
},
{
title
:
'被询价会员'
,
key
:
'memberName'
,
dataIndex
:
'memberName'
,
},
{
title
:
'报价截止时间'
,
key
:
'quotationAsTime'
,
dataIndex
:
'quotationAsTime'
,
},
{
title
:
'询价时间'
,
key
:
'voucherTime'
,
dataIndex
:
'voucherTime'
,
},
{
title
:
'外部状态'
,
key
:
'externalState'
,
dataIndex
:
'externalState'
,
filters
:
filterExternalState
,
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
externalState
===
value
,
render
:
text
=>
<
StatusColors
status=
{
text
}
type=
'out'
/>
},
{
title
:
'内部状态'
,
key
:
'interiorState'
,
dataIndex
:
'interiorState'
,
filters
:
filterInternalState
,
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
interiorState
===
value
,
render
:
(
text
:
any
)
=>
quoteOrderInternalState
(
text
)
},
{
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
{
setId
(
record
.
id
);
setvisible
(
true
);}
}
>
审核
</
Button
>
},
]
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
/**多选 */
const
rowSelection
=
{
selectedRowKeys
:
selectedRowKeys
,
onChange
:
(
selectedRowKeys
:
any
,
selectedRows
:
any
)
=>
{
setSelectRow
(
selectedRows
);
setSelectedRowKeys
(
selectedRowKeys
);
selectAll
(
selectedRowKeys
)
// 返回给父级
},
}
// 搜索
const
search
=
(
values
:
any
)
=>
{
if
(
values
.
voucherTime
)
{
values
.
startVoucherTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
endVoucherTime
=
timeRange
(
values
.
voucherTime
).
et
delete
values
.
voucherTime
}
ref
.
current
.
reload
(
values
)
}
/**批量审核通过按钮 */
const
controllerBtns
=
<
Row
>
<
Col
span=
{
6
}
>
<
Button
onClick=
{
()
=>
batchAction
()
}
>
批量提交审核
</
Button
>
</
Col
>
</
Row
>
// 单个审核
const
handleModalOK
=
()
=>
{
setvisible
(
false
)
setTimeout
(()
=>
{
ref
.
current
.
reload
()
},
1000
)
}
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
rowSelection=
{
rowSelection
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
search
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
}
}
expressionScope=
{
{
controllerBtns
}
}
schema=
{
pendingReviewSchema
}
>
</
NiceForm
>
}
>
</
StandardTable
>
</
Card
>
<
AuditModal
id=
{
id
}
type=
{
type
}
dialogVisible=
{
visible
}
onCancel=
{
()
=>
setvisible
(
false
)
}
onOK=
{
handleModalOK
}
/>
</
PageHeaderWrapper
>
)
}
export
default
ReviewList
\ No newline at end of file
src/pages/transaction/inquiryQuote/enquiryOrder/index.tsx
0 → 100644
View file @
59f25fd9
import
React
,
{
useRef
,
useEffect
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
Card
,
Button
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
enquieryOfferSearchSchema
}
from
'../schema'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
searchSelectGetSelectCategoryOptionEffect
}
from
'../../effect/index'
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
filterInternalState
,
filterExternalState
}
from
'./../../common/statusList'
;
import
{
quoteOrderInternalState
}
from
'../../common/tableStatusList'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
formActions
=
createFormActions
();
const
EnquiryOrder
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[{
title
:
'询价单号'
,
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/inquiryQuote/components/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
'询价单摘要'
,
key
:
'details'
,
dataIndex
:
'details'
,
},
{
title
:
'询价会员'
,
key
:
'memberName'
,
dataIndex
:
'memberName'
,
},
{
title
:
'交付日期'
,
key
:
'deliveryTime'
,
dataIndex
:
'deliveryTime'
,
},
{
title
:
'报价截止时间'
,
key
:
'quotationAsTime'
,
dataIndex
:
'quotationAsTime'
,
},
{
title
:
'询价时间'
,
key
:
'voucherTime'
,
dataIndex
:
'voucherTime'
,
},
{
title
:
'外部状态'
,
key
:
'externalState'
,
dataIndex
:
'externalState'
,
filters
:
filterExternalState
,
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
externalState
===
value
,
render
:
text
=>
<
StatusColors
status=
{
text
}
type=
'inquiry'
/>
},
{
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
>
报价
</
Button
>
}];
//交易能力 询价报价 询价单查询
const
data
=
{
totalCount
:
1
,
data
:
[{
id
:
91
,
inquiryListNo
:
'SD2015PPLJ'
,
details
:
'阿珍爱上阿强'
,
memberName
:
'wutiaoren'
,
memberId
:
5
,
deliveryTime
:
'2020-10-14 15:37:00'
,
quotationAsTime
:
'2020-10-13 15:37:00'
,
voucherTime
:
'2020-10-13 15:37:00'
,
externalState
:
1
,
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderProductInquiryList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
1000
)
})
}
// 搜索
const
search
=
(
values
:
any
)
=>
{
if
(
values
.
voucherTime
)
{
values
.
startVoucherTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
endVoucherTime
=
timeRange
(
values
.
voucherTime
).
et
delete
values
.
voucherTime
}
ref
.
current
.
reload
(
values
)
}
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
search
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
FormEffectHooks
.
onFieldChange$
(
'category'
).
subscribe
(
state
=>
{
searchSelectGetSelectCategoryOptionEffect
(
actions
,
'category'
)
})
}
}
schema=
{
enquieryOfferSearchSchema
}
>
</
NiceForm
>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
EnquiryOrder
;
\ No newline at end of file
src/pages/transaction/inquiryQuote/pendingReviewOne/index.tsx
0 → 100644
View file @
59f25fd9
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
{
message
}
from
'antd'
;
import
ReviewList
from
'../components/reviewList'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
PendingReviewOne
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
selectRow
,
setSelectRow
]
=
useState
<
Array
<
number
>>
([]);
const
ref
=
useRef
<
any
>
({});
// 多选
const
selectAll
=
(
values
:
any
)
=>
{
setSelectRow
(
values
);
console
.
log
(
values
,
'我是多选的id'
)
}
// 列表数据
const
data
=
{
// 模拟的数据
totalCount
:
6
,
data
:
[{
id
:
1
,
quotationNo
:
'BPTY12'
,
inquiryListNo
:
'SZX125KJS'
,
details
:
'模拟的数据'
,
memberName
:
'冰红茶'
,
memberId
:
10
,
quotationAsTime
:
'2020-10-13 23:59:00'
,
voucherTime
:
'2020-10-13 13:59:00'
,
externalState
:
1
,
interiorState
:
2
},
{
id
:
2
,
quotationNo
:
'BPTY12'
,
inquiryListNo
:
'SZX125LIP'
,
details
:
'模拟的数据10086'
,
memberName
:
'打喷嚏'
,
memberId
:
1
,
quotationAsTime
:
'2020-10-14 23:59:00'
,
voucherTime
:
'2020-10-12 13:59:00'
,
externalState
:
1
,
interiorState
:
1
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
console
.
log
(
params
)
//可以直接打印参数
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderAuditProductQuotationList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
500
)
})
}
// 批量操作
const
batchAction
=
()
=>
{
if
(
selectRow
.
length
>
0
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postOrderProductQuotationtAuditAll
({
ids
:
selectRow
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
ref
.
current
.
reload
();
}
})
})
}
else
{
message
.
error
(
'请选择要操作的询价单!'
)
}
}
return
(
<
ReviewList
reloadRef=
{
ref
}
fetchData=
{
fetchData
}
selectAll=
{
selectAll
}
batchAction=
{
batchAction
}
type=
{
2
}
/>
)
}
export
default
PendingReviewOne
\ No newline at end of file
src/pages/transaction/inquiryQuote/pendingReviewTwo/index.tsx
0 → 100644
View file @
59f25fd9
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
{
message
}
from
'antd'
;
import
ReviewList
from
'../components/reviewList'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
PendingReviewTwo
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
selectRow
,
setSelectRow
]
=
useState
<
Array
<
number
>>
([]);
const
ref
=
useRef
<
any
>
({});
// 多选
const
selectAll
=
(
values
:
any
)
=>
{
setSelectRow
(
values
);
console
.
log
(
values
,
'我是多选的id'
)
}
// 列表数据
const
data
=
{
// 模拟的数据
totalCount
:
6
,
data
:
[{
id
:
1
,
quotationNo
:
'BPTY12'
,
inquiryListNo
:
'SZX125KJS'
,
details
:
'模拟的数据'
,
memberName
:
'冰红茶'
,
memberId
:
10
,
quotationAsTime
:
'2020-10-13 23:59:00'
,
voucherTime
:
'2020-10-13 13:59:00'
,
externalState
:
1
,
interiorState
:
1
},
{
id
:
2
,
quotationNo
:
'BPTY12'
,
inquiryListNo
:
'SZX125LIP'
,
details
:
'模拟的数据10086'
,
memberName
:
'打喷嚏'
,
memberId
:
1
,
quotationAsTime
:
'2020-10-14 23:59:00'
,
voucherTime
:
'2020-10-12 13:59:00'
,
externalState
:
1
,
interiorState
:
1
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
console
.
log
(
params
)
//可以直接打印参数
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderAuditProductQuotationListTwo({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
500
)
})
}
// 批量操作
const
batchAction
=
()
=>
{
if
(
selectRow
.
length
>
0
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
postOrderProductQuotationtAuditAllTwo
({
ids
:
selectRow
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
ref
.
current
.
reload
();
}
})
})
}
else
{
message
.
error
(
'请选择要操作的询价单!'
)
}
}
return
(
<
ReviewList
reloadRef=
{
ref
}
fetchData=
{
fetchData
}
selectAll=
{
selectAll
}
batchAction=
{
batchAction
}
type=
{
3
}
/>
)
}
export
default
PendingReviewTwo
\ No newline at end of file
src/pages/transaction/inquiryQuote/quoteOrder/index.tsx
0 → 100644
View file @
59f25fd9
import
React
,
{
useRef
,
useEffect
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
Card
,
Button
}
from
'antd'
;
import
{
StandardTable
}
from
'god'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
quoteFormSearch
}
from
'../schema'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
searchSelectGetSelectCategoryOptionEffect
}
from
'../../effect/index'
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
{
filterInternalState
,
filterExternalState
}
from
'./../../common/statusList'
;
import
{
quoteOrderInternalState
}
from
'../../common/tableStatusList'
;
import
StatusColors
from
'@/pages/transaction/components/StatusColors'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
timeRange
}
from
'@/utils/index'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
formActions
=
createFormActions
();
const
EnquiryOrder
:
React
.
FC
<
{}
>
=
(
props
)
=>
{
const
ref
=
useRef
<
any
>
({});
const
columns
:
ColumnType
<
any
>
[]
=
[{
title
:
'报价单号'
,
key
:
'quotationNo'
,
dataIndex
:
'quotationNo'
,
},{
title
:
'询价单号'
,
key
:
'inquiryListNo'
,
dataIndex
:
'inquiryListNo'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
EyePreview
url=
{
`/memberCenter/tranactionAbility/inquiryQuote/components/details?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
'询价单摘要'
,
key
:
'details'
,
dataIndex
:
'details'
,
},
{
title
:
'询价会员'
,
key
:
'memberName'
,
dataIndex
:
'memberName'
,
},{
title
:
'报价截止时间'
,
key
:
'quotationAsTime'
,
dataIndex
:
'quotationAsTime'
,
},
{
title
:
'单据时间'
,
key
:
'voucherTime'
,
dataIndex
:
'voucherTime'
,
},
{
title
:
'外部状态'
,
key
:
'externalState'
,
dataIndex
:
'externalState'
,
filters
:
filterExternalState
,
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
externalState
===
value
,
render
:
text
=>
<
StatusColors
status=
{
text
}
type=
'inquiry'
/>
},
{
title
:
'内部状态'
,
key
:
'interiorState'
,
dataIndex
:
'interiorState'
,
filters
:
filterInternalState
,
filterMultiple
:
false
,
onFilter
:
(
value
,
record
)
=>
record
.
interiorState
===
value
,
render
:
(
text
:
any
)
=>
quoteOrderInternalState
(
text
)
}];
//交易能力 询价报价 询价单查询
const
data
=
{
totalCount
:
1
,
data
:
[{
id
:
91
,
quotationNo
:
'BPTY12'
,
inquiryListNo
:
'SD2015PPLJ'
,
details
:
'阿珍爱上阿强'
,
memberName
:
'wutiaoren'
,
memberId
:
5
,
quotationAsTime
:
'2020-10-13 15:37:00'
,
voucherTime
:
'2020-10-13 15:37:00'
,
externalState
:
1
,
interiorState
:
2
}]
}
const
fetchData
=
(
params
?:
any
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
// PublicApi.getOrderProductQuotationList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout
(()
=>
{
resolve
(
data
)
},
1000
)
})
}
// 搜索
const
search
=
(
values
:
any
)
=>
{
if
(
values
.
voucherTime
)
{
values
.
startVoucherTime
=
timeRange
(
values
.
voucherTime
).
st
values
.
endVoucherTime
=
timeRange
(
values
.
voucherTime
).
et
delete
values
.
voucherTime
}
ref
.
current
.
reload
(
values
)
}
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
currentRef=
{
ref
}
columns=
{
columns
}
tableProps=
{
{
rowKew
:
'id'
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
onSubmit=
{
values
=>
search
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'inquiryListNo'
,
FORM_FILTER_PATH
)
FormEffectHooks
.
onFieldChange$
(
'category'
).
subscribe
(
state
=>
{
searchSelectGetSelectCategoryOptionEffect
(
actions
,
'category'
)
})
}
}
schema=
{
quoteFormSearch
}
>
</
NiceForm
>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
EnquiryOrder
;
\ No newline at end of file
src/pages/transaction/inquiryQuote/schema/index.tsx
0 → 100644
View file @
59f25fd9
This diff is collapsed.
Click to expand it.
src/pages/transaction/inquiryQuote/schema/pendingReview.tsx
0 → 100644
View file @
59f25fd9
import
{
ISchema
}
from
'@formily/antd'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
TimeList
}
from
'../../common/statusList'
import
TranactionRoute
from
'config/routes/tranactionRoute'
/**
* @description: 待审核询价单
* @param {type}
* @return {type}
*/
export
const
pendingReviewSchema
:
ISchema
=
{
type
:
'object'
,
properties
:{
megalayout
:{
type
:
'object'
,
"x-component"
:
'mega-layout'
,
"x-component-props"
:{
grid
:
true
},
properties
:{
ctl
:{
type
:
'object'
,
"x-component"
:
"Children"
,
"x-component-props"
:{
children
:
"{{controllerBtns}}"
}
},
inquiryListNo
:{
//报价单号
type
:
'string'
,
"x-component"
:
"Search"
,
"x-mega-props"
:{
},
"x-component-props"
:{
placeholder
:
'报价单搜索'
}
}
}
},
[
FORM_FILTER_PATH
]:{
type
:
'object'
,
"x-component"
:
"flex-layout"
,
"x-component-props"
:{
rowStyle
:{
flexWrap
:
'nowrap'
},
colStyle
:{
marginLeft
:
20
}
},
properties
:{
PRO_LAYOUT
:{
type
:
'object'
,
"x-component"
:
'mega-layout'
,
"x-mega-props"
:{
span
:
5
},
"x-component-props"
:{
inline
:
true
},
properties
:{
details
:{
type
:
'string'
,
"x-component-props"
:{
placeholder
:
'询价单摘要'
}
},
memberName
:{
type
:
'string'
,
"x-component-props"
:{
placeholder
:
'被询价会员'
}
},
voucherTime
:{
type
:
'string'
,
default
:
0
,
"x-component-props"
:{
placeholder
:
'请选择单据时间'
},
enum
:
TimeList
},
}
},
sumbit
:{
"x-component"
:
'Submit'
,
"x-mega-props"
:{
span
:
1
},
"x-component-props"
:{
children
:
'查询'
}
}
}
}
}
}
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