Commit bb4936a8 authored by XieZhiXiong's avatar XieZhiXiong

fix: 修复只有审核通过才能选择 通过申请的问题

parent 4111155b
......@@ -96,7 +96,7 @@ export interface OrderInfo {
/**
* 剩余可退货数量
*/
remaining: number;
remaining?: number;
/**
* 退款数量
*/
......
......@@ -2,16 +2,16 @@
* @Author: XieZhiXiong
* @Date: 2020-10-28 17:29:14
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-16 18:28:40
* @LastEditTime: 2021-01-07 19:29:15
* @Description: 提交审核 Modal
*/
import React from 'react';
import React, { useEffect } from 'react';
import { Modal } from 'antd';
import { createFormActions, FormEffectHooks, FormPath } from '@formily/antd';
import { createAsyncFormActions, FormEffectHooks, FormPath } from '@formily/antd';
import NiceForm from '@/components/NiceForm';
import { auditModalSchema } from './schema';
const modalFormActions = createFormActions();
const modalFormActions = createAsyncFormActions();
const {
onFieldValueChange$,
onFieldInputChange$,
......@@ -22,6 +22,10 @@ interface VerifyModalProps {
confirmLoading: boolean;
onSubmit: (values: { agree: 0 | 1, reason: string }) => void;
onVisible: (flag: boolean) => void;
/**
* 是否只可以选择 不接受申请
*/
rejected?: boolean;
};
const VerifyModal: React.FC<VerifyModalProps> = ({
......@@ -29,8 +33,26 @@ const VerifyModal: React.FC<VerifyModalProps> = ({
confirmLoading,
onSubmit,
onVisible,
rejected = false,
}) => {
useEffect(() => {
// 内部状态为 审核通过 才能选择 审核通过选项
if (rejected) {
modalFormActions.setFieldState('isPass', state => {
const newMenu =
state.props.enum.map(
(item: { label: string, value: any }) => ({
...item,
disabled: item.value === 1,
})
);
FormPath.setIn(state, 'props.enum', newMenu);
FormPath.setIn(state, 'value', 0);
});
}
}, [rejected]);
const handleSubmit = values => {
if (onSubmit) {
onSubmit(values);
......@@ -44,7 +66,6 @@ const VerifyModal: React.FC<VerifyModalProps> = ({
confirmLoading={confirmLoading}
onOk={() => modalFormActions.submit()}
onCancel={() => onVisible(false)}
destroyOnClose
>
<NiceForm
effects={($, { setFieldState }) => {
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-20 15:49:38
* @LastEditTime: 2021-01-07 18:31:43
* @Description:
*/
import React, { useState } from 'react';
......@@ -11,6 +11,7 @@ import { history } from 'umi';
import { PublicApi } from '@/services/api';
import { FormOutlined } from '@ant-design/icons';
import { usePageStatus } from '@/hooks/usePageStatus';
import { EXCHANGE_INNER_STATUS_FAILED } from '@/constants';
import DetailInfo from '../components/DetailInfo';
import VerifyModal from '../../components/VerifyModal';
......@@ -18,6 +19,7 @@ const ExchangePrConfirmVerify: React.FC = () => {
const { id } = usePageStatus();
const [visible, setVisible] = useState(false);
const [confirmLoading, setConfirmLoading] = useState(false);
const [rejected, setRejected] = useState(false);
const handleSubmit = values => {
if (!id) {
......@@ -35,17 +37,24 @@ const ExchangePrConfirmVerify: React.FC = () => {
setConfirmLoading(false);
});
};
const handleVerify = (info) => {
if (info.innerStatus === EXCHANGE_INNER_STATUS_FAILED) {
setRejected(true);
}
setVisible(true);
};
return (
<>
<DetailInfo
id={id}
target="/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra={() => (
headExtra={(info) => (
<Button
type="primary"
icon={<FormOutlined />}
onClick={() => setVisible(true)}
onClick={() => handleVerify(info)}
>
确认单据
</Button>
......@@ -54,6 +63,7 @@ const ExchangePrConfirmVerify: React.FC = () => {
<VerifyModal
visible={visible}
rejected={rejected}
confirmLoading={confirmLoading}
onSubmit={handleSubmit}
onVisible={() => setVisible(false)}
......
......@@ -35,14 +35,22 @@ const Score = React.lazy(() => import('../../../components/Score'));
const FlowRecords = React.lazy(() => import('../FlowRecords'));
interface DetailInfoProps {
// 记录id
/**
* 记录id
*/
id: string;
// 是否是编辑的
/**
* 是否是编辑的
*/
isEdit?: boolean;
// 历史记录目标路径
/**
* 历史记录目标路径
*/
target?: string;
// 头部右侧拓展
headExtra?: React.ReactNode;
/**
* 头部右侧拓展
*/
headExtra?: (info: DetailInfo) => React.ReactNode;
};
interface DetailInfo extends GetAsRepairGoodsGetDetailBySupplierResponse {
......@@ -191,7 +199,7 @@ const DetailInfo: React.FC<DetailInfoProps> = ({
}
extra={(
<>
{headExtra}
{headExtra && headExtra(detailInfo)}
</>
)}
>
......
......@@ -41,7 +41,7 @@ const RepairPr1Verify: React.FC = () => {
<DetailInfo
id={id}
target="/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra={(
headExtra={() => (
<Button
type="primary"
icon={<FormOutlined />}
......
......@@ -41,7 +41,7 @@ const RepairPr2Verify: React.FC = () => {
<DetailInfo
id={id}
target="/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra={(
headExtra={() => (
<Button
type="primary"
icon={<FormOutlined />}
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-11-10 16:26:55
* @LastEditTime: 2021-01-07 18:49:57
* @Description:
*/
import React, { useState } from 'react';
......@@ -11,13 +11,15 @@ import { history } from 'umi';
import { PublicApi } from '@/services/api';
import { FormOutlined } from '@ant-design/icons';
import { usePageStatus } from '@/hooks/usePageStatus';
import { REPAIR_INNER_STATUS_FAILED } from '@/constants';
import DetailInfo from '../components/DetailInfo';
import VerifyModal from '../../components/VerifyModal';
const RepairPrConfirmVerify: React.FC = () => {
const { id, creditId } = usePageStatus();
const { id } = usePageStatus();
const [visible, setVisible] = useState(false);
const [confirmLoading, setConfirmLoading] = useState(false);
const [rejected, setRejected] = useState(false);
const handleSubmit = values => {
if (!id) {
......@@ -35,19 +37,26 @@ const RepairPrConfirmVerify: React.FC = () => {
setConfirmLoading(false);
});
};
const handleVerify = (info) => {
if (info.innerStatus === REPAIR_INNER_STATUS_FAILED) {
setRejected(true);
}
setVisible(true);
};
return (
<>
<DetailInfo
id={id}
target="/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra={(
headExtra={(info) => (
<Button
type="primary"
icon={<FormOutlined />}
onClick={() => setVisible(true)}
onClick={() => handleVerify(info)}
>
提交审核
确认单据
</Button>
)}
isEdit
......@@ -55,6 +64,7 @@ const RepairPrConfirmVerify: React.FC = () => {
<VerifyModal
visible={visible}
rejected={rejected}
confirmLoading={confirmLoading}
onSubmit={handleSubmit}
onVisible={() => setVisible(false)}
......
......@@ -41,7 +41,7 @@ const RepairPrSubmitVerify: React.FC = () => {
<DetailInfo
id={id}
target="/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra={(
headExtra={() => (
<Button
type="primary"
icon={<FormOutlined />}
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-04 17:22:07
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-08 14:53:59
* @LastEditTime: 2021-01-07 18:51:37
* @Description:
*/
import React, { useState } from 'react';
......@@ -11,6 +11,7 @@ import { history } from 'umi';
import { PublicApi } from '@/services/api';
import { FormOutlined } from '@ant-design/icons';
import { usePageStatus } from '@/hooks/usePageStatus';
import { RETURN_INNER_STATUS_FAILED } from '@/constants';
import DetailInfo from '../components/DetailInfo';
import VerifyModal from '../../components/VerifyModal';
......@@ -18,6 +19,7 @@ const ReturnPrConfirmVerify: React.FC = () => {
const { id, creditId } = usePageStatus();
const [visible, setVisible] = useState(false);
const [confirmLoading, setConfirmLoading] = useState(false);
const [rejected, setRejected] = useState(false);
const handleSubmit = values => {
if (!id) {
......@@ -35,17 +37,24 @@ const ReturnPrConfirmVerify: React.FC = () => {
setConfirmLoading(false);
});
};
const handleVerify = (info) => {
if (info.innerStatus === RETURN_INNER_STATUS_FAILED) {
setRejected(true);
}
setVisible(true);
};
return (
<>
<DetailInfo
id={id}
target="/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
headExtra={() => (
headExtra={(info) => (
<Button
type="primary"
icon={<FormOutlined />}
onClick={() => setVisible(true)}
onClick={() => handleVerify(info)}
>
确认单据
</Button>
......@@ -54,6 +63,7 @@ const ReturnPrConfirmVerify: React.FC = () => {
<VerifyModal
visible={visible}
rejected={rejected}
confirmLoading={confirmLoading}
onSubmit={handleSubmit}
onVisible={() => setVisible(false)}
......
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