Commit 004f146a authored by GuanHua's avatar GuanHua

merge

parent f574a668
import React from 'react';
import { FilePdfFilled, FileWordFilled, FileFilled } from '@ant-design/icons';
import { PublicApi } from '@/services/api'
import styles from './index.less';
interface ContractItem {
electronicContractUrl?: string;
electronicContractName?: string;
};
interface ContractList {
dataSource: ContractItem[];
};
const IconMap = {
'.pdf': <FilePdfFilled />,
'.doc': <FileWordFilled />,
'.doxc': <FileWordFilled />,
};
const ContractItem: React.FC<ContractItem> = ({
electronicContractUrl,
electronicContractName,
}) => {
const index1 = electronicContractUrl.lastIndexOf('.');
const suffix = electronicContractUrl.slice(index1);
const index2 = electronicContractUrl.lastIndexOf('/');
// 如果没有文件名,但是有链接就从链接截取文件名
const fileName = electronicContractName ? electronicContractName : electronicContractUrl.slice(index2 + 1);
const handleDownload = (name, url) => {
window.location.href = `/api/order/contractTemplate/downloadContract?contractName=${name}&contractUrl=${url}`;
};
return (
<li className={styles['contractList-item']} onClick={() => handleDownload(fileName, electronicContractUrl)}>
<a>
<div className={styles['contractList-item-icon']}>
{IconMap[suffix] || <FileFilled />}
</div>
<div
className={styles['contractList-item-name']}
title={fileName}
>
{fileName}
</div>
</a>
</li>
);
};
const ContractList: React.FC<ContractList> = ({ dataSource }) => {
if (!Array.isArray(dataSource)) {
return <div className={styles.noData}>没有相关数据~</div>;
}
return (
<ul className={styles.contractList}>
{dataSource.map((item, index) => (
<ContractItem
key={index}
electronicContractUrl={item.electronicContractUrl}
electronicContractName={item.electronicContractName}
/>
))}
</ul>
);
};
import React from 'react';
import { FilePdfFilled, FileWordFilled, FileFilled } from '@ant-design/icons';
import { PublicApi } from '@/services/api'
import styles from './index.less';
interface ContractItem {
electronicContractUrl?: string;
electronicContractName?: string;
};
interface ContractList {
dataSource: ContractItem[];
};
const IconMap = {
'.pdf': <FilePdfFilled />,
'.doc': <FileWordFilled />,
'.doxc': <FileWordFilled />,
};
const ContractItem: React.FC<ContractItem> = ({
electronicContractUrl,
electronicContractName,
}) => {
const index1 = electronicContractUrl.lastIndexOf('.');
const suffix = electronicContractUrl.slice(index1);
const index2 = electronicContractUrl.lastIndexOf('/');
// 如果没有文件名,但是有链接就从链接截取文件名
const fileName = electronicContractName ? electronicContractName : electronicContractUrl.slice(index2 + 1);
const handleDownload = (name, url) => {
window.location.href = `/api/order/contractTemplate/downloadContract?contractName=${name}&contractUrl=${url}`;
};
return (
<li className={styles['contractList-item']} onClick={() => handleDownload(fileName, electronicContractUrl)}>
<a>
<div className={styles['contractList-item-icon']}>
{IconMap[suffix] || <FileFilled />}
</div>
<div
className={styles['contractList-item-name']}
title={fileName}
>
{fileName}
</div>
</a>
</li>
);
};
const ContractList: React.FC<ContractList> = ({ dataSource }) => {
if (!Array.isArray(dataSource)) {
return <div className={styles.noData}>没有相关数据~</div>;
}
return (
<ul className={styles.contractList}>
{dataSource.map((item, index) => (
<ContractItem
key={index}
electronicContractUrl={item.electronicContractUrl}
electronicContractName={item.electronicContractName}
/>
))}
</ul>
);
};
export default ContractList;
\ No newline at end of file
.titleAvator {
width:48px;
height:48px;
background:rgba(135,119,217,1);
border-radius:4px;
border:1px solid rgba(223,225,230,1);
line-height: 48px;
text-align: center;
color: #fff;
margin: 0 24px;
}
.titleAvatorText {
color: #303133;
font-size: 18px;
line-height: 20px;
}
.detailHeader {
background: #fff;
padding: 24px;
}
.detailCol {
display: flex;
margin-top: 20px;
color: #303133;
}
.colLabel {
color: #909399;
margin-right: 16px;
.titleAvator {
width:48px;
height:48px;
background:rgba(135,119,217,1);
border-radius:4px;
border:1px solid rgba(223,225,230,1);
line-height: 48px;
text-align: center;
color: #fff;
margin: 0 24px;
}
.titleAvatorText {
color: #303133;
font-size: 18px;
line-height: 20px;
}
.detailHeader {
background: #fff;
padding: 24px;
}
.detailCol {
display: flex;
margin-top: 20px;
color: #303133;
}
.colLabel {
color: #909399;
margin-right: 16px;
}
\ No newline at end of file
.wrapper {
padding: 24px;
.wrapper {
padding: 24px;
}
\ No newline at end of file
import React from 'react'
import style from './index.less'
export interface OrderDetailWrapperProps {}
const OrderDetailWrapper:React.FC<OrderDetailWrapperProps> = (props) => {
return (
<div className={style.wrapper}>{props.children}</div>
)
}
OrderDetailWrapper.defaultProps = {}
import React from 'react'
import style from './index.less'
export interface OrderDetailWrapperProps {}
const OrderDetailWrapper:React.FC<OrderDetailWrapperProps> = (props) => {
return (
<div className={style.wrapper}>{props.children}</div>
)
}
OrderDetailWrapper.defaultProps = {}
export default OrderDetailWrapper
\ 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