Commit 20511301 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫

提交合并dev

parent 13a4272f
This diff is collapsed.
/*
* @Author: Bill
* @Date: 2020-10-20 11:04:07
* @Description: 应付账款结算
*/
import React, { useRef } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import { Card, DatePicker} from 'antd';
import NiceForm from '@/components/NiceForm';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { createFormActions } from '@formily/antd';
import { StandardTable } from 'god';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
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 = {
...params,
orderType: params.orderType || 0,
status: params.status || 0,
}
// /settle/accounts/member/settlement/pagePayableSettlement
const { data } = await PublicApi.getSettleAccountsMemberSettlementPagePayableSettlement(searchParams);
return data
}
const columns = [
{
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} />
)
}
},
{
title: '操作',
render: (text: string, record: any) => {
return (
<StatusActions
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}
/>
)
}
}
]
/**
* 上传凭证
* @param params
*/
const handleUploadVoucher = (params: any) => {
console.log(params);
///settle/accounts/member/settlement/pay
PublicApi.postSettleAccountsMemberSettlementPay({id: params.id, proveList: params.fileList})
.then((data) => {
if(data.code === 1000) {
formActions.submit();
params.onCancel()
}
})
}
// const handleComfirmInCompletePayment = (params: any) => {
// console.log(params);
// params.onCancel()
// }
// const handleComfirmCompletePayment = (params: any) => {
// params.onCancel();
// }
/**
* 搜索
*/
const handleSearch = (values: SearchParams) => {
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>
<StandardTable
tableProps={{
rowKey: 'id',
}}
columns={columns}
currentRef={ref}
fetchTableData={(params: any) => fetchListData(params)}
controlRender={
<NiceForm
actions={formActions}
components={{DatePicker}}
expressionScope={{}}
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'megaLayout.settlementName', FORM_FILTER_PATH);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}}
schema={schema}
onSubmit={handleSearch}
/>
}
/>
</Card>
</PageHeaderWrapper>
)
}
export default SettlementList
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment