import React, { useState, useEffect } from 'react';
import { useSelector } from 'react-redux';
import { Empty,ConfigProvider,Form, Input, Button, Table, Select, Space, Modal, message, Row, Col } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
import AddTerm from '../DiagManager/addDiag'
import '@common/common.less';
import apiObj from '@api/index';
const { post, api } = apiObj;
const { Option } = Select;
//获取列表
function SurgManager() {
const { surgeryNum } = useSelector((state) => {
return state.userInfo;
});
useEffect(() => {
setSize(15)
setCurrent(1)
form.resetFields();
getSurgeryPage();
}, [surgeryNum]);
const [SurgList, setSurgList] = useState([]);//当前页列表数据
const [Surgid, setSurgid] = useState([]);//当前操作行id
const [title, setTitle] = useState("");//新增/修改的弹窗标题
const [visible, setVisible] = useState(false);//新增修改 弹窗
const [loading, setloading] = useState(true);//是否显示加载中
const [flag, setFlag] = useState(false);//新增1或修改3
const [delvisible, setDelvisible] = useState(false);//删除 弹窗
const [formData, setFormData] = useState({});//当前行数据
const [size, setSize] = useState(15);//每页显示条数
const [total, setTotal] = useState(0);
const [current, setCurrent] = useState(1);//当前页
const [params, setParams] = useState({
pages: 1,
current: 1,
size: 15
});
const [form] = Form.useForm();
let data = {
pages: 1,
current: 1,
size: 15
}
//新增/修改 弹窗flag=1新增,3修改
const showModal = (name, flag1, Surgrow) => {
setVisible(true);
setFlag(flag1)
setTitle(name);console.log(flag)
if (flag1 === 1) {
setFormData({
status: 1,
uniqueName:'',
hisName:''
})
}else if (flag1 === 3) {
console.log(33,Surgrow)
setFormData(Surgrow)
}
}
//表格数据
function getSurgeryPage(param) { //type(必填): 类型:1-化验、3-辅检、4-诊断、5-药品、6-手术和操作
const hospitalId = localStorage.getItem('hospitalId')
setloading(true)
const hide = message.loading('加载中...',0);
post(api.getTermPage, {...(param || params),type:6,hospitalId:hospitalId}).then((res) => {
hide()
if (res.data.code === 200) {
const data = res.data.data;
setSurgList(data.records);
setTotal(data.total)
setloading(false)
}
})
}
function showDelModal(id){
setDelvisible(true);
setSurgid(id);
}
//删除
function delSurgeryById() {
post(api.deleteRecord, { id: Surgid }).then((res) => {
setDelvisible(false);
if (res.data.code === 200) {
//刷新列表
const totalPage = Math.ceil((total-1) / size);
//将当前页码与删除数据之后的总页数进行比较,避免当前页码不存在
const pagenum =
params.current > totalPage ? totalPage : params.current;
//避免pagenum变为0
params.current = pagenum < 1 ? 1 : pagenum;
setParams(params)
getSurgeryPage();
setSurgid("");
message.success("删除成功");
} else {
message.warning(res.data.msg || '操作失败');
}
}).catch(() => {
setDelvisible(false);
message.error("接口出错");
});
}
//每页显示条数切换
function onSizeChange(current, pageSize) {
params.current = current
params.size = pageSize
setSize(pageSize)
setCurrent(current)
setParams(params)
}
//翻页
function changePage(page, pageSize) {
params.current = page
params.size = pageSize
setCurrent(page)
setParams(params)
getSurgeryPage()
}
//筛选查询
const onFinish = (value) => {
params.current = 1
const param = {
...params,
...value
}
setCurrent(1)
setParams(param)
getSurgeryPage(param);
};
//重置
const onReset = () => {
setSize(15)
setCurrent(1)
setParams(data)
form.resetFields();
getSurgeryPage(data);
};
//删除 提示框取消或关闭
function handleCancel() {
setDelvisible(false);
}
//新增修改 取消或关闭
function cancel() {
setVisible(false)
setFormData([])
}
function saveMatching(saveParams) {
post(api.saveOrUpdateRecord, saveParams).then((res) => {
if (res.data.code === 200) {
message.success("匹配成功");
setVisible(false);
setFormData([])
getSurgeryPage();
} else {
message.warning(res.data.message || "匹配失败,请重试");
}
}).catch((error) => {
message.warning(error.message || "接口出错,请重试",);
})
}
const renderEmpty = () => (