import React, { useState, useEffect } from 'react';
import { Empty,ConfigProvider,Spin,Form, Input, Button, Table, Select, Space, Modal, message, Row, Col } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
import AddTerm from '../DiagManager/addDiag'
import { useSelector } from 'react-redux';
import '@common/common.less';
import apiObj from '@api/index';
const { post, api } = apiObj;
const { Option } = Select;
//获取列表
function DrugManager() {
const { drugNum } = useSelector((state) => {
return state.userInfo;
});
useEffect(() => {
setSize(15)
setCurrent(1)
form.resetFields();
getDrugeryPage();
}, [drugNum]);
const [DrugList, setDrugList] = useState([]);//当前页列表数据
const [Drugid, setDrugid] = useState([]);//当前操作行id
const [title, setTitle] = useState("");//新增/修改的弹窗标题
const [visible, setVisible] = useState(false);//新增修改 弹窗
const [delvisible, setDelvisible] = useState(false);//删除 弹窗
const [loading, setloading] = useState(true);//是否显示加载中
const [flag, setFlag] = useState(false);//新增1或修改3
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, Drugrow) => {
setVisible(true);
setTitle(name);
setFlag(flag1)
if (flag1 === 1) {
setFormData({
status: 1,
hisName:'',
uniqueName:'',
form:''
})
}else if (flag1 === 3) {
console.log(33,Drugrow)
setFormData(Drugrow)
}
}
//表格数据
function getDrugeryPage(param) { //type(必填): 类型:1-化验、3-辅检、4-诊断、5-药品、6-手术和操作
const hide = message.loading('加载中...',0);
const hospitalId = localStorage.getItem('hospitalId')
setloading(true)
post(api.getTermPage, {...(param || params),type:5,hospitalId:hospitalId}).then((res) => {
hide()
if (res.data.code === 200) {
const data = res.data.data;
setDrugList(data.records);
setTotal(data.total)
setloading(false)
}
})
}
function showDelModal(id){
setDelvisible(true);
setDrugid(id);
}
//删除
function delDrugeryById() {
post(api.deleteRecord, { id: Drugid }).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)
getDrugeryPage();
setDrugid("");
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)
getDrugeryPage()
}
//筛选查询
const onFinish = (value) => {
const param = {
...data,
...value
}
console.log(param)
setCurrent(1)
setParams(param)
getDrugeryPage(param);
};
//重置
const onReset = () => {
setSize(15)
setCurrent(1)
setParams(data)
form.resetFields();
getDrugeryPage(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([])
getDrugeryPage();
} else {
message.warning(res.data.message || "匹配失败,请重试");
}
}).catch((error) => {
message.warning(error.message || "接口出错,请重试",);
})
}
const renderEmpty = () => (