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) => (
{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 || '-'}
内部丢失