Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈智峰
jinfa-platform
Commits
a11cf210
Commit
a11cf210
authored
Oct 28, 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
03c15027
00636f79
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
926 additions
and
341 deletions
+926
-341
balanceRoute.ts
config/routes/balanceRoute.ts
+9
-5
menu.ts
src/locales/zh-CN/menu.ts
+2
-0
index.ts
src/module/productModule/index.ts
+3
-1
index.tsx
...ges/accountSetting/components/EditDataComponent/index.tsx
+0
-0
index.tsx
src/pages/accountSetting/components/GetCaptchaCode/index.tsx
+1
-0
index.tsx
src/pages/balance/accountsPayable/settlementList/index.tsx
+82
-41
logisticsDetail.tsx
...alance/accountsPayable/settlementList/logisticsDetail.tsx
+40
-25
productNoticeSettlementDetail.tsx
...sPayable/settlementList/productNoticeSettlementDetail.tsx
+27
-6
index.tsx
...s/balance/accountsPayable/settlementList/schema/index.tsx
+125
-24
index.tsx
...pages/balance/accountsReceivable/settlementList/index.tsx
+71
-19
logisticsDetail.tsx
...nce/accountsReceivable/settlementList/logisticsDetail.tsx
+25
-12
productNoticeSettlementDetail.tsx
...ceivable/settlementList/productNoticeSettlementDetail.tsx
+37
-16
index.tsx
...alance/accountsReceivable/settlementList/schema/index.tsx
+136
-35
index.tsx
src/pages/balance/components/ConfirmAccount/index.tsx
+16
-3
index.tsx
src/pages/balance/components/StatusActions/index.tsx
+62
-12
index.tsx
src/pages/balance/components/UploadPayVoucher/index.tsx
+31
-6
index.tsx
src/pages/balance/components/Voucher/index.tsx
+6
-3
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+6
-4
priceAttributeForm.tsx
...commodity/products/addProductsItem/priceAttributeForm.tsx
+36
-29
addCompany.tsx
src/pages/logistics/list/addCompany.tsx
+10
-3
checkDetail.tsx
...dSettle/amountAccountManage/checkWithdraw/checkDetail.tsx
+74
-22
index.tsx
.../payandSettle/amountAccountManage/checkWithdraw/index.tsx
+41
-12
index.tsx
...dSettle/amountAccountManage/memberAccountManage/index.tsx
+4
-3
memberAccountDetail.tsx
...AccountManage/memberAccountManage/memberAccountDetail.tsx
+3
-1
index.tsx
...ayandSettle/amountAccountManage/paymentWithdraw/index.tsx
+2
-1
accountDetail.tsx
...yandSettle/capitalAccounts/accountLists/accountDetail.tsx
+6
-5
applyWithdraw.tsx
...yandSettle/capitalAccounts/accountLists/applyWithdraw.tsx
+3
-2
index.less
...ages/payandSettle/capitalAccounts/accountLists/index.less
+14
-14
index.tsx
...pages/payandSettle/capitalAccounts/accountLists/index.tsx
+6
-5
constant.ts
src/pages/payandSettle/constant.ts
+14
-5
addRepository.tsx
src/pages/repositories/addRepository.tsx
+9
-5
PositionSetting.tsx
src/pages/repositories/components/PositionSetting.tsx
+18
-22
tableStatusList.tsx
src/pages/transaction/common/tableStatusList.tsx
+2
-0
index.tsx
src/pages/transaction/enquiryOffer/components/index.tsx
+0
-0
index.ts
src/store/product/index.ts
+5
-0
No files found.
config/routes/balanceRoute.ts
View file @
a11cf210
...
...
@@ -7,7 +7,7 @@
/*
* @Author: Bill
* @Date: 2020-10-12 09:45:20
* @LastEditTime: 2020-10-2
3 16:08:13
* @LastEditTime: 2020-10-2
7 14:53:56
* @Description: 加工能力路由
*/
...
...
@@ -133,14 +133,16 @@ const HandlingRoute = {
path
:
'/memberCenter/balance/accountsPayable/settlementList/logisticsDetail'
,
name
:
'logisticsDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsPayable/settlementList/logisticsDetail'
component
:
'@/pages/balance/accountsPayable/settlementList/logisticsDetail'
,
hideInMenu
:
true
,
},
// 应付账款管理 -> 生产通知单结算明细
{
path
:
'/memberCenter/balance/accountsPayable/settlementList/productNoticeSettlementDetail'
,
name
:
'productNoticeSettlementDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsPayable/settlementList/productNoticeSettlementDetail'
component
:
'@/pages/balance/accountsPayable/settlementList/productNoticeSettlementDetail'
,
hideInMenu
:
true
,
}
]
},
...
...
@@ -162,14 +164,16 @@ const HandlingRoute = {
path
:
'/memberCenter/balance/accountsReceivable/settlementList/logisticsDetail'
,
name
:
'logisticsDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsReceivable/settlementList/logisticsDetail'
component
:
'@/pages/balance/accountsReceivable/settlementList/logisticsDetail'
,
hideInMenu
:
true
,
},
// 应收账款管理 -> 生产通知单结算明细
{
path
:
'/memberCenter/balance/accountsReceivable/settlementList/productNoticeSettlementDetail'
,
name
:
'productNoticeSettlementDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsReceivable/settlementList/productNoticeSettlementDetail'
component
:
'@/pages/balance/accountsReceivable/settlementList/productNoticeSettlementDetail'
,
hideInMenu
:
true
,
},
// 应收账款管理 -> 开票管理
{
...
...
src/locales/zh-CN/menu.ts
View file @
a11cf210
...
...
@@ -219,6 +219,8 @@ export default {
'menu.tranactionAbility.stockSellStorage.inventory'
:
'库存'
,
'menu.tranactionAbility.transactionRules'
:
'交易规则'
,
'menu.tranactionAbility.addRule'
:
'新建交易规则'
,
'menu.tranactionAbility.editRule'
:
'编辑交易规则'
,
'menu.tranactionAbility.ruleDetail'
:
'交易规则详情'
,
// 需求发布 2020-10-26修改
'menu.tranactionAbility.enquirySubmit'
:
'需求发布'
,
...
...
src/module/productModule/index.ts
View file @
a11cf210
import
{
GetProductGoodsGetGoodsListResponseDetail
,
GetProductCommodityGetCommodityResponse
}
from
'@/services'
;
import
{
GetProductGoodsGetGoodsListResponseDetail
,
GetProductCommodityGetCommodityResponse
}
from
'@/services
/ProductApi
'
;
export
interface
IBasicFormParam
{
brandId
:
number
;
...
...
@@ -65,6 +65,7 @@ export interface IProductModule {
productAttributeAndImageParams
:
any
[];
//价格属性包含图片的传输数据
areaOption
:
any
[];
// 省市数据
currentPageInStore
:
IPage
;
tabClickItem
:
any
[];
setAttributeLists
(
lists
:
any
[]):
void
;
setProductName
(
name
:
string
):
void
;
...
...
@@ -79,4 +80,5 @@ export interface IProductModule {
setAreaOption
(
datas
:
any
[]):
void
;
setProductInfoByEdit
(
data
:
GetProductCommodityGetCommodityResponse
):
void
;
setCurrentPageInStore
(
data
:
IPage
):
void
;
setTabClickItem
(
data
:
any
):
void
;
}
src/pages/accountSetting/components/EditDataComponent/index.tsx
View file @
a11cf210
This diff is collapsed.
Click to expand it.
src/pages/accountSetting/components/GetCaptchaCode/index.tsx
View file @
a11cf210
...
...
@@ -23,6 +23,7 @@ const GetCaptchaCode = (props) => {
setTime
((
prev
)
=>
prev
-
1
)
},
1000
)
}
else
if
(
time
==
0
)
{
!!
props
.
callback
&&
props
.
callback
()
clearInterval
(
ref
.
current
)
}
},
[
time
])
...
...
src/pages/balance/accountsPayable/settlementList/index.tsx
View file @
a11cf210
...
...
@@ -6,10 +6,10 @@
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
,
DatePicker
,
Modal
,
Tag
,
Space
}
from
'antd'
;
import
{
Card
,
DatePicker
}
from
'antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
...
...
@@ -17,37 +17,67 @@ import { schema } from './schema';
import
StatusTag
from
'../../components/StatusTag'
;
import
StatusActions
from
'../../components/StatusActions'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
Moment
}
from
'moment'
;
const
formActions
=
createFormActions
();
interface
SearchParams
{
settlementName
?:
string
,
payName
?:
string
,
isSettlement
:
number
,
startTime
?:
Moment
,
endTime
?:
Moment
,
orderType
?:
number
,
status
?:
number
,
current
:
number
,
pageSize
:
number
,
}
const
SettlementList
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
const
searchParams
=
{
orderType
:
0
,
status
:
0
,
...
params
,
orderType
:
params
.
orderType
||
0
,
status
:
params
.
status
||
0
,
}
// /settle/accounts/member/settlement/pagePayableSettlement
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPagePayableSettlement
(
searchParams
);
return
{
totalCount
:
1
,
data
:
[{
id
:
1
,
status
:
2
}]
}
return
data
}
const
columns
=
[
{
title
:
'结算单号'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'结算方式'
,
dataIndex
:
'num'
},
{
title
:
'总单数'
,
dataIndex
:
'num'
},
{
title
:
'代收金额'
,
dataIndex
:
'num'
},
{
title
:
'佣金'
,
dataIndex
:
'num'
},
{
title
:
'结算金额'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'支付方式'
,
dataIndex
:
'payMethod'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
title
:
'结算单号'
,
dataIndex
:
'settlementNo'
,
render
:
(
text
,
record
)
=>
{
const
prefix
=
`/memberCenter/balance/accountsPayable/settlementList/`
;
const
url
=
record
.
orderType
===
1
?
`logisticsDetail`
:
`productNoticeSettlementDetail`
;
return
(
<
EyePreview
url=
{
`${prefix}${url}?id=${record.id}`
}
>
{
record
.
settlementNo
}
</
EyePreview
>
)
}
},
{
title
:
'结算日期'
,
dataIndex
:
'settlementDate'
},
{
title
:
'结算方式'
,
dataIndex
:
'settlementWayName'
},
{
title
:
'结算方'
,
dataIndex
:
'settlementName'
},
{
title
:
'结算单据'
,
dataIndex
:
'orderTypeName'
},
{
title
:
'总单数'
,
dataIndex
:
'totalCount'
},
{
title
:
'结算金额'
,
dataIndex
:
'amount'
},
{
title
:
'结算时间'
,
dataIndex
:
'settlementTime'
},
{
title
:
'支付方式'
,
dataIndex
:
'payWayName'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
filters
:
[
{
text
:
'待对账'
,
value
:
1
},
{
text
:
'待付款'
,
value
:
2
},
{
text
:
'待收款'
,
value
:
3
},
{
text
:
'以完成'
,
value
:
4
},
],
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
status
==
value
,
render
:
(
text
:
string
,
record
:
any
)
=>
{
return
(
<
StatusTag
status=
{
record
.
status
}
/>
)
...
...
@@ -55,13 +85,18 @@ const SettlementList = () => {
},
{
title
:
'操作'
,
render
:
(
text
,
record
)
=>
{
render
:
(
text
:
string
,
record
:
any
)
=>
{
return
(
<
StatusActions
status=
{
record
.
status
}
handleReconciledComfirm=
{
handleConfirm
}
handleComfirmInCompletePayment=
{
handleComfirmInCompletePayment
}
handleComfirmCompletePayment=
{
handleComfirmCompletePayment
}
status=
{
record
.
status
<=
2
?
record
.
status
:
4
}
id=
{
record
.
id
}
excludes=
{
[
1
,
3
]
}
settlementId=
{
record
.
settlementID
||
1
}
handleUpload=
{
handleUploadVoucher
}
type=
{
1
}
// handleReconciledComfirm={handleConfirm}
// handleComfirmInCompletePayment={handleComfirmInCompletePayment}
// handleComfirmCompletePayment={handleComfirmCompletePayment}
/>
)
}
...
...
@@ -69,33 +104,39 @@ const SettlementList = () => {
]
/**
*
确认对账
* @param
cancel 关闭回调函数
*
上传凭证
* @param
params
*/
const
handleConfirm
=
(
params
:
any
)
=>
{
console
.
log
(
123
)
params
.
onCancel
();
}
const
handleComfirmInCompletePayment
=
(
params
:
any
)
=>
{
const
handleUploadVoucher
=
(
params
:
any
)
=>
{
console
.
log
(
params
);
params
.
onCancel
()
///settle/accounts/member/settlement/pay
PublicApi
.
postSettleAccountsMemberSettlementPay
({
id
:
params
.
id
,
proveList
:
params
.
fileList
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
formActions
.
submit
();
params
.
onCancel
()
}
})
}
const
handleComfirmCompletePayment
=
(
params
:
any
)
=>
{
params
.
onCancel
();
}
// const handleComfirmInCompletePayment = (params: any) => {
// console.log(params);
// params.onCancel()
// }
// const handleComfirmCompletePayment = (params: any) => {
// params.onCancel();
// }
/**
* 搜索
*/
const
handleSearch
=
(
values
)
=>
{
console
.
log
(
values
);
const
handleSearch
=
(
values
:
SearchParams
)
=>
{
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
console
.
log
(
startTime
,
endTime
);
ref
.
current
.
reload
({
startTime
,
endTime
});
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
});
}
return
(
...
...
@@ -114,7 +155,7 @@ const SettlementList = () => {
components=
{
{
DatePicker
}
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.
n
ame'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.
settlementN
ame'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
...
...
src/pages/balance/accountsPayable/settlementList/logisticsDetail.tsx
View file @
a11cf210
...
...
@@ -6,33 +6,22 @@
import
React
,
{
useRef
,
useEffect
,
useState
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
Card
,
PageHeader
,
Descriptions
,
Button
,
DatePicker
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
d
etailSchema
}
from
'./schema'
import
{
logisticsD
etailSchema
}
from
'./schema'
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
StatusTag
from
'../../components/StatusTag'
;
const
formActions
=
createFormActions
();
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'no'
},
{
title
:
'单据摘要'
,
dataIndex
:
'desc'
},
{
title
:
'单据类型'
,
dataIndex
:
'type'
},
{
title
:
'单据时间'
,
dataIndex
:
'time'
},
{
title
:
'总箱数'
,
dataIndex
:
'box'
},
{
title
:
'总重量'
,
dataIndex
:
'weight'
},
{
title
:
'总体积'
,
dataIndex
:
'volumn'
},
{
title
:
'接单金额'
,
dataIndex
:
'price'
},
{
title
:
'支付时间'
,
dataIndex
:
'payTime'
},
{
title
:
'结算金额'
,
dataIndex
:
'payPrice'
},
]
const
RangePicker
=
DatePicker
.
RangePicker
const
formActions
=
createFormActions
();
interface
infoType
{
id
:
number
,
// 会员结算id
...
...
@@ -47,18 +36,32 @@ interface infoType {
statusName
:
string
// 结算状态名称
}
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'orderNo'
},
{
title
:
'单据摘要'
,
dataIndex
:
'orderAbstract'
},
{
title
:
'单据类型'
,
dataIndex
:
'orderTypeName'
},
{
title
:
'单据时间'
,
dataIndex
:
'orderTime'
},
{
title
:
'总箱数'
,
dataIndex
:
'totalCarton'
},
{
title
:
'总重量'
,
dataIndex
:
'totalWeight'
},
{
title
:
'总体积'
,
dataIndex
:
'totalVolume'
},
{
title
:
'接单金额'
,
dataIndex
:
'orderAmount'
},
{
title
:
'接单时间'
,
dataIndex
:
'acceptOrderTime'
},
{
title
:
'结算金额'
,
dataIndex
:
'settlementAmount'
},
]
const
logisticsDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
[
infoDetail
,
setInfoDetail
]
=
useState
<
infoType
>
(
null
);
const
{
id
,
preview
}
=
usePageStatus
();
const
fetchListData
=
async
(
params
)
=>
{
console
.
log
(
id
);
// const { data } = await PublicApi.getSettleAccountsMemberSettlementGetPayableDetail({id})
return
{
totalCount
:
0
,
data
:
[]
const
postData
=
{
settlementId
:
id
,
...
params
}
///settle/accounts/member/settlement/pagePayableLogisticsSettlement
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPagePayableLogisticsSettlement
(
postData
)
return
data
}
useEffect
(()
=>
{
...
...
@@ -72,6 +75,17 @@ const logisticsDetail: React.FC = () => {
}
},
[
id
])
/**
* 搜索
*/
const
handleSearch
=
(
values
)
=>
{
console
.
log
(
values
);
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
});
}
return
(
<
PageHeaderWrapper
title=
{
...
...
@@ -86,7 +100,7 @@ const logisticsDetail: React.FC = () => {
name
:
"结算单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
infoDetail
?.
settlementNo
}
</
span
>
)
}
/>
}
...
...
@@ -118,6 +132,7 @@ const logisticsDetail: React.FC = () => {
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
components=
{
{
RangePicker
}
}
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
...
...
@@ -127,14 +142,14 @@ const logisticsDetail: React.FC = () => {
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
search
'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
orderNo
'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
d
etailSchema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
schema=
{
logisticsD
etailSchema
}
onSubmit=
{
handleSearch
}
/>
}
/>
...
...
src/pages/balance/accountsPayable/settlementList/productNoticeSettlementDetail.tsx
View file @
a11cf210
...
...
@@ -6,7 +6,7 @@
import
React
,
{
useRef
,
useState
,
useEffect
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
Card
,
PageHeader
,
Descriptions
,
Button
,
DatePicker
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
NiceForm
from
'@/components/NiceForm'
;
...
...
@@ -18,6 +18,7 @@ import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import
{
detailSchema
}
from
'./schema'
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
RangePicker
=
DatePicker
.
RangePicker
;
const
formActions
=
createFormActions
();
...
...
@@ -53,7 +54,12 @@ const ProductNoticeSettlementDetail: React.FC = () => {
const
{
id
,
preview
}
=
usePageStatus
();
const
fetchListData
=
async
(
params
)
=>
{
return
{}
const
postData
=
{
settlementId
:
id
,
...
params
}
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPagePayableProductionNoticeSettlement
(
postData
)
return
data
}
useEffect
(()
=>
{
...
...
@@ -67,6 +73,20 @@ const ProductNoticeSettlementDetail: React.FC = () => {
}
},
[
id
])
/**
* 搜索
*/
const
handleSearch
=
(
values
)
=>
{
console
.
log
(
values
);
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
const
receiveStartTime
=
values
.
receiveStartTime
?.
format
(
format
);
const
receiveEndTime
=
values
.
receiveEndTime
?.
format
(
format
);
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
,
receiveStartTime
,
receiveEndTime
});
}
return
(
<
PageHeaderWrapper
title=
{
...
...
@@ -78,10 +98,10 @@ const ProductNoticeSettlementDetail: React.FC = () => {
<
AvatarWrap
info=
{
{
aloneTxt
:
'单'
,
name
:
"
通知
单号:"
name
:
"
结算
单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
infoDetail
?.
settlementNo
}
</
span
>
)
}
/>
}
...
...
@@ -114,6 +134,7 @@ const ProductNoticeSettlementDetail: React.FC = () => {
controlRender=
{
<
NiceForm
actions=
{
formActions
}
components=
{
{
RangePicker
}
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
...
...
@@ -122,14 +143,14 @@ const ProductNoticeSettlementDetail: React.FC = () => {
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
search
'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
orderNo
'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
detailSchema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
onSubmit=
{
handleSearch
}
/>
}
/>
...
...
src/pages/balance/accountsPayable/settlementList/schema/index.tsx
View file @
a11cf210
...
...
@@ -17,11 +17,11 @@ export const schema: ISchema = {
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
n
ame
:
{
settlementN
ame
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
placeholder
:
'搜索
(结算方)
'
,
align
:
'flex-left'
,
// tip: '输入通知单号、通知单摘要进行搜索',
},
...
...
@@ -52,12 +52,32 @@ export const schema: ISchema = {
},
status
:
{
type
:
'string'
,
enum
:
[],
enum
:
[
{
label
:
'结算状态(所有)'
,
value
:
0
},
{
label
:
'待对账'
,
value
:
1
},
{
label
:
'待付款'
,
value
:
2
},
{
label
:
'代收款'
,
value
:
3
},
{
label
:
'完成'
,
value
:
4
},
],
default
:
0
,
'x-component-props'
:
{
placeholder
:
'结算状态(全部)'
,
allowClear
:
true
,
},
},
orderType
:
{
type
:
'string'
,
enum
:
[
{
label
:
'结算单据(所有)'
,
value
:
0
},
{
label
:
'生产通知单'
,
value
:
1
},
{
label
:
'物流单'
,
value
:
2
},
],
default
:
0
,
'x-component-props'
:
{
placeholder
:
'结算单据(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
...
...
@@ -100,11 +120,11 @@ export const detailSchema: ISchema = {
children
:
'{{exportBtn}}'
,
},
},
search
:
{
orderNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
placeholder
:
'搜索
(单据号)
'
,
},
},
},
...
...
@@ -118,35 +138,117 @@ export const detailSchema: ISchema = {
},
},
properties
:
{
order
Time
:
{
order
Abstract
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'下单时间(全部)'
,
allowClear
:
true
,
placeholder
:
'单据摘要'
}
},
"[startTime, endTime]"
:
{
type
:
'array'
,
'x-component'
:
'RangePicker'
,
'x-component-props'
:
{
showTime
:
false
,
allowClear
:
true
,
placeholder
:
[
"单据时间(开始时间)"
,
"单据时间(结束时间)"
]
},
},
payTime
:
{
"[receiveStartTime, receiveEndTime]"
:
{
type
:
'array'
,
'x-component'
:
'RangePicker'
,
'x-component-props'
:
{
showTime
:
false
,
allowClear
:
true
,
placeholder
:
[
"收货时间(开始时间)"
,
"收货时间(结束时间)"
]
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
/**
* 应付账款结算--物流单结算明细
*/
export
const
logisticsDetailSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
orderNo
:
{
type
:
'string'
,
enum
:
[]
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'支付时间(全部)'
,
allowClear
:
true
,
placeholder
:
'搜索(单据号)'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
orderAbstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'单据摘要'
}
},
"[startTime, endTime]"
:
{
type
:
'array'
,
'x-component'
:
'RangePicker'
,
'x-component-props'
:
{
showTime
:
false
,
allowClear
:
true
,
placeholder
:
[
"单据时间(开始时间)"
,
"单据时间(结束时间)"
]
},
},
//
submit: {
//
'x-component': 'Submit',
//
'x-mega-props': {
//
span: 1,
//
},
//
'x-component-props': {
//
children: '查询',
//
},
//
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
};
src/pages/balance/accountsReceivable/settlementList/index.tsx
View file @
a11cf210
...
...
@@ -17,6 +17,7 @@ import { schema } from './schema';
import
{
PublicApi
}
from
'@/services/api'
;
import
StatusActions
from
'../../components/StatusActions'
;
import
StatusTag
from
'../../components/StatusTag'
;
import
EyePreview
from
'@/components/EyePreview'
;
const
formActions
=
createFormActions
();
...
...
@@ -24,26 +25,45 @@ const SettlementList = () => {
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
const
searchParams
=
{
orderType
:
0
,
status
:
0
,
...
params
,
orderType
:
params
.
orderType
||
0
,
status
:
params
.
status
||
0
,
}
// /settle/accounts/member/settlement/pagePayableSettlement
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPageReceivableSettlement
(
searchParams
);
return
data
}
const
columns
=
[
{
title
:
'结算单号'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'结算方式'
,
dataIndex
:
'num'
},
{
title
:
'总单数'
,
dataIndex
:
'num'
},
{
title
:
'代收金额'
,
dataIndex
:
'num'
},
{
title
:
'佣金'
,
dataIndex
:
'num'
},
{
title
:
'结算金额'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'支付方式'
,
dataIndex
:
'payMethod'
},
{
title
:
'结算单号'
,
dataIndex
:
'settlementNo'
,
render
:
(
text
,
record
)
=>
{
const
prefix
=
`/memberCenter/balance/accountsReceivable/settlementList/`
;
const
url
=
record
.
orderTypeName
===
'物流单'
?
`logisticsDetail`
:
`productNoticeSettlementDetail`
;
return
(
<
EyePreview
url=
{
`${prefix}${url}?id=${record.id}`
}
>
{
record
.
settlementNo
}
</
EyePreview
>
)
}
},
{
title
:
'结算日期'
,
dataIndex
:
'settlementDate'
},
{
title
:
'结算方式'
,
dataIndex
:
'settlementWayName'
},
{
title
:
'付款方'
,
dataIndex
:
'payName'
},
{
title
:
'结算单据'
,
dataIndex
:
'orderTypeName'
},
{
title
:
'总单数'
,
dataIndex
:
'totalCount'
},
{
title
:
'结算金额'
,
dataIndex
:
'amount'
},
{
title
:
'结算时间'
,
dataIndex
:
'settlementTime'
},
{
title
:
'支付方式'
,
dataIndex
:
'payWayName'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
filters
:
[
{
text
:
'待对账'
,
value
:
1
},
{
text
:
'待付款'
,
value
:
2
},
{
text
:
'待收款'
,
value
:
3
},
{
text
:
'以完成'
,
value
:
4
},
],
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
status
==
value
,
render
:
(
text
,
record
)
=>
{
return
(
<
StatusTag
status=
{
record
.
status
||
1
}
/>
...
...
@@ -55,7 +75,11 @@ const SettlementList = () => {
render
:
(
text
,
record
)
=>
{
return
(
<
StatusActions
status=
{
record
.
status
||
3
}
excludes=
{
[
2
]
}
// {...record}
id=
{
record
.
id
}
type=
{
2
}
status=
{
record
.
status
}
handleReconciledComfirm=
{
handleConfirm
}
handleComfirmInCompletePayment=
{
handleComfirmInCompletePayment
}
handleComfirmCompletePayment=
{
handleComfirmCompletePayment
}
...
...
@@ -67,21 +91,49 @@ const SettlementList = () => {
/**
* 确认对账
* @param
cancel
关闭回调函数
* @param
{cancel: function, id: number} cancel 为
关闭回调函数
*/
const
handleConfirm
=
(
params
:
any
)
=>
{
console
.
log
(
123
)
params
.
onCancel
();
PublicApi
.
postSettleAccountsMemberSettlementConfirmAccountComplete
({
settlementId
:
params
.
id
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
params
.
onCancel
();
formActions
.
submit
();
}
})
}
/**
* 确认未到款
* @param params
*/
const
handleComfirmInCompletePayment
=
(
params
:
any
)
=>
{
console
.
log
(
params
);
params
.
onCancel
()
}
/**
* 确认到款
* @param {onCancel:function, id: number, status: number}
*/
const
handleComfirmCompletePayment
=
(
params
:
any
)
=>
{
params
.
onCancel
();
PublicApi
.
postSettleAccountsMemberSettlementConfirmPayProve
({
id
:
params
.
id
,
status
:
params
.
id
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
params
.
onCancel
();
}
})
}
/**
* 搜索
*/
const
handleSearch
=
(
values
:
any
)
=>
{
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
});
}
return
(
<
PageHeaderWrapper
>
<
Card
>
...
...
@@ -98,14 +150,14 @@ const SettlementList = () => {
actions=
{
formActions
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.
n
ame'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.
payN
ame'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
onSubmit=
{
handleSearch
}
/>
}
/>
...
...
src/pages/balance/accountsReceivable/settlementList/logisticsDetail.tsx
View file @
a11cf210
...
...
@@ -6,7 +6,7 @@
import
React
,
{
useRef
,
useEffect
,
useState
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
Card
,
PageHeader
,
Descriptions
,
Button
,
DatePicker
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
NiceForm
from
'@/components/NiceForm'
;
...
...
@@ -15,10 +15,12 @@ import { ISchema, createFormActions } from '@formily/antd';
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
d
etailSchema
}
from
'./schema'
import
{
logisticsD
etailSchema
}
from
'./schema'
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
StatusTag
from
'../../components/StatusTag'
;
const
RangePicker
=
DatePicker
.
RangePicker
;
const
formActions
=
createFormActions
();
const
columns
=
[
...
...
@@ -53,25 +55,35 @@ const logisticsDetail: React.FC = () => {
const
{
id
,
preview
}
=
usePageStatus
();
const
fetchListData
=
async
(
params
)
=>
{
console
.
log
(
id
);
// const { data } = await PublicApi.getSettleAccountsMemberSettlementGetPayableDetail({id})
return
{
totalCount
:
0
,
data
:
[]
const
postData
=
{
settlementId
:
id
,
...
params
}
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPageReceivableLogisticsSettlement
(
postData
)
return
data
}
useEffect
(()
=>
{
if
(
id
)
{
// 获取详情
async
function
fetchDetail
()
{
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementGet
Pay
ableDetail
({
id
})
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementGet
Receiv
ableDetail
({
id
})
setInfoDetail
(
data
);
}
fetchDetail
();
}
},
[
id
])
/**
* 搜索
*/
const
handleSearch
=
(
values
)
=>
{
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
});
}
return
(
<
PageHeaderWrapper
title=
{
...
...
@@ -86,7 +98,7 @@ const logisticsDetail: React.FC = () => {
name
:
"结算单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
<
span
style=
{
{
fontSize
:
12
}
}
>
{
infoDetail
?.
settlementNo
}
</
span
>
)
}
/>
}
...
...
@@ -118,6 +130,7 @@ const logisticsDetail: React.FC = () => {
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
components=
{
{
RangePicker
}
}
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
...
...
@@ -127,14 +140,14 @@ const logisticsDetail: React.FC = () => {
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
search
'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
orderNo
'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
d
etailSchema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
schema=
{
logisticsD
etailSchema
}
onSubmit=
{
handleSearch
}
/>
}
/>
...
...
src/pages/balance/accountsReceivable/settlementList/productNoticeSettlementDetail.tsx
View file @
a11cf210
...
...
@@ -6,7 +6,7 @@
import
React
,
{
useRef
,
useState
,
useEffect
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
Card
,
PageHeader
,
Descriptions
,
Button
,
DatePicker
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
NiceForm
from
'@/components/NiceForm'
;
...
...
@@ -19,19 +19,20 @@ import { detailSchema } from './schema'
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
RangePicker
=
DatePicker
.
RangePicker
;
const
formActions
=
createFormActions
();
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'
n
o'
},
{
title
:
'单据摘要'
,
dataIndex
:
'
desc
'
},
{
title
:
'单据类型'
,
dataIndex
:
'
typ
e'
},
{
title
:
'单据时间'
,
dataIndex
:
'
t
ime'
},
{
title
:
'单据总额'
,
dataIndex
:
'
total
'
},
{
title
:
'单据号'
,
dataIndex
:
'
orderN
o'
},
{
title
:
'单据摘要'
,
dataIndex
:
'
orderAbstract
'
},
{
title
:
'单据类型'
,
dataIndex
:
'
orderTypeNam
e'
},
{
title
:
'单据时间'
,
dataIndex
:
'
orderT
ime'
},
{
title
:
'单据总额'
,
dataIndex
:
'
orderAmount
'
},
{
title
:
'收货批次'
,
dataIndex
:
'batch'
},
{
title
:
'收货时间'
,
dataIndex
:
'receiveTime'
},
{
title
:
'收货数量'
,
dataIndex
:
'receive
Count
'
},
{
title
:
'加工单价'
,
dataIndex
:
'
unit
Price'
},
{
title
:
'结算金额'
,
dataIndex
:
'
payPrice
'
},
{
title
:
'收货数量'
,
dataIndex
:
'receive
Time
'
},
{
title
:
'加工单价'
,
dataIndex
:
'
process
Price'
},
{
title
:
'结算金额'
,
dataIndex
:
'
settlementAmount
'
},
]
interface
infoType
{
...
...
@@ -53,20 +54,39 @@ const ProductNoticeSettlementDetail: React.FC = () => {
const
{
id
,
preview
}
=
usePageStatus
();
const
fetchListData
=
async
(
params
)
=>
{
return
{}
const
postData
=
{
settlementId
:
id
,
...
params
}
// /settle/accounts/member/settlement/pageReceivableProductionNoticeSettlement
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPageReceivableProductionNoticeSettlement
(
postData
)
return
data
}
useEffect
(()
=>
{
if
(
id
)
{
// 获取详情
async
function
fetchDetail
()
{
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementGet
Pay
ableDetail
({
id
})
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementGet
Receiv
ableDetail
({
id
})
setInfoDetail
(
data
);
}
fetchDetail
();
}
},
[
id
])
/**
* 搜索
*/
const
handleSearch
=
(
values
)
=>
{
console
.
log
(
values
);
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
const
receiveStartTime
=
values
.
receiveStartTime
?.
format
(
format
);
const
receiveEndTime
=
values
.
receiveEndTime
?.
format
(
format
);
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
,
receiveStartTime
,
receiveEndTime
});
}
return
(
<
PageHeaderWrapper
title=
{
...
...
@@ -78,10 +98,10 @@ const ProductNoticeSettlementDetail: React.FC = () => {
<
AvatarWrap
info=
{
{
aloneTxt
:
'单'
,
name
:
"
通知
单号:"
name
:
"
结算
单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
<
span
style=
{
{
fontSize
:
12
}
}
>
{
infoDetail
?.
settlementNo
}
</
span
>
)
}
/>
}
...
...
@@ -106,13 +126,14 @@ const ProductNoticeSettlementDetail: React.FC = () => {
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
rowKey
:
(
record
)
=>
`${record.orderNo}-${record.batch}`
,
}
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
components=
{
{
RangePicker
}
}
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
...
...
@@ -122,14 +143,14 @@ const ProductNoticeSettlementDetail: React.FC = () => {
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
search
'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.
orderNo
'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
detailSchema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
onSubmit=
{
handleSearch
}
/>
}
/>
...
...
src/pages/balance/accountsReceivable/settlementList/schema/index.tsx
View file @
a11cf210
...
...
@@ -17,13 +17,13 @@ export const schema: ISchema = {
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
n
ame
:
{
payN
ame
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
placeholder
:
'搜索
(付款方)
'
,
align
:
'flex-left'
,
tip
:
'输入通知单号、通知单摘要进行搜索'
,
//
tip: '输入通知单号、通知单摘要进行搜索',
},
},
[
FORM_FILTER_PATH
]:
{
...
...
@@ -52,21 +52,41 @@ export const schema: ISchema = {
},
status
:
{
type
:
'string'
,
enum
:
[],
enum
:
[
{
label
:
'结算状态(所有)'
,
value
:
0
},
{
label
:
'待对账'
,
value
:
1
},
{
label
:
'待付款'
,
value
:
2
},
{
label
:
'代收款'
,
value
:
3
},
{
label
:
'完成'
,
value
:
4
},
],
default
:
0
,
'x-component-props'
:
{
placeholder
:
'结算状态(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
orderType
:
{
type
:
'string'
,
enum
:
[
{
label
:
'结算单据(所有)'
,
value
:
0
},
{
label
:
'生产通知单'
,
value
:
1
},
{
label
:
'物流单'
,
value
:
2
},
],
default
:
0
,
'x-component-props'
:
{
placeholder
:
'结算单据(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
...
...
@@ -75,7 +95,7 @@ export const schema: ISchema = {
};
/**
* 应收账款管理-
-物流单结算明细详情,
生产通知单结算明细
* 应收账款管理- 生产通知单结算明细
*/
export
const
detailSchema
:
ISchema
=
{
...
...
@@ -99,11 +119,11 @@ export const detailSchema: ISchema = {
children
:
'{{exportBtn}}'
,
},
},
search
:
{
orderNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
placeholder
:
'搜索
(单据号)
'
,
},
},
},
...
...
@@ -117,35 +137,117 @@ export const detailSchema: ISchema = {
},
},
properties
:
{
order
Time
:
{
order
Abstract
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'下单时间(全部)'
,
allowClear
:
true
,
placeholder
:
'单据摘要'
}
},
"[startTime, endTime]"
:
{
type
:
'array'
,
'x-component'
:
'RangePicker'
,
'x-component-props'
:
{
showTime
:
false
,
allowClear
:
true
,
placeholder
:
[
"单据时间(开始时间)"
,
"单据时间(结束时间)"
]
},
},
"[receiveStartTime, receiveEndTime]"
:
{
type
:
'array'
,
'x-component'
:
'RangePicker'
,
'x-component-props'
:
{
showTime
:
false
,
allowClear
:
true
,
placeholder
:
[
"收货时间(开始时间)"
,
"收货时间(结束时间)"
]
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
payTime
:
{
},
},
},
},
},
};
/**
* 应付账款结算--物流单结算明细
*/
export
const
logisticsDetailSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
orderNo
:
{
type
:
'string'
,
enum
:
[]
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'支付时间(全部)'
,
allowClear
:
true
,
placeholder
:
'搜索(单据号)'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
orderAbstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'单据摘要'
}
},
"[startTime, endTime]"
:
{
type
:
'array'
,
'x-component'
:
'RangePicker'
,
'x-component-props'
:
{
showTime
:
false
,
allowClear
:
true
,
placeholder
:
[
"单据时间(开始时间)"
,
"单据时间(结束时间)"
]
},
},
//
submit: {
//
'x-component': 'Submit',
//
'x-mega-props': {
//
span: 1,
//
},
//
'x-component-props': {
//
children: '查询',
//
},
//
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
\ No newline at end of file
};
src/pages/balance/components/ConfirmAccount/index.tsx
View file @
a11cf210
...
...
@@ -6,17 +6,30 @@
import
React
from
'react'
;
const
ConfirmAccount
=
()
=>
{
interface
Iprops
{
/**
* 结算日期
*/
settlementDate
:
string
,
/**
* 付款方
*/
payName
:
string
}
const
ConfirmAccount
:
React
.
FC
<
Iprops
>
=
(
props
)
=>
{
const
{
settlementDate
,
payName
}
=
props
return
(
<
div
>
<
h3
style=
{
{
margin
:
0
}
}
>
是否确认以下对账已完成?
</
h3
>
<
div
style=
{
{
margin
:
'24px 0'
}
}
>
<
span
style=
{
{
color
:
'#909399'
,
width
:
'60px'
,
display
:
'inline-block'
}
}
>
结算日期:
</
span
>
<
span
>
2020-08-25
</
span
>
<
span
>
{
settlementDate
}
</
span
>
</
div
>
<
div
>
<
span
style=
{
{
color
:
'#909399'
,
width
:
'60px'
,
display
:
'inline-block'
}
}
>
付款方:
</
span
>
<
span
>
平台
</
span
>
<
span
>
{
payName
}
</
span
>
</
div
>
</
div
>
)
...
...
src/pages/balance/components/StatusActions/index.tsx
View file @
a11cf210
...
...
@@ -3,7 +3,7 @@
* @Date: 2020-10-23 17:24:23
* @Description: 结算能力列表操作
*/
import
React
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
ModalContainer
from
'../ModalContainer'
;
import
{
Modal
,
Space
,
Button
}
from
'antd'
;
import
ConfirmAccount
from
'../../components/ConfirmAccount'
;
...
...
@@ -11,16 +11,25 @@ import Voucher from '../../components/Voucher';
import
{
StatusEnum
,
TO_BE_RECONCILED
,
TO_BE_PAY
,
TO_BE_COLLECTED
,
COMPLETED
}
from
'../../components/StatusTag'
;
import
styles
from
'./index.less'
;
import
UploadPayVoucher
from
'../../components/UploadPayVoucher'
;
import
{
PublicApi
}
from
'@/services/api'
;
interface
Iprops
{
status
:
StatusEnum
,
id
:
number
,
// 应付,应收账款id
settlementDate
?:
string
,
// 结算日期
settlementId
?:
number
,
// 结算方id
payName
?:
string
,
//付款方
excludes
:
number
[],
// 排除数组,比如当应付的时候,只留下查看凭证跟付款, 应收账款的时候保留三个
type
?:
number
,
// 1 -> 应付账款结算 2-> 应收账款结算, 用于判断 查看付款凭证
handleReconciledComfirm
?:
(
params
:
any
)
=>
void
// 对账确定回调
handleComfirmInCompletePayment
?:
(
params
:
any
)
=>
void
,
// 确认未到款回调
handleComfirmCompletePayment
?:
(
params
:
any
)
=>
void
,
//确认到款回调
handleUpload
?:
(
params
:
any
)
=>
void
,
// 上传凭证
}
// 显示确认对账
const
ConfirmAccountComponent
:
React
.
FC
<
Iprops
>
=
(
props
)
=>
{
const
{
settlementDate
,
payName
}
=
props
;
return
(
<
ModalContainer
>
{
...
...
@@ -32,9 +41,9 @@ const ConfirmAccountComponent: React.FC<Iprops> = (props) => {
title=
"确认对账完成"
visible=
{
visible
}
onCancel=
{
cancel
}
onOk=
{
()
=>
props
.
handleReconciledComfirm
({
onCancel
:
cancel
})
}
onOk=
{
()
=>
props
.
handleReconciledComfirm
({
onCancel
:
cancel
,
id
:
props
.
id
})
}
>
<
ConfirmAccount
/>
<
ConfirmAccount
settlementDate=
{
settlementDate
}
payName=
{
payName
}
/>
</
Modal
>
<
div
className=
{
styles
.
modalBtn
}
onClick=
{
show
}
>
确认对账完成
</
div
>
</>
...
...
@@ -59,16 +68,16 @@ const ConfirmCollected = (props) => {
<
Button
onClick=
{
cancel
}
>
取消
</
Button
>
<
Button
danger
onClick=
{
()
=>
props
.
handleComfirmInCompletePayment
({
onCancel
:
cancel
})
}
onClick=
{
()
=>
props
.
handleComfirmInCompletePayment
({
onCancel
:
cancel
,
status
:
0
,
id
:
props
.
id
})
}
>
确认未到款
</
Button
>
<
Button
type=
{
"primary"
}
onClick=
{
()
=>
props
.
handleComfirmCompletePayment
({
onCancel
:
cancel
})
}
onClick=
{
()
=>
props
.
handleComfirmCompletePayment
({
onCancel
:
cancel
,
status
:
1
,
id
:
props
.
id
})
}
>
确认到款
</
Button
>
</
Space
>
)
}
>
<
Voucher
/>
<
WrapVoucher
id=
{
props
.
id
}
type=
{
props
.
type
}
/>
</
Modal
>
<
div
className=
{
styles
.
modalBtn
}
onClick=
{
show
}
>
确认付款凭证
</
div
>
</>
...
...
@@ -79,8 +88,31 @@ const ConfirmCollected = (props) => {
)
}
const
WrapVoucher
=
({
id
,
type
})
=>
{
const
[
files
,
setFiles
]
=
useState
([]);
console
.
log
(
id
);
useEffect
(()
=>
{
if
(
id
)
{
const
service
=
type
==
1
?
PublicApi
.
getSettleAccountsMemberSettlementGetPayablePayProve
:
PublicApi
.
getSettleAccountsMemberSettlementGetReceivablePayProve
service
({
id
}).
then
((
data
)
=>
{
if
(
data
.
code
==
1000
)
{
setFiles
(
data
.
data
)
}
})
}
},
[
id
])
return
(
<
Voucher
files=
{
files
}
/>
)
}
// 显示查看付款凭证
const
ViewPaymentVoucher
:
React
.
FC
=
(
props
)
=>
{
const
ViewPaymentVoucher
=
(
props
)
=>
{
return
(
<
ModalContainer
>
{
...
...
@@ -88,7 +120,7 @@ const ViewPaymentVoucher: React.FC = (props) => {
return
(
<>
<
Modal
width=
{
548
}
title=
"查看付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
null
}
>
<
Voucher
files=
{
[]
}
/>
<
WrapVoucher
id=
{
props
.
id
}
type=
{
props
.
type
}
/>
</
Modal
>
<
div
className=
{
styles
.
modalBtn
}
onClick=
{
show
}
>
查看付款凭证
</
div
>
</>
...
...
@@ -99,8 +131,25 @@ const ViewPaymentVoucher: React.FC = (props) => {
)
}
interface
UploadVocherProps
{
settlementId
:
number
,
id
:
number
handleUpload
:
(
params
:
any
)
=>
void
}
interface
FileType
{
name
:
string
,
proveUrl
:
string
}
// 待付款 状态 上传付款凭证
const
UploadVoucher
:
React
.
FC
=
(
props
)
=>
{
const
UploadVoucher
:
React
.
FC
<
UploadVocherProps
>
=
(
props
)
=>
{
const
{
settlementId
}
=
props
;
const
[
fileList
,
setFileList
]
=
useState
<
FileType
[]
>
([]);
const
getFileList
=
(
list
:
FileType
[])
=>
{
setFileList
(
list
);
}
return
(
<
ModalContainer
>
{
...
...
@@ -117,11 +166,12 @@ const UploadVoucher: React.FC = (props) => {
<
Button
onClick=
{
cancel
}
>
取消
</
Button
>
<
Button
type=
{
"primary"
}
onClick=
{
()
=>
props
.
handleUpload
({
onCancel
:
cancel
,
id
:
props
.
id
,
fileList
:
fileList
})
}
>
确认
</
Button
>
</
Space
>
)
}
>
<
UploadPayVoucher
fileList=
{
[{
name
:
'123'
,
proveUrl
:
''
}]
}
/>
<
UploadPayVoucher
id=
{
settlementId
}
getFileList=
{
getFileList
}
/>
</
Modal
>
<
div
className=
{
styles
.
modalBtn
}
onClick=
{
show
}
>
上传付款凭证
</
div
>
</>
...
...
@@ -141,8 +191,8 @@ const ChildrenComponent = {
}
const
StatusActions
:
React
.
FC
<
Iprops
>
=
(
props
:
Iprops
)
=>
{
const
{
status
}
=
props
;
const
Component
=
ChildrenComponent
[
status
];
const
{
status
,
excludes
=
[]
}
=
props
;
const
Component
=
excludes
.
includes
(
status
)
?
null
:
ChildrenComponent
[
status
];
return
(
<>
{
Component
&&
<
Component
{
...
props
}
/>
}
...
...
src/pages/balance/components/UploadPayVoucher/index.tsx
View file @
a11cf210
...
...
@@ -12,19 +12,43 @@ import { UploadOutlined } from '@ant-design/icons'
import
{
UploadFile
,
UploadChangeParam
}
from
'antd/lib/upload/interface'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
import
{
VoucherFileProps
}
from
'../../common/type'
;
import
{
PublicApi
}
from
'@/services/api'
;
interface
Iprops
{
fileList
:
VoucherFileProps
[],
fileList
?:
VoucherFileProps
[],
id
:
number
,
// 结算方id
getFileList
:
(
params
:
any
[])
=>
void
}
interface
AccountInfo
{
bankAccount
:
string
,
name
:
string
,
bankDeposit
:
string
}
const
UploadPayVoucher
:
React
.
FC
<
Iprops
>
=
(
props
)
=>
{
const
[
fileList
,
setFileList
]
=
useState
([]);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
accountInfo
,
setAccountInfo
]
=
useState
<
AccountInfo
>
(
null
)
// 进来设置fileList
// useEffect(() => {
// setFileList(props.fileList)
// }, [props.fileList])
/**
* 获取账户名称等
*/
useEffect
(()
=>
{
setFileList
(
props
.
fileList
)
},
[
props
.
fileList
])
async
function
getAccountInfo
()
{
///settle/accounts/corporate/account/config
const
{
data
,
code
}
=
await
PublicApi
.
getSettleAccountsCorporateAccountConfig
({
memberId
:
props
.
id
.
toString
()});
if
(
code
==
1000
)
{
setAccountInfo
(
data
);
}
}
getAccountInfo
()
},
[
props
.
id
])
/***
* 上传前检查
...
...
@@ -67,6 +91,7 @@ const UploadPayVoucher: React.FC<Iprops> = (props) => {
proveUrl
:
data
})
setFileList
(
temp
);
props
.
getFileList
(
temp
)
}
setLoading
(
false
)
}
...
...
@@ -78,15 +103,15 @@ const UploadPayVoucher: React.FC<Iprops> = (props) => {
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
formItem
}
>
<
span
className=
{
styles
.
label
}
>
账户名称
</
span
>
<
span
className=
{
styles
.
value
}
>
温州市隆昌皮具有限公司
</
span
>
<
span
className=
{
styles
.
value
}
>
{
accountInfo
?.
name
}
</
span
>
</
div
>
<
div
className=
{
styles
.
formItem
}
>
<
span
className=
{
styles
.
label
}
>
银行账号
</
span
>
<
span
className=
{
styles
.
value
}
>
3214 454646 145 46 1231
</
span
>
<
span
className=
{
styles
.
value
}
>
{
accountInfo
?.
bankAccount
}
</
span
>
</
div
>
<
div
className=
{
styles
.
formItem
}
>
<
span
className=
{
styles
.
label
}
>
开户行
</
span
>
<
span
className=
{
styles
.
value
}
>
中国建设银行广州市分行营业部
</
span
>
<
span
className=
{
styles
.
value
}
>
{
accountInfo
?.
bankDeposit
}
</
span
>
</
div
>
<
p
className=
{
styles
.
voucherText
}
>
上传支付凭证
</
p
>
<
Voucher
files=
{
fileList
}
/>
...
...
src/pages/balance/components/Voucher/index.tsx
View file @
a11cf210
...
...
@@ -15,12 +15,13 @@ interface Iprops {
const
Voucher
:
React
.
FC
<
Iprops
>
=
(
props
)
=>
{
const
{
files
=
[]
}
=
props
;
console
.
log
(
files
);
return
(
<>
{
files
.
map
((
item
:
VoucherFileProps
)
=>
{
files
.
map
((
item
:
VoucherFileProps
,
key
:
number
)
=>
{
return
(
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
container
}
key=
{
key
}
>
{
/* <div></div>/ */
}
<
div
className=
{
styles
.
image
}
>
<
img
src=
{
image_icon
}
className=
{
styles
.
icon
}
/>
...
...
@@ -28,7 +29,9 @@ const Voucher: React.FC<Iprops> = (props) => {
<
div
className=
{
styles
.
text
}
>
<
a
href=
{
item
.
proveUrl
}
target=
{
"_blank"
}
>
{
item
.
name
}
</
a
>
</
div
>
<
div
className=
{
styles
.
view
}
>
预览
</
div
>
<
div
className=
{
styles
.
view
}
>
<
a
href=
{
item
.
proveUrl
}
target=
{
"_blank"
}
>
预览
</
a
>
</
div
>
</
div
>
)
})
...
...
src/pages/commodity/products/addProducts.tsx
View file @
a11cf210
...
...
@@ -50,7 +50,8 @@ const AddProducts: React.FC<{}> = (props) => {
isAllAttributePic
,
productInfoByEdit
,
selectCategoryId
,
clearPartData
clearPartData
,
setTabClickItem
}
=
ProductStore
useEffect
(()
=>
{
...
...
@@ -161,7 +162,7 @@ const AddProducts: React.FC<{}> = (props) => {
// 移除描述中的[]
let
_productDescription
=
{
...
productDescription
}
for
(
let
i
in
_productDescription
){
if
(
_productDescription
[
i
].
length
===
0
){
if
(
_productDescription
[
i
]
?
.
length
===
0
){
delete
_productDescription
[
i
]
}
}
...
...
@@ -304,13 +305,12 @@ const AddProducts: React.FC<{}> = (props) => {
}
console
.
log
(
e
,
'e'
)
}).
catch
(
error
=>
{
console
.
log
(
error
,
'_error'
)
setIsDisableSaveBtn
(
false
)
if
(
error
.
messge
)
message
.
error
(
error
.
message
)
else
message
.
error
(
error
.
errorFields
[
0
].
errors
.
toString
())
console
.
log
(
error
,
'_error'
)
})
}
catch
(
e
)
{
setIsDisableSaveBtn
(
false
)
...
...
@@ -330,6 +330,8 @@ const AddProducts: React.FC<{}> = (props) => {
const
callback
=
(
key
:
any
)
=>
{
setClickTabIndex
([...
clickTabIndex
,
key
])
// 点击项存入store 用于后续编辑步骤判断 是直接点击进去某个子模块还是已经进入子模块 从而采用缓存数据还是采用接口返回的编辑数据
setTabClickItem
([...
clickTabIndex
,
key
])
}
return
(<
PageHeaderWrapper
...
...
src/pages/commodity/products/addProductsItem/priceAttributeForm.tsx
View file @
a11cf210
...
...
@@ -69,6 +69,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
getPriceAttributeFormParamsByEdit
,
selectCategoryId
,
productAttributeAndImageParams
,
tabClickItem
}
=
ProductStore
_tableDataSource
=
useMemo
(()
=>
tableDataSource
,
[
tableDataSource
])
// 保持最新值
...
...
@@ -193,7 +194,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
let
{
_attributeNameArr
,
_attributeValueArr
,
_temp_attributeObjArr
,
_temp_attributeValObjArr
}
=
needObject
//
console.log(_priceAttribute, _attributeNameArr, _attributeValueArr, _temp_attributeObjArr, _temp_attributeValObjArr, selectedGoods, '---constructimg---') // 编辑直接进入价格设置 都为空数组
console
.
log
(
_priceAttribute
,
_attributeNameArr
,
_attributeValueArr
,
_temp_attributeObjArr
,
_temp_attributeValObjArr
,
selectedGoods
,
'---constructimg---'
)
// 编辑直接进入价格设置 都为空数组
if
(
selectedGoods
.
length
>
0
){
// 编辑情况下 select货品列表可能会采用接口数据
_col
.
push
({
...
...
@@ -211,32 +212,34 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
</
Select
>
</>
})
}
else
if
(
history
.
location
.
query
?.
id
){
// 此时没有货品并且处于编辑状态 取接口返回的数据
let
_goods
:
any
[]
=
Object
.
values
(
productInfoByEdit
.
unitPriceAndPicList
.
map
(
_
=>
_
.
goods
))
if
(
_goods
.
indexOf
(
null
)
===-
1
){
let
goodsInApi
:
any
=
Object
.
values
(
_goods
.
reduce
((
item
,
next
)
=>
{
item
[
next
.
id
]
=
next
return
item
},{}))
if
(
goodsInApi
.
length
>
0
){
// *9.12*
_col
.
push
({
title
:
'对应货品'
,
dataIndex
:
'对应货品'
,
key
:
'对应货品'
,
width
:
360
,
render
:
(
text
:
any
,
record
:
any
)
=>
<>
<
Select
style=
{
{
width
:
'100%'
}
}
defaultValue=
{
text
}
onChange=
{
(
v
)
=>
{
tableSelelctChange
(
v
,
record
)
}
}
>
{
goodsInApi
.
map
(
_item
=>
(
<
Option
key=
{
_item
.
id
}
value=
{
_item
.
id
}
>
{
_item
.
code
}
/
{
_item
.
name
}
/
{
_item
.
type
}
/¥
{
_item
.
costPrice
}
</
Option
>
))
}
</
Select
>
</>
})
}
}
}
/** 注释原因:编辑时操作货品 没有更新价格属性表格中的货品选项 */
// else if(history.location.query?.id){ // 此时没有货品并且处于编辑状态 取接口返回的数据
// let _goods: any[] = Object.values(productInfoByEdit.unitPriceAndPicList.map(_ => _.goods))
// if(_goods.indexOf(null)===-1){
// let goodsInApi : any = Object.values(_goods.reduce((item, next)=>{
// item[next.id] = next
// return item
// },{}))
// if(goodsInApi.length > 0){
// _col.push({
// title: '对应货品',
// dataIndex: '对应货品',
// key: '对应货品',
// width: 360,
// render: (text: any, record: any) => <>
// <Select style={{width:'100%'}} defaultValue={text} onChange={(v)=> {tableSelelctChange(v, record) }}>
// {
// goodsInApi.map(_item => (
// <Option key={_item.id} value={_item.id}>{_item.code}/{_item.name}/{_item.type}/¥{_item.costPrice}</Option>
// ))
// }
// </Select>
// </>
// })
// }
// }
// }
if
(
_attributeNameArr
?.
length
>
0
){
_attributeNameArr
.
map
(
_attr
=>
{
...
...
@@ -276,7 +279,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
setColumns
(
_col
)
// 生成表格data
// 生成表格data
Source
let
combineArray
=
SKUCombine
(
_attributeValueArr
)
setCombineAttributeArray
(
combineArray
)
setAttributeObjArr
(
_temp_attributeObjArr
)
...
...
@@ -292,8 +295,12 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
})
:
_tempObj
[
_attributeNameArr
[
i
]
||
_attributeNameArr
[
0
]]
=
_rowArr
// 当一项变动的时候 找_attributeNameArr可能会找不到 找不到的情况下置为索引0的那项
if
(
history
.
location
.
query
?.
id
){
// 编辑的时候,先指定数据中的货品id,如果是重新组合的不存在id就使用选择的货品中的第一个,如果没有置为0;同理,不存在单价就置为{}
// _tempObj['对应货品'] = selectedGoods.length > 0 ? selectedGoods[0].id : 0
_tempObj
[
'对应货品'
]
=
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
goods
?.
id
||
selectedGoods
[
0
]?.
id
||
0
_tempObj
[
'单价'
]
=
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
unitPrice
||
{}
console
.
log
(
_tableDataSource
,
'编辑构建table数据的时候'
)
console
.
log
(
tabClickItem
,
'store中的点项'
)
// 通过store中的点击项可以判断当前表格的数据是采用接口返回的全局编辑数据还是子模块的局部缓存数据
}
else
{
_tempObj
[
'对应货品'
]
=
selectedGoods
.
length
>
0
?
selectedGoods
[
0
].
id
:
0
_tempObj
[
'单价'
]
=
{}
...
...
@@ -307,7 +314,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
_tempObj
[
'单价'
]
=
productInfoByEdit
?.
unitPriceAndPicList
[
0
]?.
unitPrice
||
{}
_tableData
.
push
(
_tempObj
)
}
//
console.log(_tableData, '_tableData') // 只有一项 变动情况下表格数据的key获取不到
console
.
log
(
_tableData
,
'_tableData'
)
// 只有一项 变动情况下表格数据的key获取不到
_tableDataSource
=
_tableData
// 有前面tab变动引起的二次构建 需要清空价格数据
if
(
updateFlag
.
current
){
...
...
@@ -450,7 +457,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}
_tableDataSource
=
newTabeData
setTableDataSource
(
_tableDataSource
)
//
console.log(_tableDataSource, curretSetPriceRow, v, isBatchSetting, 'setPriceOk')
console
.
log
(
_tableDataSource
,
curretSetPriceRow
,
v
,
isBatchSetting
,
'setPriceOk'
)
})
}
...
...
src/pages/logistics/list/addCompany.tsx
View file @
a11cf210
...
...
@@ -340,9 +340,16 @@ const company: React.FC<parmas> = (props) => {
<
Button
loading=
{
loading
}
onClick=
{
handleSubmitAllSetting
}
type=
"primary"
style=
{
{
marginTop
:
32
,
marginBottom
:
16
,
marginRight
:
24
}
}
>
保存
</
Button
>
<
Button
onClick=
{
handleCancel
}
style=
{
{
marginTop
:
32
,
marginBottom
:
16
}
}
>
取消
</
Button
>
<
Popconfirm
title=
"未保存,是否确定执行这个操作?"
onConfirm=
{
handleCancel
}
okText=
"是"
cancelText=
"否"
>
<
Button
style=
{
{
marginTop
:
32
,
marginBottom
:
16
}
}
>
取消
</
Button
>
</
Popconfirm
>
</
Col
>
</
Row
>
</
Col
>
...
...
src/pages/payandSettle/amountAccountManage/checkWithdraw/checkDetail.tsx
View file @
a11cf210
This diff is collapsed.
Click to expand it.
src/pages/payandSettle/amountAccountManage/checkWithdraw/index.tsx
View file @
a11cf210
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
{
Card
,
Space
,
Button
,
}
from
'antd'
import
{
history
}
from
'umi'
import
{
Card
,
Space
,
Button
,
Modal
,
message
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
StandardTable
}
from
'god'
import
{
ColumnType
}
from
'antd/lib/table/interface'
...
...
@@ -9,17 +10,20 @@ import { createFormActions, FormEffectHooks } from '@formily/antd'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
searchSchema
}
from
'./schema'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
EyePreview
from
'@/components/EyePreview'
import
{
DatePicker
}
from
'@formily/antd-components'
import
StatusTag
from
'@/components/StatusTag'
import
{
accountStatusMap
,
memberS
tatusMap
}
from
'../../constant'
import
{
s
tatusMap
}
from
'../../constant'
import
moment
from
'moment'
import
{
useRowSelectionTable
}
from
'@/hooks/useRowSelectionTable'
import
{
ExclamationCircleOutlined
}
from
'@ant-design/icons'
const
{
confirm
}
=
Modal
const
formActions
=
createFormActions
();
const
CheckWithdraw
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
[
withdrawRowSelection
,
withdrawRowCtl
]
=
useRowSelectionTable
()
const
columns
:
ColumnType
<
any
>
[]
=
[
{
...
...
@@ -28,7 +32,7 @@ const CheckWithdraw: React.FC<{}> = () => {
key
:
'memberAssetAccount'
,
className
:
'commonPickColor'
,
render
:
(
text
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/payandSettle/amountAccountManage/memberAccountManage/detail?id=${record.id}`
}
url=
{
`/memberCenter/payandSettle/amountAccountManage/memberAccountManage/detail?id=${record.
memberAssetAccount.
id}`
}
>
{
text
}
</
EyePreview
>
...
...
@@ -45,8 +49,9 @@ const CheckWithdraw: React.FC<{}> = () => {
},
{
title
:
'提现金额(元)'
,
dataIndex
:
'memberRoleName'
,
key
:
'memberRoleName'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
render
:
(
t
,
r
)
=>
t
.
toFixed
(
2
)
},
{
title
:
'提现申请时间'
,
...
...
@@ -55,10 +60,10 @@ const CheckWithdraw: React.FC<{}> = () => {
render
:
(
t
,
r
)
=>
moment
(
t
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
},
{
title
:
'
会员
状态'
,
dataIndex
:
'
memberS
tatus'
,
key
:
'
memberS
tatus'
,
render
:
(
t
,
r
)
=>
(<
StatusTag
title=
{
memberStatusMap
[
t
][
'title'
]
}
type=
{
memberS
tatusMap
[
t
][
'type'
]
}
/>)
title
:
'状态'
,
dataIndex
:
'
s
tatus'
,
key
:
'
s
tatus'
,
render
:
(
t
,
r
)
=>
(<
StatusTag
title=
{
statusMap
[
t
][
'title'
]
}
type=
{
s
tatusMap
[
t
][
'type'
]
}
/>)
},
{
title
:
'操作'
,
...
...
@@ -78,11 +83,34 @@ const CheckWithdraw: React.FC<{}> = () => {
}
const
clickUp
=
(
r
:
any
)
=>
{
console
.
log
(
'通过'
)
let
params
=
{
tradeCode
:
r
.
tradeCode
,
id
:
r
.
memberAssetAccount
.
id
,
amount
:
r
.
tradeMoney
}
history
.
push
(
`/memberCenter/payandSettle/amountAccountManage/checkWithdraw/detail?detailinfo=
${
btoa
(
JSON
.
stringify
(
params
))}
`
)
}
const
handleBatchCheck
=
()
=>
{
console
.
log
(
'批量通过'
)
if
(
withdrawRowCtl
.
selectedRowKeys
.
length
>
0
){
confirm
({
title
:
'确定要执行批量审核操作?'
,
icon
:
<
ExclamationCircleOutlined
/>,
onOk
()
{
PublicApi
.
postPayMemberAssetAccountBatchCheck
({
idList
:
withdrawRowCtl
.
selectedRowKeys
}).
then
(
res
=>
{
ref
.
current
.
reload
()
})
},
okType
:
'danger'
,
onCancel
()
{
console
.
log
(
'Cancel'
);
},
okText
:
'确定'
,
cancelText
:
'取消'
})
}
else
{
message
.
error
(
'请先选择对应项目进行操作!'
)
}
}
const
controllerBtns
=
(
...
...
@@ -100,6 +128,7 @@ const CheckWithdraw: React.FC<{}> = () => {
columns=
{
columns
}
currentRef=
{
ref
}
tableProps=
{
{
rowKey
:
"id"
}
}
rowSelection=
{
withdrawRowSelection
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
...
...
src/pages/payandSettle/amountAccountManage/memberAccountManage/index.tsx
View file @
a11cf210
...
...
@@ -14,7 +14,7 @@ import EyePreview from '@/components/EyePreview'
import
{
DatePicker
}
from
'@formily/antd-components'
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
import
StatusTag
from
'@/components/StatusTag'
import
{
accountStatusMap
,
memberStatusMap
}
from
'../../constant'
import
{
account
MemberType
,
account
StatusMap
,
memberStatusMap
}
from
'../../constant'
import
LevelBrand
from
'@/pages/member/components/LevelBrand'
import
{
validatorByte
}
from
'@/utils/regExp'
import
{
GetPayMemberAssetAccountGetMemberAssetAccountListResponseDetail
}
from
'@/services/PayApi'
...
...
@@ -44,8 +44,9 @@ const AccountLists: React.FC<{}> = () => {
},
{
title
:
'会员类型'
,
dataIndex
:
'memberTypeName'
,
key
:
'memberTypeName'
,
dataIndex
:
'memberType'
,
key
:
'memberType'
,
render
:
(
t
,
r
)
=>
accountMemberType
[
t
]
},
{
title
:
'会员角色'
,
...
...
src/pages/payandSettle/amountAccountManage/memberAccountManage/memberAccountDetail.tsx
View file @
a11cf210
...
...
@@ -8,7 +8,7 @@ import StatusTag from '@/components/StatusTag'
import
cx
from
'classnames'
import
moment
from
'moment'
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
{
memberStatusMap
,
moveStatusMap
,
statusMap
}
from
'../../constant'
import
{
memberStatusMap
,
moveStatusMap
,
operationMap
,
statusMap
}
from
'../../constant'
import
{
SettingOutlined
,
StopOutlined
}
from
'@ant-design/icons'
import
{
validatorByte
}
from
'@/utils/regExp'
import
{
PublicApi
}
from
'@/services/api'
...
...
@@ -79,11 +79,13 @@ const AccountDetail: React.FC<{}> = () => {
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
render
:
(
t
,
r
)
=>
`
${
operationMap
[
r
.
operation
][
'operator'
]}
${
t
.
toFixed
(
2
)}
`
},
{
title
:
'交易项目'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
render
:
(
t
,
r
)
=>
operationMap
[
t
][
'title'
]
},
{
title
:
'状态'
,
...
...
src/pages/payandSettle/amountAccountManage/paymentWithdraw/index.tsx
View file @
a11cf210
...
...
@@ -47,6 +47,7 @@ const PaymentWithdraw: React.FC<{}> = () => {
title
:
'提现金额(元)'
,
dataIndex
:
'memberRoleName'
,
key
:
'memberRoleName'
,
render
:
(
t
,
r
)
=>
`¥
${
t
.
toFixed
(
2
)}
`
},
{
title
:
'提现申请时间'
,
...
...
@@ -71,7 +72,7 @@ const PaymentWithdraw: React.FC<{}> = () => {
console
.
log
(
params
)
return
new
Promise
((
resolve
,
reject
)
=>
{
let
obj
=
{
...
params
}
PublicApi
.
getPayMemberAssetAccountGet
Check
CashOutList
(
obj
).
then
(
res
=>
{
PublicApi
.
getPayMemberAssetAccountGet
Pay
CashOutList
(
obj
).
then
(
res
=>
{
resolve
(
res
.
data
)
})
})
...
...
src/pages/payandSettle/capitalAccounts/accountLists/accountDetail.tsx
View file @
a11cf210
...
...
@@ -78,12 +78,13 @@ const AccountDetail: React.FC<{}> = () => {
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
render
:
(
t
,
r
)
=>
`
${
operationMap
[
r
.
operation
][
'operator'
]}
${
t
.
toFixed
(
2
)}
`
},
{
title
:
'交易项目'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
render
:
(
t
,
r
)
=>
operationMap
[
t
]
render
:
(
t
,
r
)
=>
operationMap
[
t
]
[
'title'
]
},
{
title
:
'状态'
,
...
...
@@ -107,8 +108,8 @@ const AccountDetail: React.FC<{}> = () => {
},
{
title
:
'操作角色'
,
dataIndex
:
'parentMemberRoleName'
,
key
:
'
parentMemberRoleName
'
,
dataIndex
:
[
'memberAssetAccount'
,
'parentMemberRoleName'
]
,
key
:
'
id
'
,
},
{
title
:
'状态'
,
...
...
@@ -138,7 +139,6 @@ const AccountDetail: React.FC<{}> = () => {
];
const
handleConfirm
=
()
=>
{
setIsBtnLoading
(
true
)
schemaActions
.
submit
()
}
...
...
@@ -148,6 +148,7 @@ const AccountDetail: React.FC<{}> = () => {
const
handleSubmit
=
(
value
)
=>
{
// 提交重置
setIsBtnLoading
(
true
)
let
parasm
=
{
memberAssetAccountId
:
pageId
,
money
:
Number
(
value
.
money
),
...
...
@@ -188,7 +189,7 @@ const AccountDetail: React.FC<{}> = () => {
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
span
className=
{
styles
[
'repayment-time'
]
}
>
{
details
?.
m
emberName
}
{
details
?.
parentM
emberName
}
</
span
>
</
div
>
</
div
>
...
...
src/pages/payandSettle/capitalAccounts/accountLists/applyWithdraw.tsx
View file @
a11cf210
...
...
@@ -31,7 +31,7 @@ const AccountDetail: React.FC<{}> = () => {
let
res
=
await
PublicApi
.
getPayAssetAccountGetAssetAccount
({
id
})
const
{
code
,
data
}
=
res
setDetails
(
data
)
if
(
code
===
1000
){
if
(
code
===
1000
)
{
let
bankRes
=
await
PublicApi
.
getSettleAccountsCorporateAccountConfig
({
memberId
:
data
.
memberId
+
''
})
setBankDetail
(
bankRes
.
data
)
}
...
...
@@ -62,12 +62,13 @@ const AccountDetail: React.FC<{}> = () => {
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
render
:
(
t
,
r
)
=>
`
${
operationMap
[
r
.
operation
][
'operator'
]}
${
t
.
toFixed
(
2
)}
`
},
{
title
:
'交易项目'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
render
:
(
t
,
r
)
=>
operationMap
[
t
]
render
:
(
t
,
r
)
=>
operationMap
[
t
]
[
'title'
]
},
{
title
:
'状态'
,
...
...
src/pages/payandSettle/capitalAccounts/accountLists/index.less
View file @
a11cf210
...
...
@@ -41,20 +41,20 @@
font-weight: 500;
}
&-input {
display: block;
width: 180px;
line-height: 40px;
padding: 8px 0;
font-size: 32px;
font-weight: 500;
color: #fff;
background: none;
border-top: none;
border-right: none;
border-left: none;
border-image: initial;
outline: none;
border-bottom: 1px solid #fff;
display: block
!important
;
width: 180px
!important
;
line-height: 40px
!important
;
padding: 8px 0
!important
;
font-size: 32px
!important
;
font-weight: 500
!important
;
color: #fff
!important
;
background: none
!important
;
border-top: none
!important
;
border-right: none
!important
;
border-left: none
!important
;
border-image: initial
!important
;
outline: none
!important
;
border-bottom: 1px solid #fff
!important
;
}
}
...
...
src/pages/payandSettle/capitalAccounts/accountLists/index.tsx
View file @
a11cf210
...
...
@@ -12,7 +12,7 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import
EyePreview
from
'@/components/EyePreview'
import
{
DatePicker
}
from
'@formily/antd-components'
import
StatusTag
from
'@/components/StatusTag'
import
{
accountStatusMap
,
memberStatusMap
,
memberLevelTypeMap
}
from
'../../constant'
import
{
accountStatusMap
,
memberStatusMap
,
memberLevelTypeMap
,
accountMemberType
}
from
'../../constant'
import
LevelBrand
from
'@/pages/member/components/LevelBrand'
const
formActions
=
createFormActions
();
...
...
@@ -23,8 +23,8 @@ const AccountLists: React.FC<{}> = () => {
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'账户归属'
,
dataIndex
:
'
m
emberName'
,
key
:
'
m
emberName'
,
dataIndex
:
'
parentM
emberName'
,
key
:
'
parentM
emberName'
,
className
:
'commonPickColor'
,
render
:
(
text
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/payandSettle/capitalAccounts/accountLists/detail?id=${record.id}`
}
...
...
@@ -34,8 +34,9 @@ const AccountLists: React.FC<{}> = () => {
},
{
title
:
'会员类型'
,
dataIndex
:
'memberTypeName'
,
key
:
'memberTypeName'
,
dataIndex
:
'memberType'
,
key
:
'memberType'
,
render
:
(
t
,
r
)
=>
accountMemberType
[
t
]
},
{
title
:
'会员角色'
,
...
...
src/pages/payandSettle/constant.ts
View file @
a11cf210
...
...
@@ -130,9 +130,17 @@ export const memberLevelTypeMap = {
// 操作项目
export
const
operationMap
=
{
'1'
:
'账户充值'
,
'2'
:
'账户提现'
,
'3'
:
'订单支付'
,
'4'
:
'订单退款'
,
'5'
:
'订单返利'
'1'
:
{
title
:
'账户充值'
,
operator
:
'+'
},
'2'
:
{
title
:
'账户提现'
,
operator
:
'-'
},
'3'
:
{
title
:
'订单支付'
,
operator
:
'-'
},
'4'
:
{
title
:
'订单退款'
,
operator
:
'+'
},
'5'
:
{
title
:
'订单返利'
,
operator
:
'+'
}
}
// 会员类型
export
const
accountMemberType
=
{
'1'
:
'企业会员'
,
'2'
:
'企业个人会员'
,
'3'
:
'渠道会员'
,
'4'
:
'渠道个人会员'
,
}
\ No newline at end of file
src/pages/repositories/addRepository.tsx
View file @
a11cf210
...
...
@@ -50,11 +50,15 @@ const AddRepository:React.FC<{}> = (props) => {
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
className=
'addRepository'
title=
{
pageStatus
===
PageStatus
.
PREVIEW
?
'查看仓位'
:
'新增仓位'
}
extra=
{
[
<
Button
key=
"1"
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
>
保存
</
Button
>,
]
}
extra=
{
(
pageStatus
!==
PageStatus
.
PREVIEW
?
(
<
Button
key=
"1"
onClick=
{
()
=>
addSchemaAction
.
submit
()
}
type=
"primary"
icon=
{
<
SaveOutlined
/>
}
>
保存
</
Button
>
)
:
null
)
}
>
<
Card
className=
''
>
<
PositionSetting
addSchemaAction=
{
addSchemaAction
}
schema=
{
repositDetailSchema
}
formSubmit=
{
formSubmit
}
/>
...
...
src/pages/repositories/components/PositionSetting.tsx
View file @
a11cf210
...
...
@@ -21,7 +21,8 @@ import Search from '@/components/NiceForm/components/Search'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
Submit
from
'@/components/NiceForm/components/Submit'
import
{
SHOP_TYPES
,
MALL_TYPE
}
from
'@/constants'
;
import
shop
from
'@/pages/lxMall/shop'
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
export
interface
PositionSettingProps
{
addSchemaAction
:
ISchemaFormActions
,
...
...
@@ -80,17 +81,17 @@ const PositionSetting:React.FC<PositionSettingProps> = (props) => {
useEffect
(()
=>
{
// 拿到所有的角色等级, 根据shopType, 商品的类容重新拿
async
function
getMemberLevel
()
{
const
response
=
await
PublicApi
.
getMemberManagePageitems
();
const
response
=
await
PublicApi
.
getMemberManagePageitems
(
{
roleTypeEnum
:
'2'
}
);
const
{
levels
=
[],
memberTypes
=
[],
roles
=
[]
}
=
response
.
data
;
const
allLevels
=
all
.
concat
(
transferLabelToValue
(
levels
,
"levelTag"
,
"level"
));
const
allMemberTypes
=
all
.
concat
(
transferLabelToValue
(
memberTypes
,
"memberTypeName"
,
"memberTypeId"
))
//
const allRoles = all.concat(transferLabelToValue(roles, "roleName", "roleId"))
const
allRoles
=
all
.
concat
(
transferLabelToValue
(
roles
,
"roleName"
,
"roleId"
))
setMemberFilter
((
state
)
=>
{
return
{
...
state
,
level
:
allLevels
,
//
role: allRoles,
role
:
allRoles
,
type
:
allMemberTypes
}
})
...
...
@@ -105,16 +106,11 @@ const PositionSetting:React.FC<PositionSettingProps> = (props) => {
const
{
data
}
=
await
PublicApi
.
getWarehouseFreightSpaceDetails
({
id
:
id
});
if
(
data
.
isAllMemberShare
===
0
)
{
const
res
=
await
getBindingMember
({
id
:
id
.
toString
(),
current
:
'1'
,
pageSize
:
'10'
});
addSchemaAction
.
setFieldState
(
'isAllMemberShare'
,
(
state
)
=>
{
state
.
value
=
0
})
addSchemaAction
.
setFieldState
(
'applyMember'
,
(
state
)
=>
{
state
.
value
=
res
.
data
})
setMembersLength
(
res
.
totalCount
);
setInitialValue
({...
data
,
applyMember
:
res
.
data
});
}
else
{
setInitialValue
(
data
)
}
console
.
log
(
data
)
setInitialValue
(
data
);
}
if
(
id
!=
''
)
{
getInitValue
();
...
...
@@ -374,15 +370,15 @@ const PositionSetting:React.FC<PositionSettingProps> = (props) => {
}
},
//
roleId: {
//
type: 'string',
//
"x-component": 'Select',
//
"x-component-props": {
//
options: membersFilterState.role,
//
style: {width: '180px'},
//
placeholder: '请选择会员角色'
//
}
//
},
roleId
:
{
type
:
'string'
,
"x-component"
:
'Select'
,
"x-component-props"
:
{
options
:
membersFilterState
.
role
,
style
:
{
width
:
'180px'
},
placeholder
:
'请选择会员角色'
}
},
submit
:
{
"x-component"
:
'Submit'
,
"x-mega-props"
:
{
...
...
src/pages/transaction/common/tableStatusList.tsx
View file @
a11cf210
...
...
@@ -72,6 +72,7 @@ export const enquirySearchexternalState = (text:any) => {
/****** *********************** 报价单 ************************** */
//内部
// 内部状态:1.新增需求单 2.审核需求单一级 3.审核需求单二级 4.提交需求单 5.完成 6.审核不通过 7.取消报价单
export
const
enquiryOfferSearchInteriorState
=
(
text
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
text
===
1
?
component
=
<
Badge
status=
'default'
text=
"新增报价单"
/>:
...
...
@@ -94,6 +95,7 @@ export const enquiryOfferSearchexternalState = (text:any) => {
// text === 5 ? component = <Badge status='success' text="完成" />:
// text === 6 ? component = <Badge status='error' text="审核不通过" />:
// component = <Badge status="default" text="取消报价单" />
// 外部状态:1.提交需求单 2.审核需求单 3.提交报价单 4.确认报价单 5.完成 6.审核不通过 7.取消报价单
text
===
1
?
component
=
<
span
style=
{
statuStyle
.
default
}
>
待提交需求单
</
span
>:
text
===
2
?
component
=
<
span
style=
{
statuStyle
.
default
}
>
审核需求单
</
span
>:
text
===
3
?
component
=
<
span
style=
{
statuStyle
.
confirm
}
>
待提交报价单
</
span
>:
...
...
src/pages/transaction/enquiryOffer/components/index.tsx
View file @
a11cf210
This diff is collapsed.
Click to expand it.
src/store/product/index.ts
View file @
a11cf210
...
...
@@ -16,6 +16,7 @@ class ProductStore implements IProductModule {
@
observable
public
productDescription
:
IDecsParams
;
@
observable
public
isAllAttributePic
:
boolean
=
true
;
// 是否所有属性共用
@
observable
public
currentPageInStore
:
IPage
=
{
current
:
null
,
pageSize
:
null
};
// 页码相关
@
observable
public
tabClickItem
:
any
[]
=
[];
// tab标签页点击项
/** 计算操作 **/
// 加工接口返回的数据,用户编辑回显数据
...
...
@@ -193,6 +194,10 @@ class ProductStore implements IProductModule {
this
.
currentPageInStore
=
data
}
@
action
.
bound
public
setTabClickItem
(
data
:
any
)
{
this
.
tabClickItem
=
data
}
}
...
...
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