Commit 0f1a01df authored by FE-安焕焕's avatar FE-安焕焕 👣

修改表格样式

parent 03fc09c3
...@@ -53,7 +53,9 @@ ...@@ -53,7 +53,9 @@
"@antv/data-set": "^0.10.2", "@antv/data-set": "^0.10.2",
"antd": "^3.23.6", "antd": "^3.23.6",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"date-fns": "^2.16.1",
"dva": "^2.4.1", "dva": "^2.4.1",
"file-saver": "^2.0.5",
"lodash": "^4.17.11", "lodash": "^4.17.11",
"moment": "^2.24.0", "moment": "^2.24.0",
"omit.js": "^1.0.2", "omit.js": "^1.0.2",
......
...@@ -3,7 +3,6 @@ import React, { useState, useEffect, useRef } from 'react'; ...@@ -3,7 +3,6 @@ import React, { useState, useEffect, useRef } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout'; import { PageHeaderWrapper } from '@ant-design/pro-layout';
import ProTable from '@ant-design/pro-table'; import ProTable from '@ant-design/pro-table';
import LogisticsForm from './components/LogisticsForm'; import LogisticsForm from './components/LogisticsForm';
import OrderDetail from './components/OrderDetail';
import style from './styles.less'; import style from './styles.less';
import { import {
queryToSend, queryToSend,
...@@ -19,18 +18,30 @@ const TableList = props => { ...@@ -19,18 +18,30 @@ const TableList = props => {
const [companys, setCompanys] = useState([]); const [companys, setCompanys] = useState([]);
const [LogisticsModalVisible, handleModalVisible] = useState(false); const [LogisticsModalVisible, handleModalVisible] = useState(false);
const [skuList, setSkuList] = useState([]); const [skuList, setSkuList] = useState([]);
const [rowKeys, setRowKeys] = useState([]);
const [LogisticsData, setLogisticsData] = useState([{}]); const [LogisticsData, setLogisticsData] = useState([{}]);
const [QueryData, setQueryData] = useState({}); const [QueryData, setQueryData] = useState({});
const [ShowUpdateBtn] = useState([2, 5]); const [ShowUpdateBtn] = useState([2, 5]);
const actionRef = useRef(); const actionRef = useRef();
const renderContent = (record, key) =>
record.mchOrderSkuVoList.map((item, index) => (
<td
className={[
'tableContent',
index < record.mchOrderSkuVoList.length - 1 ? 'border' : null,
].join(' ')}
>
{item[key]}
</td>
));
const columns = [ const columns = [
{ {
title: '订单ID', title: '订单ID',
dataIndex: 'orderNo', dataIndex: 'orderNo',
key: 'orderNo', key: 'orderNo',
order: 6, order: 6,
width: 250,
fixed: 'left',
}, },
{ {
title: '商品名称', title: '商品名称',
...@@ -44,31 +55,88 @@ const TableList = props => { ...@@ -44,31 +55,88 @@ const TableList = props => {
dataIndex: 'orderTime', dataIndex: 'orderTime',
key: 'orderTime', key: 'orderTime',
hideInSearch: true, hideInSearch: true,
width: 200,
}, },
{ {
title: '收货人手机', title: '收货人手机',
dataIndex: 'receiverPhone', dataIndex: 'receiverPhone',
key: 'receiverPhone', key: 'receiverPhone',
order: 4, order: 4,
width: 150,
}, },
{ {
title: '收货人姓名', title: '收货人姓名',
dataIndex: 'receiverName', dataIndex: 'receiverName',
key: 'receiverName', key: 'receiverName',
order: 3, order: 3,
width: 120,
}, },
{ {
title: '收货地址', title: '收货地址',
dataIndex: 'fullAddress', dataIndex: 'fullAddress',
key: 'fullAddress', key: 'fullAddress',
hideInSearch: true, hideInSearch: true,
width: 160, width: 350,
},
{
title: '商品自编码',
dataIndex: 'orderSkuId',
key: 'orderSkuId',
width: 120,
hideInSearch: true,
className: 'colStyle',
render: (_, record) => renderContent(record, 'orderSkuId'),
},
{
title: '商品名称',
dataIndex: 'skuName',
key: 'skuName',
width: 400,
className: 'colStyle',
hideInSearch: true,
render: (_, record) => renderContent(record, 'skuName'),
},
{
title: '商品规格',
dataIndex: 'skuAttr',
key: 'skuAttr',
width: 100,
className: 'colStyle',
hideInSearch: true,
render: (_, record) => renderContent(record, 'skuAttr'),
},
{
title: '商品数量',
dataIndex: 'count',
key: 'count',
width: 100,
className: 'colStyle',
hideInSearch: true,
render: (_, record) => renderContent(record, 'count'),
},
{
title: '物流公司',
dataIndex: 'expressCompanyName',
key: 'expressCompanyName',
width: 100,
className: 'colStyle',
hideInSearch: true,
render: (_, record) => renderContent(record, 'expressCompanyName'),
},
{
title: '物流单号',
dataIndex: 'deliveryNo',
key: 'deliveryNo',
width: 180,
className: 'colStyle',
hideInSearch: true,
render: (_, record) => renderContent(record, 'deliveryNo'),
}, },
{ {
title: '订单状态', title: '订单状态',
dataIndex: 'orderStatus', dataIndex: 'orderStatus',
key: 'orderStatus', key: 'orderStatus',
width: 200, width: 100,
hideInSearch: true, hideInSearch: true,
valueEnum: { valueEnum: {
12: '待发货', 12: '待发货',
...@@ -95,7 +163,8 @@ const TableList = props => { ...@@ -95,7 +163,8 @@ const TableList = props => {
dataIndex: 'option', dataIndex: 'option',
key: 'option', key: 'option',
valueType: 'option', valueType: 'option',
width: 120, width: 150,
fixed: 'right',
render: (_, record) => ( render: (_, record) => (
<React.Fragment> <React.Fragment>
{ShowUpdateBtn.includes(record.skuSource.value) ? null : ( {ShowUpdateBtn.includes(record.skuSource.value) ? null : (
...@@ -140,23 +209,6 @@ const TableList = props => { ...@@ -140,23 +209,6 @@ const TableList = props => {
}; };
getCompanys(); getCompanys();
}, []); }, []);
const expandedRowRender = record => <OrderDetail value={record.mchOrderSkuVoList} />;
const getExpandId = data => {
const tableData = data.map(item => {
const temp = item;
temp.mchOrderSkuVoList = temp.mchOrderSkuVoList?.map(order => ({
...order,
orderStatus: item.orderStatus,
}));
return temp;
});
setRowKeys(data.map(item => item.orderId));
return tableData;
};
const updateExpandId = (b, r) => {
const newExp = b ? [...rowKeys, r.orderId] : rowKeys.filter(i => i !== r.orderId);
setRowKeys(newExp);
};
const uploadProps = { const uploadProps = {
name: 'file', name: 'file',
customRequest(info) { customRequest(info) {
...@@ -214,7 +266,7 @@ const TableList = props => { ...@@ -214,7 +266,7 @@ const TableList = props => {
onClick={() => { onClick={() => {
// eslint-disable-next-line no-unused-expressions // eslint-disable-next-line no-unused-expressions
form?.resetFields(); form?.resetFields();
setQueryData({ logisticsStatus: 1 }); setQueryData({ logisticsStatus: props.type || 1 });
}} }}
> >
{resetText} {resetText}
...@@ -224,16 +276,14 @@ const TableList = props => { ...@@ -224,16 +276,14 @@ const TableList = props => {
}; };
const toolBarRenderFn = () => [ const toolBarRenderFn = () => [
props.type === 2 ? null : ( <Button
<Button type="primary"
type="primary" onClick={() => {
onClick={() => { downOrder(QueryData);
downOrder(QueryData); }}
}} >
> 导出数据
导出数据 </Button>,
</Button>
),
]; ];
return ( return (
<PageHeaderWrapper> <PageHeaderWrapper>
...@@ -242,16 +292,14 @@ const TableList = props => { ...@@ -242,16 +292,14 @@ const TableList = props => {
actionRef={actionRef} actionRef={actionRef}
request={params => queryToSendFn({ ...params })} request={params => queryToSendFn({ ...params })}
columns={columns} columns={columns}
postData={getExpandId}
expandedRowRender={expandedRowRender}
expandedRowKeys={rowKeys}
rowKey={r => r.orderId} rowKey={r => r.orderId}
onExpand={updateExpandId}
toolBarRender={toolBarRenderFn} toolBarRender={toolBarRenderFn}
search={{ search={{
collapsed: false, collapsed: false,
optionRender: searchRender, optionRender: searchRender,
}} }}
bordered
scroll={{ x: 1500 }}
/> />
<LogisticsForm <LogisticsForm
onSubmit={reload} onSubmit={reload}
......
import { stringify } from 'querystring'; import { stringify } from 'querystring';
import _ from 'lodash'; import _ from 'lodash';
import request from '@/utils/request'; import request from '@/utils/request';
import { saveAs } from 'file-saver';
import { format } from 'date-fns';
import config from '../../../../config/env.config'; import config from '../../../../config/env.config';
// 待发货订单 // 待发货订单
...@@ -24,7 +26,7 @@ export async function queryToSend(params) { ...@@ -24,7 +26,7 @@ export async function queryToSend(params) {
// 快递公司 // 快递公司
export async function queryExpress() { export async function queryExpress() {
const { data = [] } = await request.get('/api/kdsp/op/express/list', { const { data } = await request.get('/api/kdsp/op/express/list', {
prefix: config.kdspApi, prefix: config.kdspApi,
}); });
return data; return data;
...@@ -61,8 +63,12 @@ export async function uploadFile(file) { ...@@ -61,8 +63,12 @@ export async function uploadFile(file) {
export function downTemplate() { export function downTemplate() {
window.location.href = `${config.kdspApi}/api/kdsp/op/mch-order/import-mould-download`; window.location.href = `${config.kdspApi}/api/kdsp/op/mch-order/import-mould-download`;
} }
export function downOrder(params) { export async function downOrder(params) {
window.location.href = `${config.kdspApi}/api/kdsp/op/mch-order/order-export?${stringify( const data = await request.post('/api/kdsp/op/mch-order/order-export', {
params, data: params,
)}`; prefix: config.kdspApi,
responseType: 'arrayBuffer',
});
const blob = new Blob([data]);
saveAs(blob, `商户订单列表-${format(new Date(), 'yyyyMMddHHmmss')}.xlsx`);
} }
.protable { .protable {
:global tr.ant-table-expanded-row { :global {
background-color: #fff; .tableContent {
display: flex;
align-items: flex-end;
height: 60px;
padding: 16px;
}
.border {
border-bottom: 1px solid #e8e8e8;
}
tbody .colStyle {
padding: 0;
}
} }
} }
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