提交 444a3263 authored 作者: 钟是志's avatar 钟是志

图片上传组件预览

上级 83374e52
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
*/ */
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Modal, Popconfirm } from 'antd'; import { Modal, Popconfirm } from 'antd';
import { checkIsImage } from '@/webPublic/one_stop_public/libs/UploadCom';
const FileViewer = CLIENT_TYPE == 'mobile' ? null : require('react-file-viewer'); const FileViewer = CLIENT_TYPE == 'mobile' ? null : require('react-file-viewer');
export default class index extends Component { export default class index extends Component {
...@@ -12,6 +14,7 @@ export default class index extends Component { ...@@ -12,6 +14,7 @@ export default class index extends Component {
visible: false, visible: false,
}; };
} }
showModal = () => { showModal = () => {
this.setState({ this.setState({
visible: true, visible: true,
...@@ -33,66 +36,37 @@ export default class index extends Component { ...@@ -33,66 +36,37 @@ export default class index extends Component {
let { path, pathName } = this.props; let { path, pathName } = this.props;
window.open(path, '_blank'); window.open(path, '_blank');
}; };
render() { render() {
let { path, pathName, width, height } = this.props; let { path, pathName, width, height } = this.props;
const { visible } = this.state; const { visible } = this.state;
let isShow = let isShow = false;
pathName?.indexOf('.pdf') !== -1 ||
// || pathName?.indexOf('.doc') !== -1
pathName?.indexOf('.mp3') !== -1 ||
pathName?.indexOf('.mp4') !== -1 ||
pathName?.indexOf('.csv') !== -1 ||
pathName?.indexOf('.png') !== -1 ||
pathName?.indexOf('.jpeg') !== -1 ||
pathName?.indexOf('.gif') !== -1 ||
pathName?.indexOf('.bmp') !== -1 ||
pathName?.indexOf('.jpg') !== -1;
let type; let type;
let isImg; let isImg = checkIsImage(pathName);
if (pathName?.indexOf('.pdf') !== -1) { if (isImg) {
isShow = true;
isImg = false;
type = 'pdf';
} else if (pathName?.indexOf('.jpg') !== -1) {
isShow = true;
isImg = true;
type = 'jpg';
} else if (pathName?.indexOf('.mp3') !== -1) {
isShow = true;
isImg = false;
type = 'mp3';
} else if (pathName?.indexOf('.mp4') !== -1) {
isShow = true;
isImg = false;
type = 'mp4';
} else if (pathName?.indexOf('.csv') !== -1) {
isShow = true;
isImg = false;
type = 'csv';
} else if (pathName?.indexOf('.png') !== -1) {
isImg = true;
isShow = true; isShow = true;
type = 'png';
} else if (pathName?.indexOf('.gif') !== -1) {
isImg = true;
isShow = true;
type = 'gif';
} else if (pathName?.indexOf('.bmp') !== -1) {
isShow = true;
isImg = false;
type = 'bmp';
} else { } else {
isShow = false; let find = ['.pdf', '.mp3', '.mp4', '.csv'].find((x) => {
return pathName.indexOf(x) > -1;
});
if (find) {
isShow = true;
} }
}
if(isShow){
type = pathName.split('.');
type = Array.isArray(type) && type.length && type[type.length - 1];
}
return ( return (
<> <>
{isShow ? ( {isShow ? (
<Popconfirm <Popconfirm
title="该附件支持预览,是否预览?" title='该附件支持预览,是否预览?'
onConfirm={this.download} onConfirm={this.download}
onCancel={this.showModal} onCancel={this.showModal}
okText="下载" okText='下载'
cancelText="预览"> cancelText='预览'>
{isImg ? ( {isImg ? (
<img <img
style={{ style={{
...@@ -103,13 +77,13 @@ export default class index extends Component { ...@@ -103,13 +77,13 @@ export default class index extends Component {
alt={pathName} alt={pathName}
/> />
) : ( ) : (
<a target="_blank" href={path}> <a target='_blank' href={path}>
{pathName} {pathName}
</a> </a>
)} )}
</Popconfirm> </Popconfirm>
) : ( ) : (
<a target="_blank" href={path}> <a target='_blank' href={path}>
{pathName} {pathName}
</a> </a>
)} )}
......
...@@ -10,7 +10,7 @@ export function checkIsImage(path){ ...@@ -10,7 +10,7 @@ export function checkIsImage(path){
return false; return false;
} }
let p = path.toLowerCase(); let p = path.toLowerCase();
let find = ['.jpg','.png', '.jpeg', '.bmp', '.gif'].find((x) => { let find = ['.jpg','.png', '.jpeg', '.bmp', '.gif', '.bmp', '.svg'].find((x) => {
return path.indexOf(x) > -1; return path.indexOf(x) > -1;
}); });
return !!find; return !!find;
......
...@@ -1562,7 +1562,7 @@ export default class tableCom extends Component { ...@@ -1562,7 +1562,7 @@ export default class tableCom extends Component {
); );
break; break;
case 'ImgUploadCom': case 'ImgUploadCom': // 图片上传组件
if (value == null || value == '') { if (value == null || value == '') {
cm = <div style={{ width: json.width, height: json.height }} />; cm = <div style={{ width: json.width, height: json.height }} />;
} else { } else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论