Commit 2a1749b7 authored by unknown's avatar unknown
parents e364a352 ff264145
......@@ -2,9 +2,12 @@
* @Author: XieZhiXiong
* @Date: 2021-05-18 17:36:53
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-07-03 18:41:39
* @LastEditTime: 2021-12-03 18:01:11
* @Description: 会员相关常量
*/
import { getIntl } from 'umi';
const intl = getIntl();
/* --------------------------------- 会员类型 -------------------------------- */
/**
......@@ -27,10 +30,10 @@ export const MEMBER_TYPE_CHANNEL_INDIVIDUAL = 4;
* 会员类型对应中文
*/
export const MEMBER_TYPE = {
[MEMBER_TYPE_CORPORATE]: '企业会员',
[MEMBER_TYPE_INDIVIDUAL]: '个人会员',
[MEMBER_TYPE_CHANNEL_CORPORATE]: '渠道企业会员',
[MEMBER_TYPE_CHANNEL_INDIVIDUAL]: '渠道个人会员',
[MEMBER_TYPE_CORPORATE]: intl.formatMessage({ id: 'member.constants.MEMBER_TYPE_CORPORATE' }),
[MEMBER_TYPE_INDIVIDUAL]: intl.formatMessage({ id: 'member.constants.MEMBER_TYPE_INDIVIDUAL' }),
[MEMBER_TYPE_CHANNEL_CORPORATE]: intl.formatMessage({ id: 'member.constants.MEMBER_TYPE_CHANNEL_CORPORATE' }),
[MEMBER_TYPE_CHANNEL_INDIVIDUAL]: intl.formatMessage({ id: 'member.constants.MEMBER_TYPE_CHANNEL_INDIVIDUAL' }),
};
......@@ -38,15 +41,15 @@ export const MEMBER_TYPE = {
/**
* 正常的
*/
export const MEMBER_STATUS_NORMAL = 1;
/**
* 冻结的
*/
export const MEMBER_STATUS_FROZEN = 2;
export const MEMBER_STATUS = {
[MEMBER_STATUS_NORMAL]: '正常',
[MEMBER_STATUS_FROZEN]: '冻结',
};
export const MEMBER_STATUS_NORMAL = 1;
/**
* 冻结的
*/
export const MEMBER_STATUS_FROZEN = 2;
export const MEMBER_STATUS = {
[MEMBER_STATUS_NORMAL]: intl.formatMessage({ id: 'member.constants.MEMBER_STATUS_NORMAL' }),
[MEMBER_STATUS_FROZEN]: intl.formatMessage({ id: 'member.constants.MEMBER_STATUS_FROZEN' }),
};
/* --------------------------------- 会员外部状态 -------------------------------- */
......@@ -226,23 +229,23 @@ export const PLATFORM_MEMBER_INNER_STATUS_VERIFY_PASSED = 9;
/**
* 平台会员
*/
export const MEMBER_LEVEL_TYPE_PLATFORM = 1;
/**
* 商户会员
*/
export const MEMBER_LEVEL_TYPE_MERCHANT = 2;
/**
* 渠道会员
*/
export const MEMBER_LEVEL_TYPE_CHANNEL = 3;
/**
* 会员等级类型枚举对应中文
export const MEMBER_LEVEL_TYPE_PLATFORM = 1;
/**
* 商户会员
*/
export const MEMBER_LEVEL_TYPE_MERCHANT = 2;
/**
* 渠道会员
*/
export const MEMBER_LEVEL_TYPE = {
[MEMBER_LEVEL_TYPE_PLATFORM]: '平台会员',
[MEMBER_LEVEL_TYPE_MERCHANT]: '商户会员',
[MEMBER_LEVEL_TYPE_CHANNEL]: '渠道会员',
};
export const MEMBER_LEVEL_TYPE_CHANNEL = 3;
/**
* 会员等级类型枚举对应中文
*/
export const MEMBER_LEVEL_TYPE = {
[MEMBER_LEVEL_TYPE_PLATFORM]: intl.formatMessage({ id: 'member.constants.MEMBER_LEVEL_TYPE_PLATFORM' }),
[MEMBER_LEVEL_TYPE_MERCHANT]: intl.formatMessage({ id: 'member.constants.MEMBER_LEVEL_TYPE_MERCHANT' }),
[MEMBER_LEVEL_TYPE_CHANNEL]: intl.formatMessage({ id: 'member.constants.MEMBER_LEVEL_TYPE_CHANNEL' }),
};
/* --------------------------------- 会员规则类型 -------------------------------- */
......@@ -296,11 +299,11 @@ export const MEMBER_INVOICE_TYPE_5 = 5;
* 会员等级类型枚举对应中文
*/
export const MEMBER_INVOICE_TYPE = {
[MEMBER_INVOICE_TYPE_1]: '增值税专用发票',
[MEMBER_INVOICE_TYPE_2]: '普通发票',
[MEMBER_INVOICE_TYPE_3]: '机动车专用发票',
[MEMBER_INVOICE_TYPE_4]: '机打发票',
[MEMBER_INVOICE_TYPE_5]: '定额发票',
[MEMBER_INVOICE_TYPE_1]: intl.formatMessage({ id: 'member.constants.MEMBER_INVOICE_TYPE_1' }),
[MEMBER_INVOICE_TYPE_2]: intl.formatMessage({ id: 'member.constants.MEMBER_INVOICE_TYPE_2' }),
[MEMBER_INVOICE_TYPE_3]: intl.formatMessage({ id: 'member.constants.MEMBER_INVOICE_TYPE_3' }),
[MEMBER_INVOICE_TYPE_4]: intl.formatMessage({ id: 'member.constants.MEMBER_INVOICE_TYPE_4' }),
[MEMBER_INVOICE_TYPE_5]: intl.formatMessage({ id: 'member.constants.MEMBER_INVOICE_TYPE_5' }),
};
......@@ -329,9 +332,9 @@ export const MEMBER_TAX_POINT_5 = 0;
* 会员等级类型枚举对应中文
*/
export const MEMBER_TAX_POINT = {
[MEMBER_TAX_POINT_1]: '17%',
[MEMBER_TAX_POINT_2]: '11%',
[MEMBER_TAX_POINT_3]: '6%',
[MEMBER_TAX_POINT_4]: '3%',
[MEMBER_TAX_POINT_5]: '0%',
[MEMBER_TAX_POINT_1]: intl.formatMessage({ id: 'member.constants.MEMBER_TAX_POINT_1' }),
[MEMBER_TAX_POINT_2]: intl.formatMessage({ id: 'member.constants.MEMBER_TAX_POINT_2' }),
[MEMBER_TAX_POINT_3]: intl.formatMessage({ id: 'member.constants.MEMBER_TAX_POINT_3' }),
[MEMBER_TAX_POINT_4]: intl.formatMessage({ id: 'member.constants.MEMBER_TAX_POINT_4' }),
[MEMBER_TAX_POINT_5]: intl.formatMessage({ id: 'member.constants.MEMBER_TAX_POINT_5' }),
};
......@@ -3,7 +3,7 @@
* @Date: 2020-07-22 09:54:50
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-05-28 18:33:56
*/
*/
/**
* 正则表达式集合
*/
......@@ -14,10 +14,10 @@ export const PATTERN_MAPS = {
email: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/,
phone: /^1[3|4|5|6|7|8|9][0-9]{9}$/,
phoneAndEmail: /^(1[3|4|5|6|7|8|9][0-9]{9})|([\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+)$/,
tel: /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/,//座机
tel: /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/,//座机
smsCode: /^\d{6}$/,
money:/^\d*(?:\.\d{0,2})?$/,
weight:/^\d*(?:\.\d{0,3})?$/,
weight:/^\d*(?:\.\d{0,3})?$/,
quantity: /^[1-9]+[0-9]*$/, // 数量,大于等于1的正整数
identity: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, // 数量,大于等于1的正整数
}
\ No newline at end of file
identity: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, // 身份证
}
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-11-29 11:33:12
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-12-02 16:26:31
* @LastEditTime: 2021-12-03 17:56:20
* @Description:
*/
export default {
......@@ -163,6 +163,64 @@ export default {
'member.management.memberPrVerifyComingData.verify.qualities.required': '请填写必要的资质证明',
'member.management.memberPrVerifyComingData.verify.upperMember.null': '无',
// 待审核入库考察
'member.management.memberPrComingInvestigate.drawer.title': '入库考察审核',
'member.management.memberPrComingInvestigate.drawer.form.select.placeholder': '请选择',
'member.management.memberPrComingInvestigate.drawer.form.inspect': '考察信息',
'member.management.memberPrComingInvestigate.drawer.form.inspect.date': '考察日期',
'member.management.memberPrComingInvestigate.drawer.form.inspect.score': '考察评分',
'member.management.memberPrComingInvestigate.drawer.form.inspect.score.rules-money': '请输入两位小数',
'member.management.memberPrComingInvestigate.drawer.form.inspect.result': '考察结果',
'member.management.memberPrComingInvestigate.drawer.form.inspect.result-placeholder': '在此输入你的内容,最长60个字符,30个汉字',
'member.management.memberPrComingInvestigate.drawer.form.inspect.reports': '考察报告',
'member.management.memberPrComingInvestigate.drawer.form.inspect.reports.rules-required': '请上传考察报告',
'member.management.memberPrComingInvestigate.drawer.form.verify': '单据审核',
'member.management.memberPrComingInvestigate.drawer.form.verify.agree': '是否通过',
'member.management.memberPrComingInvestigate.drawer.form.verify.agree.pass': '审核通过',
'member.management.memberPrComingInvestigate.drawer.form.verify.agree.noPass': '审核不通过',
'member.management.memberPrComingInvestigate.drawer.form.verify.reason': '不通过原因',
'member.management.memberPrComingInvestigate.drawer.form.verify.placeholder': '在此输入你的内容,最长120个字符,60个汉字',
// 待入库分类
'member.management.memberPrComingClassify.verify.commiting': '正在提交,请稍候...',
'member.management.memberPrComingClassify.drawer.title': '入库分类信息',
'member.management.memberPrComingClassify.drawer.form.select.placeholder': '请选择',
'member.management.memberPrComingClassify.drawer.form.classify': '入库分类信息',
'member.management.memberPrComingClassify.drawer.form.classify.code': '会员编码',
'member.management.memberPrComingClassify.drawer.form.classify.code.description-1': '长度最多10位,不可重复',
'member.management.memberPrComingClassify.drawer.form.classify.code.description-2': '不支持特殊符号(除英文"_-";下划线和中划线)',
'member.management.memberPrComingClassify.drawer.form.classify.code.rules-legal': '请输入数字、英文、_-,最多支持10个字符',
'member.management.memberPrComingClassify.drawer.form.classify.partnerType': '合作关系',
'member.management.memberPrComingClassify.drawer.form.classify.maxAmount': '单次合作金额',
'member.management.memberPrComingClassify.drawer.form.classify.maxAmount.description-1': '允许单次采购最大金额',
'member.management.memberPrComingClassify.drawer.form.classify.maxAmount.rules-legal': '请输入数值,最多支持小数点后两位',
'member.management.memberPrComingClassify.drawer.form.classify.maxAmount.rules-max': '最多支持8个字符',
'member.management.memberPrComingClassify.drawer.form.classify.areaCodes': '适用区域',
'member.management.memberPrComingClassify.drawer.form.classify.categories': '主营品类',
'member.management.memberPrComingClassify.drawer.form.classify.category': '品类',
'member.management.memberPrComingClassify.drawer.form.classify.paymentDay': '付款周期(天)',
'member.management.memberPrComingClassify.drawer.form.classify.paymentDay.rules-legal': '请输入0 或 正整数,最多8位数',
'member.management.memberPrComingClassify.drawer.form.classify.invoiceTypeName': '发票类型',
'member.management.memberPrComingClassify.drawer.form.classify.taxPoint': '税点',
'member.management.memberPrComingClassify.drawer.form.verify': '单据审核',
'member.management.memberPrComingClassify.drawer.form.verify.agree': '是否通过',
'member.management.memberPrComingClassify.drawer.form.verify.agree.pass': '审核通过',
'member.management.memberPrComingClassify.drawer.form.verify.agree.noPass': '审核不通过',
'member.management.memberPrComingClassify.drawer.form.verify.reason': '不通过原因',
'member.management.memberPrComingClassify.drawer.form.verify.placeholder': '在此输入你的内容,最长120个字符,60个汉字',
// 待审核入库(一级)
'member.management.memberPrVerifyComing1.query.verify-tip': '确定要审核通过选中的会员吗?',
// 待确认入库
'member.management.memberPrVerifyComingConfirm.query.verify-tip': '确定要审核通过选中的会员吗?',
// 待审核会员变更(一级)
'member.management.memberPrVerifyChange1.query.verify-tip': '确定要审核通过选中的会员吗?',
// 待确认会员变更
'member.management.memberPrVerifyChangeConfirm.query.verify-tip': '确定要审核通过选中的会员吗?',
// 会员状态
'member.status.notAaudit': '待审核',
......@@ -195,6 +253,36 @@ export default {
'member.management.common.schames.query': '查询',
'member.management.common.form.reason.pass': '通过原因',
'member.management.common.form.reason.noPass': '不通过原因',
'member.management.common.commiting': '正在提交,请稍候...',
// 常量相关
'member.constants.MEMBER_TYPE_CORPORATE': '企业会员',
'member.constants.MEMBER_TYPE_INDIVIDUAL': '个人会员',
'member.constants.MEMBER_TYPE_CHANNEL_CORPORATE': '渠道企业会员',
'member.constants.MEMBER_TYPE_CHANNEL_INDIVIDUAL': '渠道个人会员',
'member.constants.MEMBER_STATUS_NORMAL': '正常',
'member.constants.MEMBER_STATUS_FROZEN': '冻结',
'member.constants.MEMBER_LEVEL_TYPE_PLATFORM': '平台会员',
'member.constants.MEMBER_LEVEL_TYPE_MERCHANT': '商户会员',
'member.constants.MEMBER_LEVEL_TYPE_CHANNEL': '渠道会员',
'member.constants.MEMBER_INVOICE_TYPE_1': '增值税专用发票',
'member.constants.MEMBER_INVOICE_TYPE_2': '普通发票',
'member.constants.MEMBER_INVOICE_TYPE_3': '机动车专用发票',
'member.constants.MEMBER_INVOICE_TYPE_4': '机打发票',
'member.constants.MEMBER_INVOICE_TYPE_5': '定额发票',
'member.constants.MEMBER_TAX_POINT_1': '17%',
'member.constants.MEMBER_TAX_POINT_2': '11%',
'member.constants.MEMBER_TAX_POINT_3': '6%',
'member.constants.MEMBER_TAX_POINT_4': '3%',
'member.constants.MEMBER_TAX_POINT_5': '0%',
// 业务组件
'member.components.VerifyModal.title': '单据审核',
'member.components.VerifyModal.agree.pass': '审核通过',
'member.components.VerifyModal.agree.noPass': '审核不通过',
'member.components.VerifyModal.reason.noPass': '不通过原因',
'member.components.VerifyModal.reason.pass': '通过原因',
'member.components.VerifyModal.reason.placeholder': '在此输入你的内容,最长120个字符,60个汉字',
// 会员考察/考评/整改/预警、投诉建议、会员整改管理、考评结果查询、投诉建议管理
'member.memberInspection.add.modifyInvestigate': '修改会员考察',
......
This diff is collapsed.
......@@ -21,7 +21,7 @@ import Submit from '@/components/NiceForm/components/Submit'
import { ISchema } from '@formily/antd';
import { clearModalParams } from '@/utils';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
import { getProductCustomerGetCustomerAttributeTree, getProductCustomerGetCustomerAttributeValueList, getProductPlatformGetSyncAttributeValueList, postProductCustomerDeleteCustomerAttributeValue, postProductCustomerUpdateCustomerAttributeValueStatus } from '@/services/ProductV2Api';
import { getProductCustomerGetCustomerAttributeTree, getProductCustomerGetCustomerAttributeValueList, getProductPlatformGetSyncAttributeValueList, postProductCustomerDeleteCustomerAttributeValue, postProductCustomerSyncAttributeValue, postProductCustomerUpdateCustomerAttributeValueStatus } from '@/services/ProductV2Api';
const treeActions = createTreeActions()
......@@ -296,7 +296,6 @@ const PropertyValue: React.FC<{}> = () => {
const handleAsyncOk = () => {
setSyncLoading(true)
if (rowSelectionCtl.selectedRowKeys.length) {
// @ts-ignore
postProductCustomerSyncAttributeValue({ idList: rowSelectionCtl.selectedRowKeys }).then(res => {
if (res.code === 1000) {
if (ref?.current?.reload) {
......
......@@ -7,6 +7,7 @@
*/
import React from 'react';
import { Modal } from 'antd';
import { useIntl } from 'umi';
import { createFormActions, FormEffectHooks, FormPath } from '@formily/antd';
import NiceForm from '@/components/NiceForm';
import schema from './schema';
......@@ -54,6 +55,8 @@ const VerifyModal: React.FC<IProps> = (props: IProps) => {
submitLoading,
} = props;
const intl = useIntl();
const handleClose = () => {
if (onClose) {
onClose();
......@@ -68,7 +71,7 @@ const VerifyModal: React.FC<IProps> = (props: IProps) => {
return (
<Modal
title="单据审核"
title={intl.formatMessage({ id: 'member.components.VerifyModal.title' })}
visible={visible}
confirmLoading={submitLoading}
onOk={() => formActions.submit()}
......@@ -79,7 +82,7 @@ const VerifyModal: React.FC<IProps> = (props: IProps) => {
effects={($, { setFieldState }) => {
onFieldValueChange$('agree').subscribe(fieldState => {
setFieldState('reason', state => {
state.title = fieldState.value === 0 ? '不通过原因' : '通过原因';
state.title = fieldState.value === 0 ? intl.formatMessage({ id: 'member.components.VerifyModal.reason.noPass' }) : intl.formatMessage({ id: 'member.components.VerifyModal.reason.pass' });
state.required = fieldState.value === 0;
setTimeout(() => {
formActions.validate('reason');
......
......@@ -2,11 +2,14 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 11:50:00
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-05-25 11:50:00
* @LastEditTime: 2021-12-03 18:21:06
* @Description:
*/
import { getIntl } from 'umi';
import { ISchema } from '@formily/antd';
const intl = getIntl();
const schema: ISchema = {
type: 'object',
properties: {
......@@ -21,19 +24,19 @@ const schema: ISchema = {
type: 'string',
default: 1,
enum: [
{ label: '审核通过', value: 1 },
{ label: '审核不通过', value: 0 },
{ label: intl.formatMessage({ id: 'member.components.VerifyModal.agree.pass' }), value: 1 },
{ label: intl.formatMessage({ id: 'member.components.VerifyModal.agree.noPass' }), value: 0 },
],
'x-component': 'radio',
'x-component-props': {},
},
reason: {
type: 'string',
title: '不通过原因',
title: intl.formatMessage({ id: 'member.components.VerifyModal.reason.noPass' }),
'x-component': 'textarea',
required: true,
'x-component-props': {
placeholder: '在此输入你的内容,最长120个字符,60个汉字',
placeholder: intl.formatMessage({ id: 'member.components.VerifyModal.reason.placeholder' }),
rows: 5,
},
'x-rules': [
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-24 17:47:32
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-18 11:07:50
* @LastEditTime: 2021-12-03 17:52:44
* @Description: 审核Form抽屉
*/
import React, { useEffect } from 'react';
......@@ -10,6 +10,7 @@ import {
Drawer,
Button,
} from 'antd';
import { useIntl } from 'umi';
import NiceForm from '@/components/NiceForm';
import {
createFormActions,
......@@ -207,6 +208,8 @@ const ComingClassifyDrawer: React.FC<IProps> = (props: IProps) => {
submitLoading,
} = props;
const intl = useIntl();
useEffect(() => {
if (partnerTypes && partnerTypes.length) {
formActions.setFieldState('partnerType', state => {
......@@ -240,14 +243,14 @@ const ComingClassifyDrawer: React.FC<IProps> = (props: IProps) => {
const MemberCodeDescription = (
<div className={styles.description}>
<div>长度最多10位,不可重复</div>
<div>不支持特殊符号(除英文"_-";下划线和中划线)</div>
<div>{intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.code.description-1' })}</div>
<div>{intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.code.description-2' })}</div>
</div>
);
const MemberCypher = (
<div className={styles.description}>
<div>允许单次采购最大金额</div>
<div>{intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.maxAmount.description-1' })}</div>
</div>
);
......@@ -304,7 +307,7 @@ const ComingClassifyDrawer: React.FC<IProps> = (props: IProps) => {
return (
<Drawer
title="入库分类信息"
title={intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.title' })}
width={620}
onClose={handleClose}
visible={visible}
......@@ -315,14 +318,14 @@ const ComingClassifyDrawer: React.FC<IProps> = (props: IProps) => {
}}
>
<Button onClick={handleClose} style={{ marginRight: 16 }}>
取 消
{intl.formatMessage({ id: 'member.actions.cancel' })}
</Button>
<Button
onClick={() => formActions.submit()}
type="primary"
loading={submitLoading}
>
确 定
{intl.formatMessage({ id: 'member.actions.confirm' })}
</Button>
</div>
}
......@@ -369,7 +372,7 @@ const ComingClassifyDrawer: React.FC<IProps> = (props: IProps) => {
onFieldValueChange$('agree').subscribe(fieldState => {
setFieldState('reason', state => {
state.title = fieldState.value === 0 ? '不通过原因' : '通过原因';
state.title = fieldState.value === 0 ? intl.formatMessage({ id: 'member.management.common.form.reason.noPass' }) : intl.formatMessage({ id: 'member.management.common.form.reason.pass' });
state.required = fieldState.value === 0;
setTimeout(() => {
formActions.validate('reason');
......
......@@ -2,10 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-24 18:00:52
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-07-09 18:10:07
* @LastEditTime: 2021-12-03 17:48:35
* @Description:
*/
import { ISchema } from '@formily/antd';
import { getIntl } from 'umi';
import {
MEMBER_INVOICE_TYPE_1,
MEMBER_INVOICE_TYPE_2,
......@@ -22,6 +23,8 @@ import {
} from '@/constants/member';
import { PATTERN_MAPS } from '@/constants/regExp';
const intl = getIntl();
export const schema: ISchema = {
type: 'object',
properties: {
......@@ -29,7 +32,7 @@ export const schema: ISchema = {
type: 'object',
'x-component': 'FlagBox',
'x-component-props': {
title: '入库分类信息',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify' }),
},
properties: {
MEGA_LAYOUT: {
......@@ -43,28 +46,28 @@ export const schema: ISchema = {
properties: {
code: {
type: 'string',
title: '会员编码',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.code' }),
required: true,
description: '{{MemberCodeDescription}}',
'x-rules': [
{
pattern: /^[a-zA-Z0-9_-]{1,10}$/,
message: '请输入数字、英文、_-,最多支持10个字符',
message: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.code.rules-legal' }),
},
],
},
partnerType: {
type: 'string',
enum: [],
title: '合作关系',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.partnerType' }),
'x-component-props': {
placeholder: '请选择',
placeholder: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.select.placeholder' }),
},
required: true,
},
maxAmount: {
type: 'string',
title: '单次合作金额',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.maxAmount' }),
required: true,
'x-component-props': {
addonBefore: '¥',
......@@ -73,17 +76,17 @@ export const schema: ISchema = {
'x-rules': [
{
pattern: PATTERN_MAPS.money,
message: '请输入数值,最多支持小数点后两位',
message: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.maxAmount.rules-legal' }),
},
{
max: 8,
message: '最多支持8个字符',
message: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.maxAmount.rules-max' }),
},
],
},
areaCodes: {
type: 'array',
title: '适用区域',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.areaCodes' }),
required: true,
'x-component': 'CustomAddArray',
default: [],
......@@ -109,7 +112,7 @@ export const schema: ISchema = {
},
categories: {
type: 'array',
title: '主营品类',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.categories' }),
required: true,
'x-component': 'ArrayCards',
'x-component-props': {
......@@ -126,7 +129,7 @@ export const schema: ISchema = {
properties: {
category: {
type: 'string',
title: '品类',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.category' }),
'x-component': 'CascaderFormItem',
'x-component-props': {
fieldNames: { label: 'title', value: 'title', children: 'children' },
......@@ -181,12 +184,12 @@ export const schema: ISchema = {
// },
paymentDay: {
type: 'string',
title: '付款周期(天)',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.paymentDay' }),
required: true,
'x-rules': [
{
pattern: /^([0]|[1-9][0-9]{0,7})$/,
message: '请输入0 或 正整数,最多8位数',
message: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.paymentDay.rules-legal' }),
},
],
},
......@@ -214,12 +217,12 @@ export const schema: ISchema = {
value: MEMBER_INVOICE_TYPE[MEMBER_INVOICE_TYPE_5],
},
],
title: '发票类型',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.invoiceTypeName' }),
required: true,
},
taxPoint: {
type: 'string',
title: '税点',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.classify.taxPoint' }),
enum: [
{
label: MEMBER_TAX_POINT[MEMBER_TAX_POINT_1],
......@@ -255,7 +258,7 @@ export const schema: ISchema = {
type: 'object',
'x-component': 'FlagBox',
'x-component-props': {
title: '单据审核',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.verify' }),
},
properties: {
MEGA_LAYOUT: {
......@@ -269,23 +272,23 @@ export const schema: ISchema = {
properties: {
agree: {
type: 'string',
title: '是否通过',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.verify.agree' }),
default: 1,
'x-component': 'Radio',
required: true,
enum: [
{ label: '审核通过', value: 1 },
{ label: '审核不通过', value: 0 },
{ label: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.verify.agree.pass' }), value: 1 },
{ label: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.verify.agree.noPass' }), value: 0 },
],
'x-component-props': {},
},
reason: {
type: 'string',
title: '不通过原因',
title: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.verify.reason' }),
'x-component': 'Textarea',
required: true,
'x-component-props': {
placeholder: '在此输入你的内容,最长120个字符,60个汉字',
placeholder: intl.formatMessage({ id: 'member.management.memberPrComingClassify.drawer.form.verify.placeholder' }),
rows: 5,
},
'x-rules': [
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 14:34:56
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:05:10
* @LastEditTime: 2021-12-03 16:26:23
* @Description: 待入库分类
*/
import React, { useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Button } from 'antd';
import { StandardTable } from 'god';
import moment from 'moment';
......@@ -26,20 +26,22 @@ const formActions = createFormActions();
const MemberPrComingClassify: React.FC<{}> = props => {
const ref = useRef<any>({});
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrComingClassify/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyComingColumn('/memberCenter/memberAbility/manage/memberPrComingClassify/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......
......@@ -10,7 +10,7 @@ import { Button, message } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberDepositClassify, getMemberDepositClassifyDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrComingClassifyVerify: React.FC<{}> = () => {
const [visibleVerifyDrawer, setVisibleVerifyDrawer] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyDrawer = (flag?) => {
setVisibleVerifyDrawer(!!flag);
};
......@@ -33,7 +35,7 @@ const MemberPrComingClassifyVerify: React.FC<{}> = () => {
...value,
};
const msg = message.loading({
content: '正在提交,请稍候...',
content: intl.formatMessage({ id: 'member.management.memberPrComingClassify.verify.commiting' }),
duration: 0,
});
postMemberDepositClassify(payload, {
......@@ -67,7 +69,7 @@ const MemberPrComingClassifyVerify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyDrawer(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<ComingClassifyDrawer
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-24 17:47:32
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-07-09 18:01:32
* @LastEditTime: 2021-12-03 16:08:38
* @Description: 审核Form抽屉
*/
import React from 'react';
......@@ -10,6 +10,7 @@ import {
Drawer,
Button,
} from 'antd';
import { useIntl } from 'umi';
import { DatePicker } from '@formily/antd-components';
import NiceForm from '@/components/NiceForm';
import {
......@@ -100,6 +101,8 @@ const VerifyComingInvestigateDrawer: React.FC<IProps> = (props: IProps) => {
submitLoading,
} = props;
const intl = useIntl();
const handleClose = () => {
if (onClose) {
onClose();
......@@ -115,7 +118,7 @@ const VerifyComingInvestigateDrawer: React.FC<IProps> = (props: IProps) => {
return (
<Drawer
title="入库考察审核"
title={intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.title' })}
width={600}
onClose={handleClose}
visible={visible}
......@@ -126,14 +129,14 @@ const VerifyComingInvestigateDrawer: React.FC<IProps> = (props: IProps) => {
}}
>
<Button onClick={handleClose} style={{ marginRight: 16 }}>
取 消
{intl.formatMessage({ id: 'member.actions.cancel' })}
</Button>
<Button
onClick={() => formActions.submit()}
type="primary"
loading={submitLoading}
>
确 定
{intl.formatMessage({ id: 'member.actions.confirm' })}
</Button>
</div>
}
......@@ -146,7 +149,7 @@ const VerifyComingInvestigateDrawer: React.FC<IProps> = (props: IProps) => {
effects={($, { setFieldState }) => {
onFieldValueChange$('agree').subscribe(fieldState => {
setFieldState('reason', state => {
state.title = fieldState.value === 0 ? '不通过原因' : '通过原因';
state.title = fieldState.value === 0 ? intl.formatMessage({ id: 'member.management.common.form.reason.noPass' }) : intl.formatMessage({ id: 'member.management.common.form.reason.pass' });
state.required = fieldState.value === 0;
setTimeout(() => {
formActions.validate('reason');
......
......@@ -2,15 +2,18 @@
* @Author: XieZhiXiong
* @Date: 2021-06-02 20:10:47
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-07-09 17:44:34
* @LastEditTime: 2021-12-03 16:05:47
* @Description:
*/
import { ISchema } from '@formily/antd';
import { getIntl } from 'umi';
import {
UPLOAD_TYPE,
} from '@/constants';
import { PATTERN_MAPS } from '@/constants/regExp';
const intl = getIntl();
export const schema: ISchema = {
type: 'object',
properties: {
......@@ -18,7 +21,7 @@ export const schema: ISchema = {
type: 'object',
'x-component': 'FlagBox',
'x-component-props': {
title: '考察信息',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect' }),
},
properties: {
MEGA_LAYOUT: {
......@@ -32,10 +35,10 @@ export const schema: ISchema = {
properties: {
inspectDay: {
type: 'string',
title: '考察日期',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.date' }),
'x-component': 'DatePicker',
'x-component-props': {
placeholder: '请选择',
placeholder: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.select.placeholder' }),
style: {
width: '100%',
},
......@@ -44,9 +47,9 @@ export const schema: ISchema = {
},
score: {
type: 'string',
title: '考察评分',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.score' }),
'x-component-props': {
placeholder: '请选择',
placeholder: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.select.placeholder' }),
style: {
width: '100%',
},
......@@ -54,17 +57,17 @@ export const schema: ISchema = {
'x-rules': [
{
pattern: PATTERN_MAPS.money,
message: '请输入两位小数',
message: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.score.rules-money' }),
},
],
required: true,
},
result: {
type: 'string',
title: '考察结果',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.result' }),
'x-component': 'Textarea',
'x-component-props': {
placeholder: '在此输入你的内容,最长60个字符,30个汉字',
placeholder: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.result-placeholder' }),
rows: 5,
},
'x-rules': [
......@@ -77,7 +80,7 @@ export const schema: ISchema = {
},
reports: {
type: 'string',
title: '考察报告',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.reports' }),
'x-component': 'FixUpload',
'x-component-props': {
action: '/api/file/file/upload/prefix',
......@@ -90,7 +93,7 @@ export const schema: ISchema = {
'x-rules': [
{
required: true,
message: '请上传考察报告',
message: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.inspect.reports.rules-required' }),
},
],
},
......@@ -102,7 +105,7 @@ export const schema: ISchema = {
type: 'object',
'x-component': 'FlagBox',
'x-component-props': {
title: '单据审核',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.verify' }),
},
properties: {
MEGA_LAYOUT: {
......@@ -116,23 +119,23 @@ export const schema: ISchema = {
properties: {
agree: {
type: 'string',
title: '是否通过',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.verify.agree' }),
default: 1,
'x-component': 'Radio',
required: true,
enum: [
{ label: '审核通过', value: 1 },
{ label: '审核不通过', value: 0 },
{ label: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.verify.agree.pass' }), value: 1 },
{ label: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.verify.agree.noPass' }), value: 0 },
],
'x-component-props': {},
},
reason: {
type: 'string',
title: '不通过原因',
title: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.verify.reason' }),
'x-component': 'Textarea',
required: true,
'x-component-props': {
placeholder: '在此输入你的内容,最长120个字符,60个汉字',
placeholder: intl.formatMessage({ id: 'member.management.memberPrComingInvestigate.drawer.form.verify.placeholder' }),
rows: 5,
},
'x-rules': [
......
......@@ -6,7 +6,7 @@
* @Description: 待审核入库考察
*/
import React, { useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Button } from 'antd';
import { StandardTable } from 'god';
import moment from 'moment';
......@@ -26,20 +26,22 @@ const formActions = createFormActions();
const MemberPrComingInvestigate: React.FC<{}> = props => {
const ref = useRef<any>({});
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrComingInvestigate/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyComingColumn('/memberCenter/memberAbility/manage/memberPrComingInvestigate/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 14:03:05
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:07:05
* @LastEditTime: 2021-12-03 15:52:14
* @Description:
*/
import React, { useState } from 'react';
......@@ -10,7 +10,7 @@ import { Button, message } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberDepositInspectDetail, postMemberDepositInspect } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrComingInvestigate: React.FC<{}> = () => {
const [visibleVerifyDrawer, setVisibleVerifyDrawer] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyDrawer = (flag?) => {
setVisibleVerifyDrawer(!!flag);
};
......@@ -37,7 +39,7 @@ const MemberPrComingInvestigate: React.FC<{}> = () => {
})),
};
const msg = message.loading({
content: '正在提交,请稍候...',
content: intl.formatMessage({ id: 'member.management.common.commiting' }),
duration: 0,
});
postMemberDepositInspect(payload, {
......@@ -71,7 +73,7 @@ const MemberPrComingInvestigate: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyDrawer(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyComingInvestigateDrawer
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 10:26:33
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:07:16
* @LastEditTime: 2021-12-03 18:43:06
* @Description: 待审核会员变更(一级)详情
*/
import React from 'react';
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 10:26:20
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:07:32
* @LastEditTime: 2021-12-03 18:42:30
* @Description: 待审核会员变更(一级)
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,20 +30,22 @@ const MemberPrVerifyChange1: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyChange1/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyChangeColumn('/memberCenter/memberAbility/manage/memberPrVerifyChange1/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const MemberPrVerifyChange1: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyChange1.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberModifyGradeOneBatch({
......@@ -129,7 +131,7 @@ const MemberPrVerifyChange1: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberModifyGradeOne, getMemberModifyGradeOneDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyChange1Verify: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyChange1Verify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 10:26:20
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:08:09
* @LastEditTime: 2021-12-03 18:45:00
* @Description: 待审核会员变更(二级)
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,6 +30,8 @@ const MemberPrVerifyChange2: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyChange2/verify?validateId=${record.validateId}`);
};
......@@ -43,7 +45,7 @@ const MemberPrVerifyChange2: React.FC<{}> = props => {
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const MemberPrVerifyChange2: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyChange1.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberModifyGradeTwoBatch({
......@@ -129,7 +131,7 @@ const MemberPrVerifyChange2: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 10:26:37
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:08:24
* @LastEditTime: 2021-12-03 18:45:26
* @Description: 审核会员变更(二级)
*/
import React, { useState } from 'react';
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberModifyGradeTwo, getMemberModifyGradeTwoDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyChange2Verify: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyChange2Verify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 10:26:20
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:08:50
* @LastEditTime: 2021-12-03 18:31:43
* @Description: 待确认会员变更
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,20 +30,22 @@ const MemberPrVerifyChangeConfrim: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyChangeConfirm/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyChangeColumn('/memberCenter/memberAbility/manage/memberPrVerifyChangeConfirm/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const MemberPrVerifyChangeConfrim: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyChangeConfirm.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberModifyConfirmBatch({
......@@ -129,7 +131,7 @@ const MemberPrVerifyChangeConfrim: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-26 10:26:37
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:09:02
* @LastEditTime: 2021-12-03 18:32:23
* @Description: 确认会员变更
*/
import React, { useState } from 'react';
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberModifyConfirm, getMemberModifyConfirmDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyChangeConfirmVerify: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyChangeConfirmVerify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 18:01:57
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:09:28
* @LastEditTime: 2021-12-03 18:19:06
* @Description: 待审核入库(一级)
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,20 +30,22 @@ const MemberPrVerifyComing1: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyComing1/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyComingColumn('/memberCenter/memberAbility/manage/memberPrVerifyComing1/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const MemberPrVerifyComing1: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyComing1.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberDepositGradeOneBatch({
......@@ -131,7 +133,7 @@ const MemberPrVerifyComing1: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberDepositGradeOne, getMemberDepositGradeOneDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyComing1Verify: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyComing1Verify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 18:02:45
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:09:47
* @LastEditTime: 2021-12-03 18:26:33
* @Description: 待审核入库(二级)详情
*/
import React from 'react';
......
......@@ -6,7 +6,7 @@
* @Description: 待审核入库(二级)
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,20 +30,22 @@ const MemberPrVerifyComing2: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyComing2/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyComingColumn('/memberCenter/memberAbility/manage/memberPrVerifyComing2/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const MemberPrVerifyComing2: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyComing1.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberDepositGradeTwoBatch({
......@@ -131,7 +133,7 @@ const MemberPrVerifyComing2: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberDepositGradeTwoDetail, postMemberDepositGradeTwo } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyComing2Verify: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyComing2Verify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 18:01:57
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:11:05
* @LastEditTime: 2021-12-03 18:37:17
* @Description: 待确认入库
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,20 +30,22 @@ const MemberPrVerifyComingConfirm: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyComingConfirm/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyComingColumn('/memberCenter/memberAbility/manage/memberPrVerifyComingConfirm/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const MemberPrVerifyComingConfirm: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyComingConfirm.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberDepositConfirmBatch({
......@@ -131,7 +133,7 @@ const MemberPrVerifyComingConfirm: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 18:02:54
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:11:15
* @LastEditTime: 2021-12-03 18:38:03
* @Description: 确认入库
*/
import React, { useState } from 'react';
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberDepositConfirm, getMemberDepositConfirmDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyComingConfirmVerify: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyComingConfirmVerify: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 10:11:54
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:12:21
* @LastEditTime: 2021-12-03 15:44:47
* @Description: 待审核入库资质
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { Card, Space, Button, Modal, message } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
......@@ -30,20 +30,22 @@ const memberPrVerifyComingQualifications: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<number[]>([]);
const intl = useIntl();
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrVerifyComingQualifications/verify?validateId=${record.validateId}`);
};
const defaultColumns = verifyComingColumn('/memberCenter/memberAbility/manage/memberPrVerifyComingQualifications/detail').concat([
{
title: '操作',
title: intl.formatMessage({ id: 'common.table.action' }),
dataIndex: 'option',
render: (_, record) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
审核
{intl.formatMessage({ id: 'member.actions.verify' })}
</Button>
),
},
......@@ -79,13 +81,13 @@ const memberPrVerifyComingQualifications: React.FC<{}> = props => {
const handleBatch = () => {
if (!selectedRowKeys.length) {
message.warning('未选择任何会员');
message.warning(intl.formatMessage({ id: 'member.actions.batch.nothing' }));
return;
}
confirm({
title: '提示',
title: intl.formatMessage({ id: 'member.actions.verify-tip' }),
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
content: intl.formatMessage({ id: 'member.management.memberPrVerifyComingData.query.verify-tip' }),
onOk() {
return new Promise<void>((resolve, reject) => {
postMemberDepositQualifyBatch({
......@@ -131,7 +133,7 @@ const memberPrVerifyComingQualifications: React.FC<{}> = props => {
const ControllerBtns = () => (
<Space>
<Button onClick={handleBatch}>
批量审核通过
{intl.formatMessage({ id: 'member.actions.verify-batch' })}
</Button>
</Space>
);
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-05-25 11:40:27
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-11-17 18:13:02
* @LastEditTime: 2021-12-03 15:46:00
* @Description: 审核入库资质
*/
import React, { useState } from 'react';
......@@ -10,7 +10,7 @@ import { Button } from 'antd';
import {
CheckCircleOutlined,
} from '@ant-design/icons';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { postMemberDepositQualify, getMemberDepositQualifyDetail } from '@/services/MemberV2Api';
import fetchDetailHoc from '../common/hoc/fetchDetailHoc';
......@@ -22,6 +22,8 @@ const MemberPrVerifyComingQualificationsDetail: React.FC<{}> = () => {
const [visibleVerifyModal, setVisibleVerifyModal] = useState(false);
const [submitLoading, setSubmitLoading] = useState(false);
const intl = useIntl();
const handleVisibleVerifyModal = (flag?) => {
setVisibleVerifyModal(!!flag);
};
......@@ -62,7 +64,7 @@ const MemberPrVerifyComingQualificationsDetail: React.FC<{}> = () => {
icon={<CheckCircleOutlined />}
onClick={() => handleVisibleVerifyModal(true)}
>
单据审核
{intl.formatMessage({ id: 'member.actions.apply.verify' })}
</Button>
<VerifyModal
......
......@@ -15,7 +15,7 @@ import { memberStatusMap, moveStatusMap, operationMap, statusMap } from '../../c
import { StandardTable } from 'god'
import QRCode from 'qrcode';
import { ScanOutlined } from '@ant-design/icons'
import { getPayAssetAccountGetAccountStatusRecord, getPayAssetAccountGetAccountTradeRecord, getPayAssetAccountGetAssetAccount, getPayAssetAccountGetRechargeResult, postPayAssetAccountRecharge } from '@/services/PayV2Api'
import { getPayAssetAccountGetRechargeResult, getPayEAccountAllInPayGetAccountDetail, getPayEAccountAllInPayGetEAccountStatusRecord, getPayEAccountAllInPayGetEAccountTradeRecord, postPayAssetAccountRecharge } from '@/services/PayV2Api'
interface rechargeItem {
codeUrl: string;
......@@ -63,10 +63,11 @@ const EAccountDetail: React.FC<{}> = () => {
const getAccountInfo = async () => {
const { id = 161 } = history.location.query
setPageId(id)
let res = await getPayAssetAccountGetAssetAccount({id: id+''})
const { code, data } = res
let res = await getPayEAccountAllInPayGetAccountDetail({id: id+''})
const { code, data, message: msg } = res
if(code !== 1000) { return message.error(msg) }
setDetails(data)
getPayAssetAccountGetAccountStatusRecord({memberAssetAccountId: id + ''}).then(res => {
getPayEAccountAllInPayGetEAccountStatusRecord({id: id + ''}).then(res => {
const { data } = res
setMoveData(data)
})
......@@ -76,7 +77,7 @@ const EAccountDetail: React.FC<{}> = () => {
// 获取交易记录
const fetchTradeData = (params) => {
return new Promise((resolve, reject) => {
getPayAssetAccountGetAccountTradeRecord({memberAssetAccountId: history.location.query.id + '', ...params}).then(res => {
getPayEAccountAllInPayGetEAccountTradeRecord({...params}).then(res => {
const { data } = res
resolve(data)
})
......
......@@ -8,7 +8,7 @@ import { EDetailContext } from '../../constant'
const CompanyFinish: React.FC<{}> = () => {
const [form] = Form.useForm();
const eDetailContext = useContext(EDetailContext)
const { ctl, finish, perfection, approved } = eDetailContext
const { ctl, finish, perfection } = eDetailContext
return (<div>
<MellowCard headStyle={{borderBottom:'none'}} title="企业信息" id="companyInfo">
......
import React, { useContext } from 'react'
import { Button, Col, Form, Input, Row, Select } from 'antd'
import MellowCard from '@/components/MellowCard';
import { EDetailContext, formItemLayout, prefixSelector, tailFormItemLayout } from '../../constant';
import { BIND_PHONE, EDetailContext, formItemLayout, prefixSelector, tailFormItemLayout } from '../../constant';
import useCountDown from '@/utils/hooks';
import { PATTERN_MAPS } from '@/constants/regExp';
import { postPayAllInPayPersonalCrate, postPayAllInPaySendVerificationCode } from '@/services/PayV2Api';
/** 个人 初始认证 */
const Personal: React.FC<{}> = () => {
const { Option } = Select;
const [form] = Form.useForm();
const eDetailContext = useContext(EDetailContext)
const { ctl } = eDetailContext
const { ctl, reloadFormData } = eDetailContext
const onFinish = (values: any) => {
ctl.setApproved(true)
const onFinish = async (values: any) => {
const { code } = await postPayAllInPayPersonalCrate({...values})
if(code === 1000) {
reloadFormData()
}
console.log('Received values of form: ', values);
};
const { text, isActive, start } = useCountDown({
maxTime: 60,
minTime: 0,
initText: '获取验证码',
onEnd: () => { console.log("end") },
decayRate: 1,
delay: 1 * 1000
})
const handleSendSMS = () => {
form.validateFields(['phone']).then(result => {
console.log(result)
// 发送验证码
postPayAllInPaySendVerificationCode({...result, verificationCodeType: BIND_PHONE}).then(res => {
res.code === 1000 && start()
})
})
}
return (
<MellowCard headStyle={{borderBottom:'none'}} title="个人认证">
<Form
......@@ -43,7 +68,7 @@ const Personal: React.FC<{}> = () => {
</Form.Item>
<Form.Item
name="type"
name="cardType"
label="证件类型"
rules={[
{
......@@ -58,13 +83,17 @@ const Personal: React.FC<{}> = () => {
</Form.Item>
<Form.Item
name="idcard"
name="cardNo"
label="证件号码"
rules={[
{
required: true,
message: '请输入证件号码',
},
{
pattern: PATTERN_MAPS.identity,
message: '请输入证件号码'
}
]}
>
<Input placeholder="请输入证件号码" />
......@@ -73,7 +102,16 @@ const Personal: React.FC<{}> = () => {
<Form.Item
name="phone"
label="手机号码"
rules={[{ required: true, message: '请输入手机号码' }]}
rules={[
{
required: true,
message: '请输入手机号码'
},
{
pattern: PATTERN_MAPS.phone,
message: '请输入手机号码'
}
]}
>
<Input addonBefore={prefixSelector} style={{ width: '100%' }} placeholder="请输入手机号码" />
</Form.Item>
......@@ -84,13 +122,22 @@ const Personal: React.FC<{}> = () => {
<Form.Item
name="captcha"
noStyle
rules={[{ required: true, message: '请输入验证码' }]}
rules={[
{
required: true,
message: '请输入验证码'
},
{
pattern: /^\d{5}$/,
message: '请输入验证码'
}
]}
>
<Input placeholder="请输入验证码" />
</Form.Item>
</Col>
<Col span={4}>
<Button>获取验证码</Button>
<Button disabled={isActive} onClick={handleSendSMS}>{text}</Button>
</Col>
</Row>
</Form.Item>
......
......@@ -9,7 +9,7 @@ import { EDetailContext, formItemLayout, tailFormItemLayout } from '../../consta
const PersonalFinish: React.FC<{}> = () => {
const [form] = Form.useForm();
const eDetailContext = useContext(EDetailContext)
const { ctl, finish, perfection, approved } = eDetailContext
const { ctl, finish, perfection } = eDetailContext
const onFinish = (values: any) => {
ctl.setFinish(true) // 已经完善
......
......@@ -2,6 +2,15 @@ import { createContext } from 'react';
import { Form, Select } from 'antd';
const { Option } = Select;
/**
* 绑定手机
*/
export const BIND_PHONE = 9;
/**
* 解绑手机
*/
export const UNBIND_PHONE = 6;
// e账户认证 组件切换控制 Context
export const EDetailContext = createContext<any>({})
......
import { getPayAllInPayGetAuthMemberInfo, postPayAllInPayCreateMember, postPayAllInPayGetMemberInfo } from '@/services/PayV2Api';
import { getAuth } from '@/utils/auth';
import { message } from 'antd';
import { useCallback, useState, useEffect } from 'react'
import { message } from 'antd'
/**
* 企业会员
*/
export const MEMBER_TYPE_CORPORATE = 1;
/**
* 个人会员
*/
export const MEMBER_TYPE_INDIVIDUAL = 2;
export const MEMBER_TYPE = {
[MEMBER_TYPE_CORPORATE]: 'company',
[MEMBER_TYPE_INDIVIDUAL]: 'personal',
};
export const useEDetail = () => {
/** 详情数据 */
const { memberRoleType } = getAuth() || {}
/** 详情数据 null从未认证*/
const [formData, setFormData] = useState<any>(null)
/** 企业/个人 */
const [type, setType] = useState<'company'|'personal'>('company')
/** 是否认证过 */
const [approved, setApproved] = useState<boolean>(false)
const [type, setType] = useState<'company'|'personal'>(MEMBER_TYPE[memberRoleType])
/** 是否需要完善 */
const [perfection, setPerfection] = useState<boolean>(false)
/** 是否完善过 */
......@@ -21,32 +36,28 @@ export const useEDetail = () => {
reloadFormData()
}, [])
const reloadFormData = useCallback(async () => {
// const fn = switchApi(type);
// let params: any = {};
// params[switchParamField(type)] = id
// const { code, data, message: msg } = await fn(params, { ctlType: "none" })
// if (code === 1000) {
setFormData({})
// } else {
// message.error(msg)
// }
const { code, data, message: msg } = await postPayAllInPayGetMemberInfo({}, {ctlType: 'none'})
if (code === 1000) {
!data && await postPayAllInPayCreateMember({}, {ctlType: 'none'})
setFormData(data)
} else {
message.error(msg)
}
}, [])
// 需共享的状态
const formContext = {
data: formData,
type,
approved,
// approved,
finish,
perfection,
backed,
showAnchor,
ctl: {
setFormData,
setApproved,
// setApproved,
setPerfection,
setBacked,
setShowAnchor,
......
......@@ -14,11 +14,11 @@ const EAccountApprove: React.FC<{}> = () => {
const {
type,
approved,
perfection,
finish,
backed,
showAnchor } = formContext
showAnchor,
data } = formContext
const personalLinkList = [
{ title: '个人信息', id: 'personalInfo' },
......@@ -40,7 +40,7 @@ const EAccountApprove: React.FC<{}> = () => {
/>
<div className={styles.wrapper}>
{
type === 'personal' ? (approved ? <PersonalFinish /> : <Personal />) : (approved ? <CompanyFinish /> : <Company />)
type === 'personal' ? (data?.name ? <PersonalFinish /> : <Personal />) : (data ? <CompanyFinish /> : <Company />)
}
</div>
</EDetailContext.Provider>
......
......@@ -548,6 +548,7 @@ const SaleOrderProductTable:React.FC<OrderProductTableProps> = (props) => {
const handleSubmitModifyPrice = () => {
modifyPriceActions.submit().then(async ({values}: any) => {
values.orderId = data.orderId
values.prices = [{ orderProductId: values.orderProductId, price: values.price, reason: values.reason }]
console.log(values)
const result = await runPrice(values)
if (result.code === 1000) {
......
......@@ -155,7 +155,7 @@ const AddedAddressLayout: React.FC<AddressModalProps> = (props) => {
labelAlign: 'left',
},
properties: {
shipperName: {
receiverName: {
type: 'string',
title: '收货人',
"x-rules": [
......
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