/*
|
* @Company: hugeInfo
|
* @Author: lwh
|
* @Date: 2022-03-08 09:32:36
|
* @LastEditTime: 2022-03-30 16:01:00
|
* @LastEditors: lwh
|
* @Version: 1.0.0
|
* @Description: 客户管理-详情
|
*/
|
import React, { useState, useEffect } from 'react';
|
import { useParams } from 'react-router-dom';
|
import PageHead from '../../../components/PageHead';
|
import { Dropdown, Menu, Card, Typography, message, Divider, Descriptions, Modal, Spin, Popconfirm } from 'antd';
|
import * as $$ from '../../../utils/utility';
|
import SelectTree from '../../../components/edition/SelectTree';
|
import moment from 'moment';
|
import { EllipsisOutlined, DeleteOutlined, EyeOutlined, EyeInvisibleOutlined } from '@ant-design/icons';
|
import './index.less';
|
|
const { Link } = Typography;
|
// 查询列表 版本
|
function listQueryRsVersion(name) {
|
return $$.ax.request({ url: 'v1/rsVersion/listQuery', type: 'get', data: { name }, service: 'oper' });
|
}
|
|
// 查询列表 增强包
|
function listQueryRsMeal(name) {
|
return $$.ax.request({ url: 'v1/rsMeal/listQuery', type: 'get', data: { name }, service: 'oper' });
|
}
|
|
// 客户管理详情
|
function getByIdSeCustom(id) {
|
return $$.ax.request({ url: 'v1/seCustom/getById', type: 'get', data: { id }, service: 'oper' });
|
}
|
|
//版本详情
|
function getByIdRsVersion(id) {
|
return $$.ax.request({ url: 'v1/rsVersion/getById', type: 'get', data: { id }, service: 'oper' });
|
}
|
|
//详情 增强包
|
function getByIdRsMeal(id) {
|
return $$.ax.request({ url: 'v1/rsMeal/getById', type: 'get', data: { id }, service: 'oper' });
|
}
|
|
//版本历史记录
|
function listQueryCustVerHis(custId) {
|
return $$.ax.request({ url: 'v1/custVerHis/listQuery', type: 'get', data: { custId }, service: 'oper' });
|
}
|
|
//增强包历史记录
|
function listQueryCustMealHis(custId) {
|
return $$.ax.request({ url: 'v1/custMealhis/listQuery', type: 'get', data: { custId }, service: 'oper' });
|
}
|
|
// 收款记录详情
|
function getByIdCustPay(id) {
|
return $$.ax.request({ url: 'v1/custPay/getById', type: 'get', data: { id }, service: 'oper' });
|
}
|
|
//删除增强包
|
function removeByIds(ids, names, custId) {
|
return $$.ax.request({ url: 'v1/custMealhis/removeByIds', type: 'get', data: { ids, names, custId }, service: 'oper' });
|
}
|
|
const CustomerInfo = () => {
|
const [formData, setFormData] = useState({});
|
const [mealList, setMealList] = useState([]);
|
const [pay, setPay] = useState({});
|
const [seCustom, setSeCustom] = useState({});
|
const [modal, setModal] = useState(false);
|
const [modalTitle, setModalTitle] = useState('');
|
const [hisList, setHisList] = useState([]);
|
const [hisData, setHisData] = useState({});
|
const [hisModal, setHisModal] = useState(false);
|
const [loading, setLoading] = useState(false);
|
const [hisTitle, setHisTitle] = useState('');
|
// 密码显示or隐藏
|
const [psdOpenId, setPsdOpenId] = useState(false);
|
const params = useParams();
|
//1.收款信息折叠 2.收款信息打开
|
const [MoenyInfoStatus, setMoenyInfoStatus] = useState(1);
|
|
//初始化组件回显
|
useEffect(() => {
|
getOrganization();
|
}, []);
|
|
const getOrganization = async () => {
|
setLoading(true);
|
const requestObj = await getByIdSeCustom(params.id);
|
setLoading(false);
|
setMealList(requestObj.data.mealList || []);
|
setPay(requestObj.data.pay || {});
|
setSeCustom(requestObj.data.seCustom || {});
|
};
|
|
//删除增强包
|
const delconfirm = async (ids, names, custId) => {
|
setLoading(true);
|
const res = await removeByIds(ids, names, custId);
|
setLoading(false);
|
if (res.type) {
|
message.success('删除成功!');
|
getOrganization();
|
}
|
};
|
|
const changeMoenyInfo = () => {
|
// const { MoenyInfoStatus } = this.state;
|
// this.setState({ MoenyInfoStatus: MoenyInfoStatus == 1 ? 2 : 1 });
|
setMoenyInfoStatus(MoenyInfoStatus == 1 ? 2 : 1);
|
};
|
|
// 版本查看
|
const detailVersion = async (id) => {
|
const requestObj = await getByIdRsVersion(id);
|
setFormData(requestObj.data);
|
setModal(true);
|
setModalTitle('版本详情');
|
};
|
|
//增强包详情
|
const detailMeal = async (id) => {
|
const requestObj = await getByIdRsMeal(id);
|
setFormData(requestObj.data);
|
setModal(true);
|
setModalTitle('增强包详情');
|
};
|
|
//关闭弹窗
|
const cancelModal = () => {
|
setModal(false);
|
};
|
|
//版本订购记录
|
const InfoVersion = async (id) => {
|
const requestObj = await listQueryCustVerHis(id);
|
setHisList(requestObj.data);
|
setHisModal(true);
|
setHisTitle('版本记录');
|
};
|
//增强包记录
|
const InfoMeal = async (id) => {
|
const requestObj = await listQueryCustMealHis(id);
|
setHisList(requestObj.data);
|
setHisModal(true);
|
setHisTitle('增强包记录');
|
};
|
//收款记录
|
const InfoPayee = async (id) => {
|
const requestObj = await getByIdCustPay(id);
|
setHisData(requestObj.data);
|
setHisModal(true);
|
setHisTitle('收款记录');
|
};
|
|
//关闭弹窗
|
const cancelHisModal = () => {
|
setHisModal(false);
|
};
|
|
return (
|
<>
|
<Spin spinning={loading}>
|
<PageHead
|
breadcrumbData={[{ title: '客户管理', url: '/operation/customer' }, { title: '客户详情' }]}
|
title={params.title ? params.title : '客户详情'}
|
/>
|
<div className="customer-detail-main">
|
<Card title="客户信息" style={{ margin: '24px' }}>
|
<Descriptions>
|
<Descriptions.Item label="客户名称">{seCustom.trueName}</Descriptions.Item>
|
<Descriptions.Item label="管理员账号">{seCustom.acc}</Descriptions.Item>
|
<Descriptions.Item label="密码">
|
{psdOpenId ? (
|
<>
|
<span>{seCustom.cipherOpen}</span>
|
<EyeOutlined style={{ paddingLeft: '24px' }} onClick={() => setPsdOpenId(false)} />
|
</>
|
) : (
|
<>
|
<span>********</span>
|
<EyeInvisibleOutlined style={{ paddingLeft: '24px' }} onClick={() => setPsdOpenId(true)} />
|
</>
|
)}
|
</Descriptions.Item>
|
<Descriptions.Item label="负责人">{seCustom.dutyName}</Descriptions.Item>
|
<Descriptions.Item label="联系地址">{seCustom.addr}</Descriptions.Item>
|
<Descriptions.Item label="地域">{`${seCustom.provName || '-'}/${seCustom.cityName || '-'}/${
|
seCustom.areaName || '-'
|
}`}</Descriptions.Item>
|
<Descriptions.Item label="平台访问url">{seCustom.url}</Descriptions.Item>
|
<Descriptions.Item label="备注">{seCustom.remake}</Descriptions.Item>
|
</Descriptions>
|
</Card>
|
<Card
|
title="订购信息"
|
extra={
|
<Dropdown
|
overlay={
|
<Menu>
|
<Menu.Item>
|
<Typography.Link onClick={() => InfoVersion(seCustom.id)} style={{ marginRight: 8, color: '#000' }}>
|
版本订购记录
|
</Typography.Link>
|
</Menu.Item>
|
<Menu.Item>
|
<Typography.Link onClick={() => InfoMeal(seCustom.id)} style={{ marginRight: 8, color: '#000' }}>
|
增强包订购记录
|
</Typography.Link>
|
</Menu.Item>
|
<Menu.Item>
|
<Typography.Link onClick={() => InfoPayee(seCustom.id)} style={{ marginRight: 8, color: '#000' }}>
|
收款记录记录
|
</Typography.Link>
|
</Menu.Item>
|
</Menu>
|
}
|
placement="bottomRight"
|
arrow
|
>
|
<Typography.Link style={{ marginRight: 8 }}>
|
<EllipsisOutlined style={{ fontSize: '16px' }} />
|
</Typography.Link>
|
</Dropdown>
|
}
|
style={{ margin: '24px' }}
|
>
|
<Descriptions>
|
<Descriptions.Item label="用户数">{seCustom.uses}</Descriptions.Item>
|
<Descriptions.Item label="空间资源">{seCustom.space}</Descriptions.Item>
|
</Descriptions>
|
<Descriptions title="当前版本">
|
<Descriptions.Item label="名称">{seCustom.verName}</Descriptions.Item>
|
<Descriptions.Item label="开通时间">{seCustom.openTime ? moment(seCustom.openTime).format('YYYY-MM-DD') : ''}</Descriptions.Item>
|
<Descriptions.Item label="到期时间">{seCustom.expireTime ? moment(seCustom.expireTime).format('YYYY-MM-DD') : ''}</Descriptions.Item>
|
<Descriptions.Item label="详情">
|
<a
|
onClick={() => {
|
detailVersion(seCustom.verId);
|
}}
|
>
|
查看
|
</a>
|
</Descriptions.Item>
|
</Descriptions>
|
<Descriptions title={`当前增强包`}>
|
{mealList.map((item, idx) => (
|
<React.Fragment key={idx}>
|
<Descriptions.Item style={{ display: 'flex', alignItems: 'center' }} label="名称">
|
<div style={{ marginRight: '24px' }}>{item.mealName}</div>
|
<Popconfirm
|
title="确定删除该增强包吗?"
|
onConfirm={() => delconfirm(item.mealId, item.mealName, seCustom.id)}
|
okText="删除"
|
cancelText="取消"
|
>
|
<Link>
|
<DeleteOutlined />
|
</Link>
|
</Popconfirm>
|
</Descriptions.Item>
|
<Descriptions.Item label="开通时间">{moment(item.openTime).format('YYYY-MM-DD')} </Descriptions.Item>
|
<Descriptions.Item label="详情">
|
<a
|
onClick={() => {
|
detailMeal(item.mealId);
|
}}
|
>
|
查看
|
</a>
|
</Descriptions.Item>
|
</React.Fragment>
|
))}
|
</Descriptions>
|
|
<Descriptions title={`收款信息`}>
|
<Descriptions.Item label="累计应收">
|
<span style={{ fontWeight: '600' }}>¥{seCustom.planPrice || 0}元</span>
|
</Descriptions.Item>
|
<Descriptions.Item label="累计实收">
|
<span style={{ fontWeight: '600' }}>¥{seCustom.payPrice || 0}元</span>
|
</Descriptions.Item>
|
<Descriptions.Item label="剩余未收">
|
<span style={{ fontWeight: '600' }}>
|
¥
|
{seCustom.planPrice &&
|
seCustom.payPrice &&
|
(seCustom.planPrice - seCustom.payPrice > 0 ? seCustom.planPrice - seCustom.payPrice : 0)}
|
元
|
</span>
|
</Descriptions.Item>
|
</Descriptions>
|
<Descriptions title="最近收款信息">
|
<Descriptions.Item label="收款金额">
|
<span style={{ fontWeight: '600' }}>{`¥${pay.payPrice || 0}元`}</span>
|
</Descriptions.Item>
|
<Descriptions.Item label="收款时间">{pay.payTime ? moment(pay.payTime).format('YYYY-MM-DD') : ''}</Descriptions.Item>
|
<Descriptions.Item label="操作人">xx</Descriptions.Item>
|
<Descriptions.Item label="备注">{pay.remake}</Descriptions.Item>
|
{MoenyInfoStatus == 2 && (
|
<React.Fragment>
|
<Descriptions.Item label="付款单位">{pay.payUnit}</Descriptions.Item>
|
<Descriptions.Item label="付款账号">{pay.payNum}</Descriptions.Item>
|
<Descriptions.Item label="税号">{pay.dutyNum}</Descriptions.Item>
|
<Descriptions.Item label="开票类型">{pay.billType}</Descriptions.Item>
|
</React.Fragment>
|
)}
|
<Descriptions.Item label="更多信息">
|
<a
|
onClick={() => {
|
changeMoenyInfo();
|
}}
|
>
|
{MoenyInfoStatus == 2 ? '收起' : '展开'}
|
</a>
|
</Descriptions.Item>
|
</Descriptions>
|
</Card>
|
</div>
|
</Spin>
|
<Modal maskClosable onCancel={cancelModal} width={'60%'} title={modalTitle} footer={false} visible={modal}>
|
<div>
|
{/* 版本详情 */}
|
{modalTitle == '版本详情' && (
|
<table width="100%" border="0" cellSpacing="1" cellPadding="4" bgcolor="#cccccc" className="tabtop">
|
<tr>
|
<td className="edition-view-first">版本名称</td>
|
<td colSpan="4" className="font-left padding-left">
|
{formData.name || ''}
|
</td>
|
<td className="edition-view-first">价格</td>
|
<td colSpan="4" className="font-left padding-left">
|
{formData.price ? `${formData.price}元` : ''}
|
</td>
|
<td className="edition-view-first">期限</td>
|
<td colSpan="4" className="font-left padding-left">
|
{formData.dead ? `${formData.dead}天` : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">用户数</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.uses ? `${formData.uses}个` : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">空间资源</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.space ? `${formData.space}G` : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">功能</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.versionTrees ? (
|
formData.versionTrees.filter((item) => item.appClient == '1').length > 0 ? (
|
<SelectTree
|
text={'客户PC端'}
|
list={formData.versionTrees ? formData.versionTrees.filter((item) => item.appClient == '1') : []}
|
disabled={true}
|
/>
|
) : null
|
) : null}
|
{formData.versionTrees ? (
|
formData.versionTrees.filter((item) => item.appClient == '2').length > 0 ? (
|
<SelectTree
|
text={'当事人小程序'}
|
list={formData.versionTrees ? formData.versionTrees.filter((item) => item.appClient == '2') : []}
|
disabled={true}
|
/>
|
) : null
|
) : null}
|
{formData.versionTrees ? (
|
formData.versionTrees.filter((item) => item.appClient == '3').length > 0 ? (
|
<SelectTree
|
text={'调解员小程序'}
|
list={formData.versionTrees ? formData.versionTrees.filter((item) => item.appClient == '3') : []}
|
disabled={true}
|
/>
|
) : null
|
) : null}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">操作人</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.editing ? formData.editing : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">操作时间</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.createTime ? moment(formData.createTime).format('YYYY-MM-DD') : ''}
|
</td>
|
</tr>
|
</table>
|
)}
|
{/* 增强包详情 */}
|
{modalTitle == '增强包详情' && (
|
<table width="100%" border="0" cellSpacing="1" cellPadding="4" bgcolor="#cccccc" className="tabtop">
|
<tr>
|
<td className="edition-view-first">版本名称</td>
|
<td colSpan="4" className="font-left padding-left">
|
{formData.name || ''}
|
</td>
|
<td className="edition-view-first">价格</td>
|
<td colSpan="4" className="font-left padding-left">
|
{formData.price ? `${formData.price}元` : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">用户数</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.uses ? `${formData.uses}个` : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">空间资源</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.space ? `${formData.space}G` : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">功能</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.versionTrees ? (
|
formData.versionTrees.filter((item) => item.appClient == '1').length > 0 ? (
|
<SelectTree
|
text={'客户PC端'}
|
list={formData.versionTrees ? formData.versionTrees.filter((item) => item.appClient == '1') : []}
|
disabled={true}
|
/>
|
) : null
|
) : null}
|
{formData.versionTrees ? (
|
formData.versionTrees.filter((item) => item.appClient == '2').length > 0 ? (
|
<SelectTree
|
text={'当事人小程序'}
|
list={formData.versionTrees ? formData.versionTrees.filter((item) => item.appClient == '2') : []}
|
disabled={true}
|
/>
|
) : null
|
) : null}
|
{formData.versionTrees ? (
|
formData.versionTrees.filter((item) => item.appClient == '3').length > 0 ? (
|
<SelectTree
|
text={'调解员小程序'}
|
list={formData.versionTrees ? formData.versionTrees.filter((item) => item.appClient == '3') : []}
|
disabled={true}
|
/>
|
) : null
|
) : null}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">操作人</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.editing ? formData.editing : ''}
|
</td>
|
</tr>
|
<tr>
|
<td className="edition-view-first">操作时间</td>
|
<td colSpan="12" className="font-left padding-left">
|
{formData.createTime ? moment(formData.createTime).format('YYYY-MM-DD') : ''}
|
</td>
|
</tr>
|
</table>
|
)}
|
</div>
|
</Modal>
|
{/* const [hisList, setHisList] = useState([]);
|
const [hisModal, setHisModal] = useState(false);
|
const [hisTitle, setHisTitle] = useState(''); */}
|
<Modal
|
maskClosable
|
onCancel={cancelHisModal}
|
width={hisTitle == '收款记录' ? '80%' : hisTitle == '增强包记录' ? '50%' : hisTitle == '版本记录' ? '60%' : '80%'}
|
title={hisTitle}
|
footer={false}
|
visible={hisModal}
|
>
|
{hisTitle == '版本记录' && (
|
<table width="100%" border="0" cellSpacing="1" cellPadding="4" bgcolor="#cccccc" className="tabtop">
|
<tr>
|
<td className="edition-view-first font-left padding-left font-weight">版本名称</td>
|
<td className="edition-view-first font-left padding-left font-weight">价格</td>
|
<td className="edition-view-first font-left padding-left font-weight">开通时间</td>
|
<td className="edition-view-first font-left padding-left font-weight">到期时间</td>
|
<td className="edition-view-first font-left padding-left font-weight">操作人</td>
|
<td className="edition-view-first font-left padding-left font-weight">操作时间</td>
|
</tr>
|
{hisList.map((item, index) => (
|
<tr key={index}>
|
<td colSpan="1" className="font-left padding-left">
|
{item.verName}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.price}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.openTime ? moment(item.openTime).format('YYYY-MM-DD') : ''}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.expireTime ? moment(item.expireTime).format('YYYY-MM-DD') : ''}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.editing}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.createTime ? moment(item.createTime).format('YYYY-MM-DD hh:mm') : ''}
|
</td>
|
</tr>
|
))}
|
</table>
|
)}
|
{hisTitle == '增强包记录' && (
|
<table width="100%" border="0" cellSpacing="1" cellPadding="4" bgcolor="#cccccc" className="tabtop">
|
<tr>
|
<td className="edition-view-first font-left padding-left font-weight">版本名称</td>
|
<td className="edition-view-first font-left padding-left font-weight">价格</td>
|
<td className="edition-view-first font-left padding-left font-weight">增强包开通日期</td>
|
<td className="edition-view-first font-left padding-left font-weight">操作人</td>
|
<td className="edition-view-first font-left padding-left font-weight">操作时间</td>
|
</tr>
|
{hisList.map((item, index) => (
|
<tr key={index}>
|
<td colSpan="1" className="font-left padding-left">
|
{item.mealName}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.price}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.createTime ? moment(item.createTime).format('YYYY-MM-DD') : ''}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.editing}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.createTime ? moment(item.createTime).format('YYYY-MM-DD hh:mm') : ''}
|
</td>
|
</tr>
|
))}
|
</table>
|
)}
|
{hisTitle == '收款记录' && (
|
<div style={{ display: 'flex' }}>
|
<div style={{ width: '260px' }}>
|
{hisData.custVerHis.map((item, index) => (
|
<div style={{ padding: '12px' }}>
|
<span style={{ display: 'inline-block', width: '80px' }}>{item.verName}</span>
|
<span style={{ paddingLeft: '6px' }}>{item.openTime ? moment(item.openTime).format('YYYY-MM-DD') : ''}开通</span>
|
</div>
|
))}
|
{hisData.mealhis.map((item, index) => (
|
<div style={{ padding: '12px' }}>
|
<span style={{ display: 'inline-block', width: '80px' }}>{item.mealName}</span>
|
<span style={{ paddingLeft: '6px' }}>{item.createTime ? moment(item.createTime).format('YYYY-MM-DD') : ''}开通</span>
|
</div>
|
))}
|
</div>
|
<Divider style={{ color: '#e8e8e8', minHeight: '70vh' }} type="vertical" />
|
<div style={{ padding: '12px', width: '100%' }}>
|
<Descriptions style={{ width: '100%', backgroundColor: '#ffffff' }}>
|
<Descriptions.Item label="累计应收">
|
<span style={{ fontWeight: '600' }}>¥{hisData.planPrice}元</span>
|
</Descriptions.Item>
|
<Descriptions.Item label="累计实收">
|
<span style={{ fontWeight: '600' }}>¥{hisData.payPrice}元</span>
|
</Descriptions.Item>
|
<Descriptions.Item label="剩余未收">
|
<span style={{ fontWeight: '600' }}>¥{hisData.notPrice}元</span>
|
</Descriptions.Item>
|
<Descriptions.Item label="累计收款次数">{hisData.priceCount}</Descriptions.Item>
|
</Descriptions>
|
|
<Descriptions title="收款记录" layout="vertical" bordered>
|
<table width="100%" border="0" cellSpacing="1" cellPadding="4" bgcolor="#cccccc" className="tabtop">
|
<tr>
|
<td className="edition-view-first font-left padding-left font-weight">收款金额</td>
|
<td className="edition-view-first font-left padding-left font-weight">收款时间</td>
|
<td className="edition-view-first font-left padding-left font-weight">付款单位</td>
|
<td className="edition-view-first font-left padding-left font-weight">付款账号</td>
|
<td className="edition-view-first font-left padding-left font-weight">税号</td>
|
<td className="edition-view-first font-left padding-left font-weight">开票类型</td>
|
<td className="edition-view-first font-left padding-left font-weight">备注</td>
|
<td className="edition-view-first font-left padding-left font-weight">操作人</td>
|
<td className="edition-view-first font-left padding-left font-weight">操作时间</td>
|
</tr>
|
{hisData.custPayList.map((item, index) => (
|
<tr key={index}>
|
<td colSpan="1" className="font-left padding-left">
|
{item.payPrice}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.payTime ? moment(item.payTime).format('YYYY-MM-DD') : ''}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.payUnit}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.payNum}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.dutyNum}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.billType}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.remake}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.editing}
|
</td>
|
<td colSpan="1" className="font-left padding-left">
|
{item.createTime ? moment(item.createTime).format('YYYY-MM-DD hh:mm') : ''}
|
</td>
|
</tr>
|
))}
|
</table>
|
</Descriptions>
|
</div>
|
</div>
|
)}
|
</Modal>
|
</>
|
);
|
};
|
|
export default CustomerInfo;
|