Commit c99f8609 authored by Bill's avatar Bill

feat: (会员地址信息 会员发票信息)开发完成

parent 99a616ea
......@@ -19,7 +19,7 @@
// ]
// 0418-1 token
module.exports = [
{ name: 'LogisticsV2', token: 'ff10daec7b157ce947bef7176aa0147552661ea8f97738a41ec96069be6a3481', categoryIds: [0], }, // 物流能力v2
{ name: 'LogisticsV2', token: 'f7b243c65124595ff11d360406d0c239320cc3fb00cfd9f4d27043363249fa2b', categoryIds: [0], }, // 物流能力v2
{ name: 'ProductV2', token: '1faeefe3cc912d5432d93de557cbf8be17c6447bf24fb3fa688173141ce00d4f', categoryIds: [0], }, // 商品服务V2
{ name: 'TemplateV2', token: '4eecf68f9059e8cd27fa1352a5c7cf6b156eefc59d52a888f7fab01126da8994', categoryIds: [0], }, // 页面模板服务V2
{ name: 'PayV2', token: 'a14dfa0fffd384a24843954a917fb27b78e23e53b7d28d42248a254b202eaa90', categoryIds: [0], }, // 支付服务
......
......@@ -105,6 +105,20 @@ const MemberRoute: RouterChild = {
component: '@/pages/member/memberMaintain/detailed/archiveInfo',
hideInMenu: true,
},
// 会员信息-详情-会员地址信息
{
path: '/memberCenter/memberAbility/manage/maintain/detail/membersAddressInfo',
name: 'membersAddressInfo',
component: '@/pages/member/memberMaintain/detailed/membersAddressInfo',
hideInMenu: true,
},
// 会员信息-详情-会员发票信息
{
path: '/memberCenter/memberAbility/manage/maintain/detail/membersInvoiceInfo',
name: 'membersInvoiceInfo',
component: '@/pages/member/memberMaintain/detailed/membersInvoiceInfo',
hideInMenu: true,
},
// 会员信息-详情-变更信息
{
path: '/memberCenter/memberAbility/manage/maintain/detail/changedInfo',
......
......@@ -116,6 +116,20 @@ export default {
'member.management.maintain.detail.appraisalInfo': '考评信息',
'member.management.maintain.detail.rectifyInfo': '整改信息',
'member.management.maintain.detail.changedInfo': '变更信息',
'member.management.maintain.detail.membersAddressInfo': '地址信息',
'member.management.maintain.detail.receiverName': '收货人姓名',
'member.management.maintain.detail.fullAddress': '收货地址',
'member.management.maintain.detail.postalCode': '邮编',
'member.management.maintain.detail.phone': '手机号码',
'member.management.maintain.detail.tel': '电话号码',
'member.management.maintain.detail.membersInvoiceInfo': '发票信息',
'member.management.maintain.detail.type': '发票类型',
'member.management.maintain.detail.invoiceTitle': '发票抬头',
'member.management.maintain.detail.taxNo': '纳税号',
'member.management.maintain.detail.bankOfDeposit': '开户行',
'member.management.maintain.detail.account': '账号',
'member.management.maintain.detail.address': '地址',
'member.management.maintain.detail.invoiceTel': '电话号码',
'member.management.maintain.detail.archivalInfo': '档案信息',
'member.management.maintain.detail.archivalInfo.inspect': '考察信息',
'member.management.maintain.detail.archivalInfo.inspect.index': '序号',
......
......@@ -14,6 +14,8 @@ import {
BarChartOutlined,
InsuranceOutlined,
BulbOutlined,
EnvironmentOutlined,
FileTextOutlined,
EditOutlined,
} from '@ant-design/icons';
import { usePageStatus } from '@/hooks/usePageStatus';
......@@ -80,6 +82,12 @@ const MemberMaintainDetailed: React.FC<IProps> = props => {
case 'archiveInfo':
history.push(`${url}/archiveInfo?id=${id}&validateId=${validateId}`);
break;
case 'membersAddressInfo':
history.push(`${url}/membersAddressInfo?id=${id}&validateId=${validateId}`);
break;
case 'membersInvoiceInfo':
history.push(`${url}/membersInvoiceInfo?id=${id}&validateId=${validateId}`);
break;
case 'changedInfo':
history.push(`${url}/changedInfo?id=${id}&validateId=${validateId}`);
break;
......@@ -124,6 +132,8 @@ const MemberMaintainDetailed: React.FC<IProps> = props => {
<Bookmark.Item value="levelInfo" title={intl.formatMessage({ id: 'member.management.maintain.detail.levelInfo' })} icon={<BarChartOutlined />} />
<Bookmark.Item value="equityInfo" title={intl.formatMessage({ id: 'member.management.maintain.detail.equityInfo' })} icon={<InsuranceOutlined />} />
<Bookmark.Item value="sincerityInfo" title={intl.formatMessage({ id: 'member.management.maintain.detail.sincerityInfo' })} icon={<BulbOutlined />} />
<Bookmark.Item value="membersAddressInfo" title={intl.formatMessage({ id: 'member.management.maintain.detail.membersAddressInfo' })} icon={<EnvironmentOutlined />} />
<Bookmark.Item value="membersInvoiceInfo" title={intl.formatMessage({ id: 'member.management.maintain.detail.membersInvoiceInfo' })} icon={<FileTextOutlined />} />
<Bookmark.Item value="changedInfo" title={intl.formatMessage({ id: 'member.management.maintain.detail.changedInfo' })} icon={<EditOutlined />} />
</Bookmark>
)}
......
/*
* @Author: LinZhongCong
* @Date: 2022-05-06 09:58
* @Description: 会员地址信息
*/
import React, { useState, useEffect, useContext } from 'react';
import { useIntl } from 'umi';
import { Card, Table } from 'antd';
import { getLogisticsReceiverAddressPageByMemberIdAndRoleId } from '@/services/LogisticsV2Api'
import MemberDetailsContext from '../../memberDetailsContext';
import PolymericTable from '@/components/PolymericTable';
interface TableItemType {
key?: React.Key,
receiverName: string,
fullAddress: string,
postalCode: string,
phone: string,
tel: string
}
interface TableDataType {
data: TableItemType[],
totalCount: number
}
const MembersAddressInfo = () => {
const intl = useIntl();
/* ----------------- 共享数据 ----------------- */
const contenxt = useContext(MemberDetailsContext);
const { details: memberInfo } = contenxt;
/* ----------------- state ----------------- */
const [params, setParams] = useState({current: 1, pageSize: 10})
const [tableData, setTableData] = useState<TableDataType>({
data: [],
totalCount: 0,
})
const [tableLoading, setTableLoading] = useState(false)
const tableColumn = [
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.receiverName' }, { default: '收货人姓名'}),
dataIndex: 'receiverName',
width: '161px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.fullAddress' }, { default: '收货地址'}),
dataIndex: 'fullAddress',
width: '527px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.postalCode' }, { default: '邮编'}),
dataIndex: 'postalCode',
width: '288px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.phone' }, { default: '手机号码'}),
dataIndex: 'phone',
width: '320px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.tel' }, { default: '电话号码'}),
dataIndex: 'tel',
width: '320px'
},
]
/* ----------------- 方法 ----------------- */
// 获取表格数据
const getTableData = async (page?: number, size?: number) => {
const mergeParams = {
memberId: memberInfo.memberId,
roleId: memberInfo.roleId,
current: page || params?.current,
pageSize: size || params?.pageSize,
};
setTableLoading(true)
try {
let res = await getLogisticsReceiverAddressPageByMemberIdAndRoleId(mergeParams)
if(res.code === 1000) {
setTableData(res.data)
}
setTableLoading(false)
} catch (err) {}
}
// 分页触发
const handlePaginationChange = (page: number, size: number) => {
setParams({current: page, pageSize: size})
getTableData(page, size)
}
useEffect(()=>{
contenxt.onAnchorsReady([]);
getTableData()
},[])
return (
<Card>
<p style={{lineHeight: '48px', fontSize: '14px', fontWeight: '500', color: '#252D37'}}>地址信息</p>
<PolymericTable
dataSource={tableData.data}
columns={tableColumn}
loading={tableLoading}
pagination={{
current: params.current,
pageSize: params.pageSize,
total: tableData.totalCount,
}}
onPaginationChange={handlePaginationChange}
/>
</Card>
)
}
export default MembersAddressInfo
\ No newline at end of file
/*
* @Author: LinZhongCong
* @Date: 2022-05-06 10:00
* @Description: 会员发票信息
*/
import React, { useState, useEffect, useContext } from 'react';
import { useIntl } from 'umi';
import { Card, Table } from 'antd';
import { getSettleAccountsInvoiceMessagePage } from '@/services/SettleV2Api'
import MemberDetailsContext from '../../memberDetailsContext';
import PolymericTable from '@/components/PolymericTable';
interface TableItemType {
key?: React.Key,
type: number,
invoiceTitle: string,
taxNo: string,
bankOfDeposit: string,
account: string,
address: string,
tel: string
}
interface TableDataType {
data: TableItemType[],
totalCount: number
}
const MembersInvoiceInfo = () => {
const intl = useIntl();
/* ----------------- 共享数据 ----------------- */
const contenxt = useContext(MemberDetailsContext);
const { details: memberInfo } = contenxt;
/* ----------------- state ----------------- */
const [params, setParams] = useState({current: 1, pageSize: 10})
const [tableData, setTableData] = useState<TableDataType>({
data: [],
totalCount: 0,
})
const [tableLoading, setTableLoading] = useState(false)
const tableColumn = [
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.type' }, { default: '发票类型'}),
dataIndex: 'type',
width: '161px',
render: (text) => text === 1 ? '企业' : '个人'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.invoiceTitle' }, { default: '发票抬头'}),
dataIndex: 'invoiceTitle',
width: '327px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.taxNo' }, { default: '纳税号'}),
dataIndex: 'taxNo',
width: '200px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.bankOfDeposit' }, { default: '开户行'}),
dataIndex: 'bankOfDeposit',
width: '200px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.account' }, { default: '账号'}),
dataIndex: 'account',
width: '200px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.address' }, { default: '地址'}),
dataIndex: 'address',
width: '368px'
},
{
title: intl.formatMessage({ id: 'member.management.maintain.detail.invoiceTel' }, { default: '电话号码'}),
dataIndex: 'tel',
width: '160px'
},
]
/* ----------------- 方法 ----------------- */
const getTableData = async (page?: number, size?: number) => {
const mergeParams = {
memberId: memberInfo.memberId,
roleId: memberInfo.roleId,
current: page || params?.current,
pageSize: size || params?.pageSize,
};
setTableLoading(true)
try {
let res = await getSettleAccountsInvoiceMessagePage(mergeParams)
if(res.code === 1000) {
setTableData(res.data)
}
setTableLoading(false)
} catch (err) {}
}
// 分页触发
const handlePaginationChange = (page: number, size: number) => {
setParams({current: page, pageSize: size})
getTableData(page, size)
}
useEffect(() => {
contenxt.onAnchorsReady([]);
getTableData()
},[])
return (
<Card>
<p style={{lineHeight: '48px', fontSize: '14px', fontWeight: '500', color: '#252D37'}}>开票信息</p>
<PolymericTable
dataSource={tableData.data}
columns={tableColumn}
loading={tableLoading}
pagination={{
current: params.current,
pageSize: params.pageSize,
total: tableData.totalCount,
}}
onPaginationChange={handlePaginationChange}
/>
</Card>
)
}
export default MembersInvoiceInfo
\ No newline at end of file
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