import React from "react";
|
import { Table, Modal } from "antd";
|
import { getBusinessDataProbList } from "@/api/business";
|
import { errorLevelMap, errorReviewStateMap } from "../../common/constants";
|
import { formatDeletedString, buildImagePreviewUrl } from "../../common/common_func";
|
import CrudViewBase from "../../common/crud-view-base";
|
|
const { Column } = Table;
|
const PAGE_SIZE = 8;
|
|
class ErrorList extends CrudViewBase {
|
state = {
|
...this.state,
|
imagePreviewVisible: false,
|
imagePreviewImages: [],
|
};
|
|
// 不需要查询条件
|
initListBody() {
|
return {};
|
}
|
|
// 不需要额外初始化
|
initView() { }
|
|
// 获取全部数据(无分页)
|
getEntityList(pageInfo, listBody) {
|
// 强制 page size 很大,page=0
|
return getBusinessDataProbList({ page: 0, size: PAGE_SIZE }, listBody);
|
}
|
|
// 不需要增删改导出
|
editEntity() { }
|
deleteEntities() { }
|
exportEntities() { }
|
|
handleImagePreview = (images) => {
|
this.setState({ imagePreviewVisible: true, imagePreviewImages: images });
|
};
|
|
handleImagePreviewClose = () => {
|
this.setState({ imagePreviewVisible: false, imagePreviewImages: [] });
|
};
|
|
render() {
|
const { entities, imagePreviewVisible, imagePreviewImages } = this.state;
|
return (
|
<>
|
<Table
|
bordered
|
rowKey="id"
|
dataSource={entities}
|
pagination={false}
|
scroll={{ x: "100%" }}
|
>
|
<Column title="序号" dataIndex="id" key="id" align="center" ellipsis width={90} />
|
{/* <Column title="计划" key="planName" align="center" ellipsis render={(_, row) => formatDeletedString(row.planName)} /> */}
|
<Column title="项目" key="projectName" align="center" ellipsis render={(_, row) => formatDeletedString(row.projectName)} />
|
<Column title="检查内容" dataIndex="hierarchyName" key="hierarchyName" align="center" ellipsis />
|
{/* <Column title="隐患等级" dataIndex="level" key="level" ellipsis render={(_, row) => errorLevelMap[row.level]} /> */}
|
<Column title="复查状态" key="errorReviewState" align="center" ellipsis render={(_, row) => row.errorReviewState ? errorReviewStateMap[row.errorReviewState] : "未复查"} />
|
</Table>
|
<Modal
|
title="图片预览"
|
visible={imagePreviewVisible}
|
onCancel={this.handleImagePreviewClose}
|
footer={null}
|
className="fixed-size-modal"
|
destroyOnClose
|
>
|
<div className="image-container custom-modal">
|
{imagePreviewImages.map((image, idx) => (
|
<img
|
className="preview-image"
|
key={idx}
|
src={buildImagePreviewUrl(image)}
|
alt={`slide-${idx}`}
|
/>
|
))}
|
</div>
|
</Modal>
|
</>
|
);
|
}
|
}
|
|
export default ErrorList;
|