import React, { useState, useEffect, useRef } from 'react'; import { Form, Input, Button, Table, Row, Col, Select, Modal, DatePicker, Space, message } from 'antd'; import moment from "moment"; import "moment/locale/zh-cn" import '@common/common.less'; import './index.less' import apiObj from '@api/index'; import EditBlock from './editBlock'; import BlockContext from './block-context'; import { disabledDate } from '@utils/index' const { post, api, xPost } = apiObj; const { RangePicker } = DatePicker; const { Option } = Select; function BlockLossManage() { useEffect(() => { getBlockLossPage(); blockLossTypeGather() }, []); const [blockList, setBlockList] = useState([]); const [total, setTotal] = useState(0); const [title, setTitle] = useState(0); const [visible, setVisible] = useState(false); const [size, setSize] = useState(15); const [current, setCurrent] = useState(1); const [type, setType] = useState(null); const [blockData, setBlockData] = useState({}); const [blockDetail, setBlockDetail] = useState(null);//详情数据 const [params, setParams] = useState({ pages: 1, current: 1, size: 15 }); const [form] = Form.useForm(); let data = { pages: 1, current: 1, size: size } //表格数据 function getBlockLossPage(param) { post(api.getBlockLossPage, param || params).then((res) => { if (res.data.code === 200) { const data = res.data.data; setBlockList(data.records); setTotal(data.total) } }) } //丢失量分类汇总 function blockLossTypeGather(startDate, endDate) { post(api.blockLossTypeGather, { startDate: startDate || params.startDate, endDate: endDate || params.endDate }).then((res) => { if (res.data.code === 200) { const data = res.data.data; setBlockData(data) } }) } //修改 function showModal(title, row, type) { setVisible(true) setBlockDetail(row) setTitle(title) setType(type) } function onSizeChange(current, pageSize) { params.current = current params.size = pageSize setSize(pageSize) setCurrent(current) setParams(params) getBlockLossPage() } function changePage(page, pageSize) { params.current = page params.size = pageSize setParams(params) setCurrent(page) getBlockLossPage() } //返回 function cancel() { setVisible(false) setBlockDetail(null) } function userChange() { setVisible(false) getBlockLossPage(); } const onFinish = (value) => { if (value.time) { value.startDate = moment(value.time[0]).format('YYYY-MM-DD 00:00:00'); value.endDate = moment(value.time[1]).format('YYYY-MM-DD 23:23:59'); } delete value.time const param = { ...data, ...value, } setCurrent(1) setParams(param) getBlockLossPage(param); blockLossTypeGather(value.startDate, value.endDate) }; const onReset = () => { setCurrent(1) setParams(data) form.resetFields(); getBlockLossPage(data); }; const columns = [ { title: '序号', dataIndex: 'index', render: (text, record, index) => (current - 1) * params.size + index + 1 }, { title: '住院序号', dataIndex: 'behospitalCode', key: 'behospitalCode' }, { title: '文书编号', dataIndex: 'recId', key: 'recId' }, { title: '文书标题', dataIndex: 'recTitle', key: 'recTitle' }, { title: '丢失原因', dataIndex: 'lossCause', key: 'lossCause' }, { title: '丢失类型', dataIndex: 'lossType', key: 'lossType', render: (text, record) => { return ({record.lossType == 0 ? '文书丢失' : record.lossType == 1 ? '病案首页丢失' : record.lossType == 2 ? '患者信息丢失' : ''}); } }, { title: '丢失途径', dataIndex: 'lossWay', key: 'lossWay', render: (text, record) => { return ({record.lossWay == 0 ? '外部丢失' : record.lossWay == 1 ? '内部丢失' : ''}); } }, { title: '更新时间', dataIndex: 'auditTime', key: 'auditTime' }, { title: '状态', key: 'status', render: (text, record) => { return ({record.status == 0 ? '已丢失' : record.status == 1 ? '已恢复' : ''}); } }, { title: '审核结果', key: 'isAudited', render: (text, record) => { return ({record.isAudited == 0 ? '审核未通过' : record.isAudited == 1 ? '审核通过' : record.isAudited == 2 ? '未核查' : ''}); } }, { title: '操作', dataIndex: 'key', render: (text, record) => ( showModal('修改病历数据块丢失明细', record, 3)}>修改 ) } ]; return (

病历数据块丢失明细

{blockData.hisNum || '-'}

His

{blockData.logNum || '-'}

接口日志

{blockData.realNum || '-'}

实际

{blockData.allLossNum || '-'}

合计丢失

{blockData.outRecNum || '-'}

文书丢失

{blockData.outHomePageNum || '-'}

病案首页丢失

{blockData.outCodeNum || '-'}

病历号丢失

{blockData.outLossNum || '-'}

外部丢失

{blockData.inRecNum || '-'}

文书丢失

{blockData.inHomePageNum || '-'}

病案首页丢失

{blockData.inCodeNum || '-'}

病历号丢失

{blockData.inLossNum || '-'}

内部丢失

record.id} pagination={{ pageSize: size, size: 'small', current: current, showSizeChanger: true, pageSizeOptions: ['15', '30', '60', '120'], showTotal: (total, range) => `第${range[0]}-${range[1]} 条/共 ${total} 条数据`, onShowSizeChange: (current, pageSize) => onSizeChange(current, pageSize), // 改变每页数量时更新显示 onChange: (page, pageSize) => changePage(page, pageSize),//点击页码事件 total: total }} /> {visible && blockDetail ? : ''} ) } export default BlockLossManage;