Commit 1945326c authored by Bill's avatar Bill

Merge branch 'dev' into test

parents 4aa1ba56 7f749d46
......@@ -19,6 +19,8 @@ import StatusActions from '../../components/StatusActions';
import { PublicApi } from '@/services/api';
import EyePreview from '@/components/EyePreview';
import { Moment } from 'moment';
import { payStatus } from '../../common';
const formActions = createFormActions();
interface SearchParams {
......@@ -75,12 +77,7 @@ const SettlementList = () => {
{title: '支付方式', dataIndex: 'payWayName'},
{
title: '结算状态', dataIndex: 'status',
filters: [
{ text: '待对账', value: 1 },
{ text: '待付款', value: 2 },
{ text: '待收款', value: 3 },
{ text: '以完成', value: 4 },
],
filters: payStatus,
onFilter: (value: number, record: any) => record.status == value,
render: (text: string, record: any) => {
return (
......
.text {
color: @main-color;
cursor: pointer;
}
\ No newline at end of file
......@@ -17,7 +17,8 @@ import { schema } from './schema';
import ModalContainer from '../../components/ModalContainer'
import InvoiceCreate from '../../components/InvoiceCreate'
import { PublicApi } from '@/services/api'
import PayStatusTag from '@/components/StatusTag';
import StatusTag from '../../components/StatusTag';
import styles from './index.less'
const RangePicker = DatePicker.RangePicker;
const formActions = createFormActions();
......@@ -29,7 +30,7 @@ const columns = [
return (
<div>
<p>{record.orderNo}</p>
<Tag>{record.settlementOrderTypeName}</Tag>
<StatusTag text={record.settlementOrderTypeName} />
</div>
)
}
......@@ -55,7 +56,7 @@ const columns = [
return (
<div>
<p>{record.batch}</p>
<p>{record.payNode }</p>
<p>{record.payNode}</p>
</div>
)
}
......@@ -65,11 +66,15 @@ const columns = [
{
title: '开票状态',
dataIndex: 'invoiceStatus',
filters: [
{ text: '未开票', value: 0 },
{ text: '已开票', value: 1 },
],
onFilter: (value: number, record: any) => record.invoiceStatus == value,
render: (text, record) => {
const color = record.status ? 'green': 'blue'
return (
<div>
<Tag color={color}>{record.invoiceStatusName}</Tag>
<StatusTag text={record.invoiceStatusName} />
</div>
)
}
......@@ -77,6 +82,11 @@ const columns = [
{
title: '支付状态',
dataIndex: 'status',
filters: [
{ text: '未支付', value: '未支付' },
{ text: '已支付', value: '已支付' },
],
onFilter: (value: number, record: any) => record.payStatusName == value,
render: (text, record) => {
const color = record.payStatusName == '已支付' ? 'green': '#C0C4CC';
return (
......@@ -94,8 +104,16 @@ const columns = [
({visible, show, cancel}) => {
return (
<>
<InvoiceCreate id={record.id} title="开具发票" width={800} visible={visible} onCancel={cancel} />
<div onClick={show}>{record.invoiceStatus == 1 ? '查看' : '开票'}</div>
<InvoiceCreate
id={record.id}
type={record.invoiceStatus}
title="开具发票"
width={800}
visible={visible}
onCancel={cancel}
refresh={() => formActions.submit()}
/>
<div className={styles.text} onClick={show}>{record.invoiceStatus == 1 ? '查看' : '开票'}</div>
</>
)
}
......@@ -118,12 +136,17 @@ const SettlementList = () => {
// /settle/accounts/member/settlement/pageReceiptInvoice
const searchParams = {
...params,
invoiceStatus: params.orderType || 2,
payStatus: params.status || 2,
invoiceStatus: typeof params.invoiceStatus == 'undefined' ? 2 : params.invoiceStatus ,
payStatus: typeof params.payStatus == 'undefined' ? 2 : params.payStatus,
}
const { data } = await PublicApi.getSettleAccountsMemberSettlementPageReceiptInvoice(searchParams);
return data
}
const reload = (values) => {
ref.current.reload(values);
}
return (
<PageHeaderWrapper>
<Card>
......@@ -153,7 +176,7 @@ const SettlementList = () => {
// );
}}
schema={schema}
onSubmit={values => ref.current.reload(values)}
onSubmit={reload}
/>
}
/>
......
......@@ -69,9 +69,11 @@ export const schema: ISchema = {
},
invoiceStatus: {
type: 'string',
default: 0,
default: 2,
enum: [
{label: '开票状态(全部)', value: 0}
{label: '开票状态(全部)', value: 2},
{label: '未开票', value: 0},
{label: '已开票', value: 1}
],
'x-component-props': {
placeholder: '开票状态(全部)',
......@@ -80,9 +82,11 @@ export const schema: ISchema = {
},
payStatus: {
type: 'string',
default: 0,
default: 2,
enum: [
{label: '支付状态(全部)', value: 0}
{label: '支付状态(全部)', value: 2},
{label: '未支付', value: 0},
{label: '已支付', value: 1}
],
'x-component-props': {
placeholder: '支付状态(全部)',
......
......@@ -18,6 +18,7 @@ import { PublicApi } from '@/services/api';
import StatusActions from '../../components/StatusActions';
import StatusTag from '../../components/StatusTag';
import EyePreview from '@/components/EyePreview';
import { payStatus } from '../../common';
const formActions = createFormActions();
......@@ -57,12 +58,7 @@ const SettlementList = () => {
{title: '支付方式', dataIndex: 'payWayName'},
{
title: '结算状态', dataIndex: 'status',
filters: [
{ text: '待对账', value: 1 },
{ text: '待付款', value: 2 },
{ text: '待收款', value: 3 },
{ text: '以完成', value: 4 },
],
filters: payStatus,
onFilter: (value: number, record: any) => record.status == value,
render: (text, record) => {
return (
......
/**
* 用于平台结算管理,应收,应付账款管理列表页 结算状态下拉筛选
*/
export const payStatus = [
{ text: '待对账', value: 1 },
{ text: '待付款', value: 2 },
{ text: '待收款', value: 3 },
{ text: '以完成', value: 4 },
];
\ No newline at end of file
......@@ -18,4 +18,71 @@ export interface VoucherFileProps {
* 文件路径
*/
proveUrl: string
}
\ No newline at end of file
}
export interface ProveListProps {
/**
* 发票号
*/
number: string,
/**
* 开具时间
*/
invoiceDate: string,
/**
* 备注
*/
remark: string
}
/**
* 开票管理中, 发票的信息, 用于开票管理查看发票,开票
*/
export interface InvoiceInfoProps {
/**
* 开具类型
*/
typeName: string,
/**
* 发票种类
*/
kindName: string,
/**
* 发票抬头
*/
invoiceTitle: string,
/**
* 纳税号
*/
taxNo: string,
/**
* 开户行
*/
bankOfDeposit: string,
/**
* 账号
*/
account: string,
/**
* 电话
*/
tel: string,
/**
* 地址
*/
address: string,
/**
* 发票数组
*/
proveList: ProveListProps[]
}
......@@ -51,7 +51,6 @@ const InvoiceArray = (props) => {
...componentProps
} = schema.getExtendsComponentProps() || {}
console.log(componentProps);
const onAdd = () => {
const items = Array.isArray(schema.items)
? schema.items[schema.items.length - 1]
......
......@@ -9,32 +9,84 @@ import { Drawer, Input, DatePicker } from 'antd';
import InvoiceInfo from './InvoiceInfo';
import {
SchemaForm,
SchemaField,
SchemaMarkupField as Field
} from '@formily/antd'
import InvoiceArray from './InvoiceArray';
import moment from 'moment';
import { Button } from 'antd';
import { Button, Table } from 'antd';
import { createFormActions } from '@formily/antd';
import { PublicApi } from '@/services/api';
import { InvoiceInfoProps, ProveListProps } from '../../common/type';
import { Moment } from 'moment';
import styles from './index.less';
const formActions = createFormActions();
const InvoiceDrawer = (props) => {
const { visible, title, onCancel, width } = props;
const [invoiceInfo, setInvoiceInfo] = useState({})
interface Iprops {
visible: boolean,
title: string,
width: number,
type: number, // 0 -> 开票, 1-> 查看
id: string, // 开票管理id,
onCancel: () => void,
refresh: () => void
}
interface SubmitProps {
list: {
number: string,
remark: string,
invoiceDate: Moment
}[]
}
const columns = [
{title: '发票号码', dataIndex:'number'},
{title: '发票时间', dataIndex:'invoiceDate'},
{title: '备注', dataIndex:'remark'},
]
const InvoiceDrawer: React.FC<Iprops> = (props) => {
const { visible, title, onCancel, width, type, id } = props;
const [invoiceInfo, setInvoiceInfo] = useState<InvoiceInfoProps>(null);
const [submitLoading, setSubmitLoading] = useState<boolean>(false)
const handleSubmit = () => {
formActions.submit()
if(type == 0) {
formActions.submit()
}
}
const handleForm = (value) => {
console.log(value);
const handleForm = (value: SubmitProps) => {
// 如果当前type 为查看,那么直接关闭
if(type == 1) {
onCancel();
return;
}
const { kindName, typeName, ...rest } = invoiceInfo
const proveList = value.list.map((item) => { return {number: item.number, remark: item.remark, invoiceDate: item.invoiceDate.format('YYYY-MM-DD')} })
const postData = {
...rest,
proveList: proveList,
kind: kindName == '增值税普通发票' ? 1 : 2,
type: typeName == '企业' ? 1 : 2,
receiptInvoiceId: parseInt(id)
}
setSubmitLoading(true)
console.log(postData);
// /settle/accounts/member/settlement/invoiceProve
PublicApi.postSettleAccountsMemberSettlementInvoiceProve(postData)
.then((data) => {
if(data.code === 1000) {
setSubmitLoading(false)
props.refresh();
onCancel();
}
})
}
useEffect(() => {
if(props.visible) {
///settle/accounts/member/settlement/getInvoiceProveDetail
PublicApi.getSettleAccountsMemberSettlementGetInvoiceProveDetail({id: props.id})
PublicApi.getSettleAccountsMemberSettlementGetInvoiceProveDetail({id: id})
.then((data) => {
if(data.code === 1000) {
setInvoiceInfo(data.data)
......@@ -42,42 +94,64 @@ const InvoiceDrawer = (props) => {
})
}
}, [props.id, props.visible])
}, [id, visible])
return (
<Drawer visible={visible} title={title} width={width} onClose={onCancel} footer={
<div
style={{
textAlign: 'right',
}}
>
<Button onClick={onCancel} style={{ marginRight: 8 }}>
取消
</Button>
<Button onClick={handleSubmit} type="primary">
确认
</Button>
</div>
}>
<Drawer
visible={visible}
title={title}
width={width}
onClose={onCancel}
footer={
<div
style={{
textAlign: 'right',
}}
>
<Button onClick={onCancel} style={{ marginRight: 8 }}>
取消
</Button>
<Button onClick={handleSubmit} type="primary">
确认
</Button>
</div>
}
>
<InvoiceInfo infos={invoiceInfo} />
<div style={{display: 'flex', margin: '50px 0 15px 0'}}>
<div style={{width: '170px', marginRight: '16px'}}>发票号码</div>
<div style={{width: '140px', marginRight: '16px'}}>开票日期</div>
<div>备注</div>
</div>
<SchemaForm onSubmit={handleForm} actions={formActions} components={{ InvoiceArray, Input, DatePicker }}>
<Field
name="userList"
type="array"
x-component="InvoiceArray"
>
<Field type="object">
<Field name="no" x-component="Input" x-rules={[{required: true, message: '请填写发票号'}]} />
<Field name="date" x-component="DatePicker" x-rules={[{required: true, message: '请选择发票日期'}]} />
<Field name="desc" x-component="Input" x-component-props={{style: {width: '240px'}}} />
</Field>
</Field>
</SchemaForm>
{
type == 0
? (
<>
<div className={styles.formHeader}>
<div className={styles.invoiceNum}>发票号码</div>
<div className={styles.invoiceDate}>开票日期</div>
<div>备注</div>
</div>
<SchemaForm onSubmit={handleForm} actions={formActions} components={{ InvoiceArray, Input, DatePicker }}>
<Field
name="list"
type="array"
x-component="InvoiceArray"
>
<Field type="object">
<Field name="number" x-component="Input" x-rules={[{required: true, message: '请填写发票号'}]} />
<Field name="invoiceDate" x-component="DatePicker" x-rules={[{required: true, message: '请选择发票日期'}]} />
<Field name="remark" x-component="Input" x-component-props={{style: {width: '240px'}}} />
</Field>
</Field>
</SchemaForm>
</>
)
: (
<Table
columns={columns}
dataSource={invoiceInfo?.proveList}
rowKey={"number"}
/>
)
}
</Drawer>
)
}
......
......@@ -6,9 +6,11 @@
import React from 'react';
import { Row, Col } from 'antd';
import { InvoiceInfoProps } from '../../common/type';
import styles from './index.less';
interface Iprops {
infos: any
infos: InvoiceInfoProps
}
const infoList = [
......@@ -30,8 +32,8 @@ const InvoiceInfo: React.FC<Iprops> = (props) => {
{
infoList.map((item) => {
return (
<Row style={{marginBottom: '24px', fontSize: '13px'}} key={item.dataIndex}>
<Col span={3} style={{color: '#909399'}}>{item.title}</Col>
<Row className={styles.row} key={item.dataIndex}>
<Col span={3} className={styles.label}>{item.title}</Col>
<Col span={16}>{infos && infos[item.dataIndex]}</Col>
</Row>
)
......
@font-size: 13px;
@label-color: #909399;
@margin-top: 50px;
.row {
margin-bottom: @margin-lg;
font-size: @font-size;
.label {
color: @label-color;
}
}
.formHeader {
display: flex;
margin: 50px 0 @margin-md 0;
.invoiceNum {
width: 170px;
margin-right: @margin-md;
}
.invoiceDate {
width: 140px;
margin-right: @margin-md;
}
}
\ No newline at end of file
......@@ -20,7 +20,7 @@ interface Iprops {
settlementId?: number, // 结算方id
payName?: string, //付款方
excludes: number[], // 排除数组,比如当应付的时候,只留下查看凭证跟付款, 应收账款的时候保留三个
type?: number, // 1 -> 应付账款结算 2-> 应收账款结算, 用于判断 查看付款凭证
type?: number, // 1 -> 应付账款结算 2-> 应收账款结算, 用于判断 是否有查看付款凭证
handleReconciledComfirm?: (params: any) => void // 对账确定回调
handleComfirmInCompletePayment?: (params: any) => void, // 确认未到款回调
handleComfirmCompletePayment?: (params:any) => void, //确认到款回调
......@@ -90,7 +90,6 @@ const ConfirmCollected = (props) => {
const WrapVoucher = ({ id, type}) => {
const [files, setFiles] = useState([]);
console.log(id);
useEffect(() => {
if(id) {
const service = type == 1
......
.tag-out-border {
border: none;
}
\ No newline at end of file
import React from 'react';
import { Tag } from 'antd';
import './index.less';
export const TO_BE_RECONCILED = 1; // 待对账
export const TO_BE_PAY = 2 // 待付款
......@@ -14,13 +15,16 @@ export enum StatusEnum {
}
const COLOR = [
"purple", // 随意给一个
"", // 随意给一个
"gold", // 待对账
"red", // 待付款
"blue", // 代收款,
"green", // 以完成
]
/**
* 以下用于 应收账款管理, 应付账款管理 列表页, 以及应收,应付款详情页状态
*/
const STATUS_TEXT = [
"无",
"待对账",
......@@ -36,6 +40,35 @@ const STATUS_TEXT_MAP = {
"已完成": 4
}
/**
* 开票管理, 开票类型, 其中 value 的值对应上面 COLOR 的值
*/
const INVOICE_TYPE = {
"生产通知单": 0,
"积分订单": 1,
"退货申请单": 2,
"订单": 3,
"物流单": 4,
}
/**
* 开票管理, 开票状态
*/
const INVOICE_STATUS = {
"未开票": 3,
"已开票": 4,
}
/**
* 将开票类型跟 应收应付账款管理合并
*/
const ALL_COLOR_MAP = {
...INVOICE_TYPE,
...STATUS_TEXT_MAP,
...INVOICE_STATUS
}
interface Iprops {
status?: StatusEnum,
text?: string
......@@ -43,13 +76,26 @@ interface Iprops {
const StatusTag: React.FC<Iprops> = (props: Iprops) => {
const { status, text } = props
return (
<Tag color={ text ? COLOR[STATUS_TEXT_MAP[text]] : COLOR[status]}>{text ? text : STATUS_TEXT[status]}</Tag>
<Tag
className="tag-out-border"
color={
text
? COLOR[ALL_COLOR_MAP[text]]
: COLOR[status]
}
>
{
text || STATUS_TEXT[status]
}
</Tag>
)
}
StatusTag.defaultProps = {
status: 1
}
// StatusTag.defaultProps = {
// status: 1
// }
export default StatusTag
\ No newline at end of file
......@@ -117,7 +117,7 @@ const UploadPayVoucher: React.FC<Iprops> = (props) => {
<Voucher files={fileList} />
<div className={styles.upload}>
<Upload {...uploadProps}>
<Button icon={<UploadOutlined />}>上传凭证</Button>
<Button icon={<UploadOutlined />} loading={loading}>上传凭证</Button>
<p className={styles.tips}>单个凭证文件大小不能超过200K</p>
</Upload>
</div>
......
......@@ -16,29 +16,36 @@ import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { schema } from './schema';
import StatusTag from '../../components/StatusTag';
import StatusActions from '../../components/StatusActions';
import { payStatus } from '../../common';
import { PublicApi } from '@/services/api'
const formActions = createFormActions();
const AccountReceivable = () => {
const ref = useRef<any>({})
const fetchListData = async (params) => {
return {
data: [{id: 1}],
totalCount: 1
const searchData = {
status: 0,
...params
}
///settle/accounts/platform/settlement/pageReceivableSettlement
const { data } = await PublicApi.getSettleAccountsPlatformSettlementPageReceivableSettlement(searchData);
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'},
{title: '结算日期', dataIndex: 'settlementDate'},
{title: '结算方式', dataIndex: 'settlementWayName'},
{title: '总单数', dataIndex: 'totalCount'},
{title: '代收金额', dataIndex: 'collectAmount'},
{title: '佣金', dataIndex: 'brokerage'},
{title: '结算金额', dataIndex: 'amount'},
{title: '结算时间', dataIndex: 'settlementTime'},
{title: '支付方式', dataIndex: 'payWayName'},
{
title: '结算状态', dataIndex: 'status',
filters: payStatus,
onFilter: (value: number, record: any) => record.status == value,
render: (text, record) => {
return (
<StatusTag status={record.status || 1} />
......@@ -50,7 +57,12 @@ const AccountReceivable = () => {
render: (text, record) => {
return (
<StatusActions
status={record.status || 3}
excludes={[2]}
id={record.id}
type={2}
status={record.status}
settlementDate={record.settlementDate}
payName={"平台"}
handleReconciledComfirm={handleConfirm}
handleComfirmInCompletePayment={handleComfirmInCompletePayment}
handleComfirmCompletePayment={handleComfirmCompletePayment}
......@@ -60,22 +72,58 @@ const AccountReceivable = () => {
}
]
/**
/**
* 确认对账
* @param cancel 关闭回调函数
* @param {cancel: function, id: number} cancel 为关闭回调函数
*/
const handleConfirm = (params: any) => {
console.log(123)
params.onCancel();
///settle/accounts/platform/settlement/confirmAccountComplete
PublicApi.postSettleAccountsMemberSettlementConfirmAccountComplete({settlementId: params.id})
.then((data) => {
if(data.code === 1000) {
params.onCancel();
formActions.submit();
}
})
}
/**
* 确认未到款
* @param {onCancel:function, id: number, status: number}
*/
const handleComfirmInCompletePayment = (params: any) => {
console.log(params);
params.onCancel()
PublicApi.postSettleAccountsMemberSettlementConfirmPayProve({id: params.id, status: params.status})
.then((data) => {
if(data.code === 1000) {
formActions.submit();
params.onCancel();
}
})
}
/**
* 确认到款
* @param {onCancel:function, id: number, status: number}
*/
const handleComfirmCompletePayment = (params: any) => {
params.onCancel();
PublicApi.postSettleAccountsMemberSettlementConfirmPayProve({id: params.id, status: params.status})
.then((data) => {
if(data.code === 1000) {
formActions.submit();
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 (
......@@ -95,14 +143,14 @@ const AccountReceivable = () => {
expressionScope={{}}
components={{DatePicker}}
effects={($, actions) => {
useStateFilterSearchLinkageEffect($, actions, 'megaLayout.name', FORM_FILTER_PATH);
useStateFilterSearchLinkageEffect($, actions, 'megaLayout.settlementName', FORM_FILTER_PATH);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}}
schema={schema}
onSubmit={values => ref.current.reload(values)}
onSubmit={handleSearch}
/>
}
/>
......
......@@ -12,13 +12,13 @@ export const schema: ISchema = {
type: 'object',
'x-component': 'mega-layout',
properties: {
name: {
settlementName: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
placeholder: '搜索结算单号',
align: 'flex-left',
// tip: '输入通知单号、通知单摘要进行搜索',
tip: '输入 结算单号 进行搜索',
},
},
[FORM_FILTER_PATH]: {
......@@ -47,21 +47,28 @@ 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: '查询',
// },
// },
submit: {
'x-component': 'Submit',
'x-mega-props': {
span: 1,
},
'x-component-props': {
children: '查询',
},
},
},
},
},
......
......@@ -14,9 +14,9 @@ import { StandardTable } from 'god';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { schema } from './schema/index';
import ModalContainer from '../../components/ModalContainer';
import ConfirmAccount from '../../components/ConfirmAccount';
import Voucher from '../../components/Voucher';
import StatusActions from '../../components/StatusActions';
import StatusTag from '../../components/StatusTag';
import { payStatus } from '../../common';
const formActions = createFormActions();
const Integral: React.FC = () => {
......@@ -39,9 +39,11 @@ const Integral: React.FC = () => {
{title: '支付方式', dataIndex: 'payMethod'},
{
title: '结算状态', dataIndex: 'status',
filters: payStatus,
onFilter: (value: number, record: any) => record.status == value,
render: (text, record) => {
return (
<Tag>待对账</Tag>
<StatusTag status={record.status || 1} />
)
}
},
......@@ -50,56 +52,17 @@ const Integral: React.FC = () => {
render: (text, record) => {
return (
<>
<ModalContainer>
{
({visible, show, cancel}) => {
return (
<>
<Modal width={400} title="确认对账完成" visible={visible} onCancel={cancel} onOk={() => handleConfirm(cancel)}>
<ConfirmAccount />
</Modal>
<div onClick={show}>确认对账完成</div>
</>
)
}
}
</ModalContainer>
<ModalContainer>
{
({visible, show, cancel}) => {
return (
<>
<Modal width={548} title="查看付款凭证" onCancel={cancel} visible={visible} footer={null}>
<Voucher />
</Modal>
<div onClick={show}>查看付款凭证</div>
</>
)
}
}
</ModalContainer>
<ModalContainer>
{
({visible, show, cancel}) => {
return (
<>
<Modal width={548} title="确认付款凭证" onCancel={cancel} visible={visible}
footer={(
<Space>
<Button>取消</Button>
<Button>确认未到款</Button>
<Button>确认到款</Button>
</Space>
)}
>
<Voucher />
</Modal>
<div onClick={show}>确认付款凭证</div>
</>
)
}
}
</ModalContainer>
<StatusActions
excludes={[2]}
id={record.id}
type={2}
status={record.status}
settlementDate={record.settlementDate}
payName={record.payName}
handleReconciledComfirm={handleConfirm}
handleComfirmInCompletePayment={handleComfirmInCompletePayment}
handleComfirmCompletePayment={handleComfirmCompletePayment}
/>
</>
)
}
......@@ -110,9 +73,17 @@ const Integral: React.FC = () => {
* 确认对账
* @param cancel 关闭回调函数
*/
const handleConfirm = (cancel) => {
const handleConfirm = (params) => {
console.log(123)
cancel();
params.cancel();
}
const handleComfirmInCompletePayment = (params: any) => {
console.log(params);
params.onCancel()
}
const handleComfirmCompletePayment = (params: any) => {
params.onCancel();
}
return (
<PageHeaderWrapper>
......
......@@ -16,7 +16,6 @@ import { StandardTable } from 'god';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { detailSchema } from './schema';
const formActions = createFormActions();
const columns = [
......
......@@ -7,7 +7,7 @@
import React, { useEffect, useState } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout'
import NiceForm from '@/components/NiceForm';
import { Card, Button } from 'antd';
import { Card, Button, message } from 'antd';
import { createFormActions } from '@formily/antd';
import { PlusOutlined } from '@ant-design/icons'
import ModalTable from '@/components/ModalTable';
......@@ -175,20 +175,26 @@ const MemberSettleAdd: React.FC = () => {
useEffect(() => {
if(id) {
async function getInfo() {
const { data } = await getSettleAccountsPlatformConfigGetMemberSettlementStrategyDetail({id})
setInitialValue({
name: data.name,
settlementOrderType: data.settlementOrderType.toString(),
memberList: data.memberList,
settlementWay: {
active: data.settlementWay,
otherValues: [data.settlementDays, data.settlementDate],
}
})
formActions.setFieldValue('Tabs.memberTab.someLists', data.memberList);
// 必须设置key
memberRowCtl.setSelectRow(data.memberList);
memberRowCtl.setSelectedRowKeys(data.memberList.map((item) => item.memberId))
const res = await getSettleAccountsPlatformConfigGetMemberSettlementStrategyDetail({id})
if(res.code === 1000) {
setInitialValue({
name: res.data.name,
settlementOrderType: res.data.settlementOrderType.toString(),
memberList: res.data.memberList,
settlementWay: {
active: res.data.settlementWay,
otherValues: [res.data.settlementDays, res.data.settlementDate],
}
})
formActions.setFieldValue('Tabs.memberTab.someLists', res.data.memberList);
// 必须设置key
memberRowCtl.setSelectRow(res.data.memberList);
memberRowCtl.setSelectedRowKeys(res.data.memberList.map((item) => item.memberId))
} else {
message.error({content: res.message})
}
}
getInfo();
}
......@@ -197,7 +203,7 @@ const MemberSettleAdd: React.FC = () => {
return (
<PageHeaderWrapper
extra={[
<Button key="1" type="primary" onClick={handleClick} >
<Button loading={submitLoading} key="1" type="primary" onClick={handleClick} >
保存
</Button>,
]}
......
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