Explorar o código

信息维护修改

莫凡 %!s(int64=3) %!d(string=hai) anos
pai
achega
8a04a2d5be

+ 59 - 11
src/components/DiagManager/addDiag.js

@@ -8,12 +8,13 @@ import './index.less'
 import {Modal} from "antd/lib/index";
 const { post, api } = apiObj;
 
-function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termType}) {
+function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termType,flag}) {
   const [form] = Form.useForm();
   const { Option } = Select;
   const [unsaved, setUnsaved] = useState(false);//修改未保存弹窗
   const [icdcode,setIcdcode] = useState((formData||{}).code);
   const [dataList, setDataList] = useState([]);//当前页列表数据
+  const [formList, setFormList] = useState([]);//当前页列表数据
   const [source, setSource] = useState(0);//来源
   //const TREMTYPE=100;			//常亮,术语类型1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作
 
@@ -35,17 +36,50 @@ function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termT
 		})
 	}
   }
+  //剂型搜索
+  function handleSearch1(val){
+    const txt = val.trim();
+  	if(txt===""){
+  		const list = []
+  		setFormList(list);
+  	}else{
+  		post(api.termMatching, {inputStr:txt,type:102}).then((res) => {
+  		if (res.data.code === "0") {
+  			const list = res.data.data||[];
+  			setFormList(list);
+  		}
+  		})
+  	}
+  }
   //选中(修改)标准词时
   function handleChange(val,item){
 	console.log(33,item)
 	setSource(item.source)
 	setIcdcode(item.code);
+  }
+  //选中(修改)剂型时
+  function handleChange1(val,item){
+  	
   }
   //保存匹配,先验证输入
   function saveMatching(){
 	form.validateFields().then(function(values){
 	  console.log('values:',values,form.getFieldsValue())
-	  onOk({...values,type:termType,hospitalId:form.hospitalId,source:source})
+	  const hospitalId = getCookie('hospitalId')
+	  const param={
+		  conceptId:parseFloat(values.uniqueName)||formData.conceptId,
+		  formConceptId:parseFloat(values.form)||formData.formConceptId,
+		  type:termType,
+		  hospitalId:parseInt(hospitalId),
+		  source:source==0?formData.source:source,
+		  hisName:values.hisName
+	  }
+	  if(flag===3){
+		  param.id=formData.id
+	  }
+	  console.log(param)
+	  onOk(param)
+	  form.resetFields();
 	})
   }
   //关闭新增/编辑弹窗
@@ -57,6 +91,7 @@ function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termT
 	  setUnsaved(true);
 	}else{
 	  cancel();
+	  form.resetFields();	//清空表单值
 	}
   }
   //不保存当前修改,退出弹窗
@@ -94,12 +129,12 @@ function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termT
 		  	<div className="item-box">
 			  <Form.Item
 				  name="hisName"
-				  label="医院诊断名称"
+				  label={termType==4?'医院诊断名称': termType==5?'医院药品名称':'手术/操作名称'}
 				  rules={[
 					{
 					  required: true,
-					  message: '请输入医院诊断名称',
-					},{ max: 30,message:'医院诊断名称不能超过30个字符'}
+					  message: '不能为空',
+					},{ max: 30,message:'不能超过30个字符'}
 				  ]}
 			  >
 				<Input placeholder="请输入" autoComplete='off'/>
@@ -110,13 +145,13 @@ function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termT
 		  <p className='title'>标准术语</p>
 		  <div className="item-box">
 			<Form.Item
-				name="conceptId"
-				label="标准诊断名称"
+				name="uniqueName"
+				label={termType==4?'标准诊断名称': termType==5?'标准药品名称':'手术/操作名称'}
 				rules={[
 				  {
 					required: true,
-					message: '请输入标准诊断名称',
-				  },{ max: 30,message:'标准诊断名称不能超过30个字符'}
+					message: '不能为空',
+				  },{ max: 30,message:'不能超过30个字符'}
 				]}
 			>
 			  <Select placeholder="请输入"
@@ -128,11 +163,24 @@ function AddDiag({formData,matchChange,visible,cancel,onOk,title,termSType,termT
 				{dataList.map(d => <Option key={d.id} source={d.source} code={d.code}>{d.name}</Option>)}
 			  </Select>
 			</Form.Item>
+			{termType==5?
 			<Form.Item
-				label="ICD-10编码"
+				name="form"
+				label="药品剂型"
 			>
-			  {icdcode}
+			  <Select placeholder="请输入"
+					  autoComplete='off'
+					  onSearch={handleSearch1}
+					  onChange={handleChange1}
+					  filterOption={false}
+					  showSearch>
+				{formList.map(d => <Option key={d.id} source={d.source} code={d.code}>{d.name}</Option>)}
+			  </Select>
 			</Form.Item>
+			:
+			<Form.Item label={termType==4?'ICD-10编码':'手术/操作代码'}>
+			  {icdcode}
+			</Form.Item>}
 		  </div>
 		</div>
 		<p className='linked-term'>已关联标准术语:{(formData||{}).uniqueName}</p>

+ 22 - 7
src/components/DiagManager/index.js

@@ -16,6 +16,7 @@ function DiagManager() {
   const [Diagid, setDiagid] = useState([]);//当前操作行id
   const [title, setTitle] = useState("");//新增/修改的弹窗标题
   const [visible, setVisible] = useState(false);//新增修改 弹窗
+  const [flag, setFlag] = useState(false);//新增1或修改3
   const [delvisible, setDelvisible] = useState(false);//删除 弹窗
   const [formData, setFormData] = useState({});//当前行数据
   const [size, setSize] = useState(15);//每页显示条数
@@ -34,14 +35,15 @@ function DiagManager() {
     size: size
   }
   //新增/修改 弹窗flag=1新增,3修改
-  const showModal = (name, flag, Diagrow) => {
+  const showModal = (name, flag1, Diagrow) => {
     setVisible(true);
-    setTitle(name);console.log(flag)
-    if (flag === 1) {
+	setFlag(flag1)
+    setTitle(name);
+    if (flag1 === 1) {
       setFormData({
         status: 1
       })
-    }else if (flag === 3) {
+    }else if (flag1 === 3) {
       console.log(33,Diagrow)
       setFormData(Diagrow)
     }
@@ -180,7 +182,7 @@ function DiagManager() {
                 <Input placeholder="请输入" autoComplete='off' allowClear/>
               </Form.Item>
             </Col>
-            <Col span={4} key={3}>
+            <Col span={5} key={3}>
               <Form.Item id="groupTypeval" label="是否匹配" name="isMatch">
                 <Select
                   showSearch
@@ -195,7 +197,20 @@ function DiagManager() {
                 </Select>
               </Form.Item>
             </Col>
-            <Col span={5} key={4}>
+			<Col span={5} key={4}>
+				<Form.Item  label="标准术语状态" name="status">
+					<Select
+					  showSearch
+					  optionFilterProp="children"
+					  placeholder="全部"
+					>
+					<Option value={''} key={-1}>全部</Option>
+					<Option value={0} key={0}>禁用</Option>
+					<Option value={1} key={1}>启用</Option>
+					</Select>
+				</Form.Item>
+			</Col>
+            <Col span={5} key={5}>
               <Form.Item>
                 <Button type="primary" htmlType="submit">
                   查询
@@ -238,7 +253,7 @@ function DiagManager() {
           }} />
       </div>
       {/*<DiagContext.Provider value={{ formData }}>*/}
-        <AddDiag formData={formData}  termSType={100} termType={4} onOk={saveMatching} title={title} visible={visible} cancel={cancel} />
+        <AddDiag formData={formData}  termSType={100} termType={4} onOk={saveMatching} title={title} visible={visible} cancel={cancel}  flag={flag}/>
       {/*</DiagContext.Provider>*/}
       <Modal
         maskClosable={false}

+ 0 - 4
src/components/DrugManager/Drug-context.js

@@ -1,4 +0,0 @@
-import { createContext } from 'react';
-const DrugContext = createContext(null);
-
-export default DrugContext;

+ 0 - 127
src/components/DrugManager/MatchDrug.js

@@ -1,127 +0,0 @@
-import React, {
-  useState, useEffect
-} from 'react';
-import {  Input, Table,Row,Col } from 'antd';
-import apiObj from '@api/index';
-const { post, api } = apiObj;
-const { Search } = Input;
-
-function MatchDrug(props) {
-  const isMapping = props.row.isMapping==="已匹配";
-  const [DrugList, setDrugList] = useState([]);//当前页列表数据
-  const [size, setSize] = useState(15);//每页显示条数
-  const [total, setTotal] = useState(0);
-  const [current, setCurrent] = useState(1);//当前页
-  const [text,setText] = useState(isMapping?"":props.row.name);//输入框中内容
-  const [DrugId,setDrugId] = useState(props.row.id);//诊断id
-  const [selectedRowKeys,setselectedRowKeys] = useState([]);//选中的行id
-  const [params, setParams] = useState({
-    pages: 1,
-  	current: 1,
-    size: 15,
-    name:""
-  });
- 
- const columns = [
-   { title: 'ICD-10编码', dataIndex: 'icd10',},
-   { title: '标准诊断名称', dataIndex: 'standard',},
-   { title: '同义词', dataIndex: 'synonym',},
- ];
-  useEffect(() => {
-    let param={};
-    if(isMapping){
-	  param = {id:props.row.id};
-    }else{
-	  //默认搜索诊断名称
-	  param = {...params,name:text.trim(),current:1};
-    }
-	getPage(param);
-  }, []);
- const rowSelection = {
-   preserveSelectedRowKeys:true,
-   selectedRowKeys:selectedRowKeys||[],
-   onChange: (selectedRowKeys, selectedRows) => {
-     const param = {icd10:selectedRows[0].icd10,
-       standard:selectedRows[0].standard,
-       synonym:selectedRows[0].synonym,
-       id:DrugId
-     };
-	 setselectedRowKeys(selectedRowKeys);
-	 //setParams(param);
-	 props.onChange(param);
-   },
- };
- //每页显示条数切换
- function onSizeChange(current, pageSize) {
-   params.current = current
-   params.size = pageSize
-   setSize(pageSize)
-   setCurrent(current)
-   setParams(params)
-   getPage()
- }
- //翻页
- function changePage(page, pageSize) {
-   params.current = page
-   params.size = pageSize
-   setCurrent(page)
-   setParams(params)
-   getPage()
- }
- function onSearch(){
-   const param = {...params,name:text.trim(),current:1};
-   setParams({...params,name:text.trim(),current:1});
-   getPage(param);
- }
- function onChange(e){
-   const val = e.target.value;
-   setText(val);
- }
- function getPage(param) {
-   //已匹配的获取已被匹配的那条数据即可
-   const url = isMapping?api.getDrugById:api.getConceptLibraryPage;
-   const pm = param||params;
-   const paramData = isMapping?pm:{...pm,type:3};  //type:1:诊断,2:手术,3:药品
-   post(url, paramData).then((res) => {
-	 if (res.data.code === 200) {
-	   const data = res.data.data;
-	   const list = isMapping?[data]:data.records;
-	   setselectedRowKeys(isMapping?[data.id]:[]);
-	   setDrugList(list);
-	   setTotal(data.total||0)
-	 }
-   })
- }
-
-  return (
-    <>
-	  <Row gutter={24}>
-		<Col span={12} key={0}>
-	      <Search placeholder="请输入诊断" onSearch={onSearch} value={text} onChange={onChange} enterButton style={{marginBottom:'14px'}}/>
-        </Col>
-      </Row>
-      <Table
-        rowSelection={{type: 'radio',...rowSelection,}}
-        columns={columns}
-        scroll={{ y: 'calc(100vh - 320px)' }}
-        dataSource={DrugList}
-        rowKey={record => record.standard}
-        pagination={{
-          current: current,
-          pageSize: size,
-          size: 'small',
-          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
-        }} />
-        
-          
-
-    </>
-  );
-}
-
-export default MatchDrug;

+ 0 - 120
src/components/DrugManager/addDrug.js

@@ -1,120 +0,0 @@
-import React, {
-   useContext
-} from 'react';
-import { Form, Input, Button,  message, Space } from 'antd';
-import apiObj from '@api/index';
-import { getCookie,setCookie } from '@utils/index';
-import DrugContext from './Drug-context';
-const { post, api } = apiObj;
-
-function AddDrug(props) {
-  
-  const [form] = Form.useForm();
-  const { type, formData} = useContext(DrugContext);
-  const initialValues = formData;
-
-  const onFinish = values => {
-    let params = values
-    if (type == 3) {
-	  params.id=initialValues.id
-      upDrugById(params)
-    } else {
-      addDrug(params)
-    }
-
-  };
-  function addDrug(param) {
-    const hisId = getCookie("hospitalId");
-	const params ={
-		hospitalId:hisId,
-		...param
-	}
-	post(api.addDrug, params).then((res) => {
-      if (res.data.code === 200) {
-        props.DrugChange()
-        message.success(res.data.message);
-      } else {
-        message.error(res.data.message);
-      }
-    })
-  }
-  function upDrugById(param) {
-	  const hisId = getCookie("hospitalId");
-	  const params ={
-	  	hospitalId:hisId,
-	  	...param
-	  }
-    post(api.upDrugById, params).then((res) => {
-      if (res.data.code === 200) {
-        props.DrugChange()
-        message.success(res.data.message);
-      } else {
-        message.error(res.data.message);
-      }
-    })
-  }
-  function cancel() {
-  	props.cancel()
-  }
-  
-  function onValuesChange() {
-  	props.isChange(form.isFieldsTouched())
-  }
-
-  return (
-    <>
-      <Form
-        labelCol={{ span: 6 }}
-        wrapperCol={{ span: 16 }}
-        form={form}
-        name="register"
-        onFinish={onFinish}
-        initialValues={initialValues}
-		onValuesChange={onValuesChange}
-      >
-
-        <Form.Item
-          name="name"
-          label="医院药品名称"
-          rules={[
-            {
-              required: true,
-              message: '请输入医院药品名称',
-            },
-          ]}
-        >
-          {type == 3 ?
-		    <Input  autoComplete='off'/>
-            :
-            <Input placeholder="请输入" autoComplete='off'/>
-          }
-
-        </Form.Item>
-		<Form.Item
-		  name="approvalNum"
-		  label="国药准字"
-		>
-		  {type == 3 ?
-		    <Input  autoComplete='off'/>
-		    :
-		    <Input placeholder="请输入" autoComplete='off'/>
-		  }
-		
-		</Form.Item>
-          <Form.Item wrapperCol={{ offset: 8, span: 16 }}>
-            <Space size="middle">
-              <Button htmlType="button" onClick={e => cancel()}>
-                取消
-            </Button>
-              <Button type="primary" htmlType="submit">
-                保存
-            </Button>
-            </Space>
-          </Form.Item>
-
-      </Form>
-    </>
-  );
-}
-
-export default AddDrug;

+ 234 - 361
src/components/DrugManager/index.js

@@ -1,417 +1,290 @@
 import React, { useState, useEffect } from 'react';
-import { Form, Input, Button, Table, Select, Space, Modal, message, Row, Col, Upload } from 'antd';
+import { Form, Input, Button, Table, Select, Space, Modal, message, Row, Col } from 'antd';
 import { PlusOutlined } from '@ant-design/icons';
-import AddDrug from './addDrug'
-import MatchDrug from './MatchDrug.js'
+import { getCookie } from '@utils/index'
+import AddTerm from '../DiagManager/addDiag'
 import '@common/common.less';
 import apiObj from '@api/index';
-import DrugContext from './Drug-context';
 
 const { post, api } = apiObj;
 const { Option } = Select;
 //获取列表
 function DrugManager() {
   useEffect(() => {
-    getDrugPage();
+	getDrugeryPage();
   }, []);
   const [DrugList, setDrugList] = useState([]);//当前页列表数据
-  const [Drugid, setDrugid] = useState([]);//当前列表id
-  const [title, setTitle] = useState("");//数据总量
+  const [Drugid, setDrugid] = useState([]);//当前操作行id
+  const [title, setTitle] = useState("");//新增/修改的弹窗标题
   const [visible, setVisible] = useState(false);//新增修改 弹窗
-  const [msvisible, setMsvisible] = useState(false);//删除 弹窗
-  const [visible1, setvisible1] = useState(false);//导入 弹窗
-  const [visible2, setvisible2] = useState(false);//匹配 弹窗
-  const [unsaved, setUnsaved] = useState(false);//修改未保存弹窗
-  const [revise, setRevise] = useState(false);//是否修改 新增修改内容
-  const [type, setType] = useState("");
-  const [formData, setFormData] = useState(null);//当前行数据
+  const [delvisible, setDelvisible] = useState(false);//删除 弹窗
+  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 [uploadStatus, setUploadStatus] = useState(0);//导入状态,0初始,1成功,2格式错误,3导入数据错误
-  const [uploadTip, setUploadTip] = useState("");		//导入状态提示语
-  const [saveParams, setSaveParams] = useState({});		//匹配药品选中
   const [params, setParams] = useState({
-    pages: 1,
-    current: 1,
-    size: 15
+	pages: 1,
+	current: 1,
+	size: 15
   });
   const [form] = Form.useForm();
-  const tipMap = {
-    0: '提示:EXCEL导入,模板样式及数据请在【朗通云平台-CDSS数据维护-医学术语关联维护】中导出获取。',
-    2: "模板格式错误,模板样式及数据请在【朗通云平台-CDSS数据维护-医学术语关联维护】中导出获取",
-    3: '模板导入失败,失败原因已在Excel中标识并自动下载,请检查后重新导入',
-  };
 
   let data = {
-    pages: 1,
-    current: 1,
-    size: size
+	pages: 1,
+	current: 1,
+	size: size
   }
-  //新增 弹窗
-  const showModal = (name, type, flag, Drugrow) => {
-    setVisible(type);
-    setTitle(name);
-    setType(flag)
-    if (flag == 1) {
-      setFormData({
-        status: '1'
-      })
-    }
-    if (flag == 3) {
-      setFormData(Drugrow)
-      getDrugPage()
-    }
+  //新增/修改 弹窗flag=1新增,3修改
+  const showModal = (name, flag1, Drugrow) => {
+	setVisible(true);
+	setTitle(name);
+	setFlag(flag1)
+	if (flag === 1) {
+	  setFormData({
+		status: 1
+	  })
+	}else if (flag1 === 3) {
+	  console.log(33,Drugrow)
+	  setFormData(Drugrow)
+	}
   }
   //表格数据
-  function getDrugPage(param) {
-    post(api.getDrugPage, param || params).then((res) => {
-      if (res.data.code === 200) {
-        const data = res.data.data;
-        setDrugList(data.records);
-        setTotal(data.total)
-      }
-    })
+  function getDrugeryPage(param) {  //type(必填): 类型:1-化验、3-辅检、4-诊断、5-药品、6-手术和操作
+	const hospitalId = getCookie('hospitalId')
+	post(api.getTermPage, {...(param || params),type:5,hospitalId:hospitalId}).then((res) => {
+	  if (res.data.code === 200) {
+		const data = res.data.data;
+		setDrugList(data.records);
+		setTotal(data.total)
+	  }
+	})
+  }
+  function showDelModal(id){
+	setDelvisible(true);
+	setDrugid(id);
   }
-
   //删除
-  function delDrugById() {
-    post(api.delDrugById, { ids: Drugid }).then((res) => {
-      setMsvisible(false);
-      if (res.data.code === 200) {
-        getDrugPage();
-        setDrugid([])
-        message.success("操作成功");
-      } else {
-        message.warning(res.data.msg || '操作失败');
-      }
-    }).catch(() => {
-      setMsvisible(false);
-      message.error("接口出错");
-    });
+  function delDrugeryById() {
+	post(api.deleteRecord, { id: Drugid }).then((res) => {
+	  setDelvisible(false);
+	  if (res.data.code === 200) {
+		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)
-    getDrugPage()
+	params.current = current
+	params.size = pageSize
+	setSize(pageSize)
+	setCurrent(current)
+	setParams(params)
+	getDrugeryPage()
   }
   //翻页
   function changePage(page, pageSize) {
-    params.current = page
-    params.size = pageSize
-    setCurrent(page)
-    setParams(params)
-    getDrugPage()
+	params.current = page
+	params.size = pageSize
+	setCurrent(page)
+	setParams(params)
+	getDrugeryPage()
   }
+  //筛选查询
   const onFinish = (value) => {
-    const param = {
-      ...data,
-      ...value
-    }
-    setCurrent(1)
-    setParams(param)
-    getDrugPage(param);
+	const param = {
+	  ...data,
+	  ...value
+	}
+	console.log(param)
+	setCurrent(1)
+	setParams(param)
+	getDrugeryPage(param);
   };
   //重置
   const onReset = () => {
-    setCurrent(1)
-    setParams(data)
-    form.resetFields();
-    getDrugPage(data);
+	setCurrent(1)
+	setParams(data)
+	form.resetFields();
+	getDrugeryPage(data);
   };
-  //打开导入弹窗
-  const ImportBox = () => {
-    setvisible1(true)
-  }
-  //导入弹窗取消或关闭
-  function handleCancel1() {
-    setvisible1(false);
-    setUploadStatus(0);
-  }
-  //打开匹配弹窗
-  function match(row) {
-    setvisible2(true)
-    setFormData(row)
-  }
-  //导入弹窗取消或关闭
-  function handleCancel2() {
-    setvisible2(false);
-  }
-  const messageBox = () => {
-    if (!Drugid.length) {
-      message.warning("请先选择要删除的记录~", 1);
-      return;
-    }
-    setMsvisible(true)
-  }
+
   //删除 提示框取消或关闭
   function handleCancel() {
-    setMsvisible(false);
+	setDelvisible(false);
   }
 
   //新增修改 取消或关闭
   function cancel() {
-    if (revise) {
-      setUnsaved(true)
-    } else {
-      setVisible(false)
-      setFormData(null)
-    }
+	setVisible(false)
   }
 
-  function isChange(a) {
-    setRevise(a)
+  function saveMatching(saveParams) {
+	post(api.saveOrUpdateRecord, saveParams).then((res) => {
+	  if (res.data.code === 200) {
+		message.success("匹配成功");
+		setVisible(false);
+		getDrugeryPage();
+	  } else {
+		message.warning(res.data.message || "匹配失败,请重试");
+	  }
+	}).catch((error) => {
+	  message.warning(error.message || "接口出错,请重试",);
+	})
   }
 
-  function addCancel() {
-    setRevise(false)
-    setVisible(false)
-    setUnsaved(false)
-    setFormData(null)
-  }
-
-  function unsavedCancel() {
-    setUnsaved(false)
-  }
-
-  //新增修改 保存
-  function DrugChange() {
-    setRevise(false)
-    setVisible(false)
-    getDrugPage();
-  }
-  function saveMatching() {
-    post(api.matchingDrug, saveParams).then((res) => {
-      setvisible2(false);
-      if (res.data.code === 200) {
-        message.success("匹配成功");
-        getDrugPage();
-      } else {
-        message.warning(res.data.message || "匹配失败,请重试");
-      }
-    }).catch((error) => {
-      message.warning(error.message || "接口出错,请重试",);
-    })
-  }
-  const rowSelection = {
-    onChange: (selectedRowKeys, selectedRows) => {
-      console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
-      setDrugid(selectedRowKeys)
-    }
-  };
-  //导入模板
-  const props = {
-    name: 'file',
-    accept: ".xls",
-    showUploadList: false,
-    action: api.importDrug,
-    headers: {
-      authorization: 'authorization-text',
-    },
-    onChange(info) {
-      const { response, status } = info.file;
-      if (status === 'done') {
-        if (response.code === 200) {
-          getDrugPage();		//刷新列表
-          //setvisible1(false);			//关闭导入弹窗
-          //message.success(`${info.file.name} 导入成功`);
-          setUploadStatus(1);
-          setUploadTip(response.data);
-        } else {
-          //message.error(`${info.file.name} 导入失败.`);
-          setUploadStatus(2);
-        }
-      } else if (status === 'error') {
-        setUploadStatus(3);
-      }
-    },
-  };
-  function matchChange(data) {
-    setSaveParams(data);
-  }
   const columns = [
-    { title: '序号', dataIndex: 'index', render: (text, record, index) => (current - 1) * params.size + index + 1 },
-    { title: '医院药品名称', dataIndex: 'name', },
-    { title: '国药准字', dataIndex: 'approvalNum', },
-    { title: '药品剂型', dataIndex: 'dosageForm', },
-    { title: '标准药品名称', dataIndex: 'standard', },
-    { title: '是否匹配', dataIndex: 'isMapping', },
-    {
-      title: '操作', dataIndex: 'key', render: (text, record) => (
-        <Space size="middle">
-          <a onClick={e => showModal('修改字典', true, 3, record)}>修改</a>
-          <a onClick={e => match(record)}>匹配</a>
-        </Space>
-      )
-    }
+	{ title: '序号', dataIndex: 'index', render: (text, record, index) => (current - 1) * params.size + index + 1 },
+	{ title: '操作时间', dataIndex: 'gmtModified', },
+	{ title: '医院药品名称', dataIndex: 'hisName', },
+	{ title: '标准药品名称', dataIndex: 'uniqueName', },
+	{ title: '药品剂型', dataIndex: 'form', },
+	{ title: '标准术语状态', dataIndex: 'status',render: (text, record) => {
+		return record.status===1?'启用':'禁用';
+	  }},
+	{ title: '剂型术语状态', dataIndex: 'formStatus',render: (text, record) => {
+		return record.status===1?'启用':'禁用';
+	  }},
+	{ title: '是否匹配', dataIndex: 'isMatch',render: (text, record) => {
+		return record.isMatch===1?'已匹配':'未匹配';
+	  }},
+	{
+	  title: '操作', dataIndex: 'key', render: (text, record) => (
+		  <Space size="middle">
+			<a onClick={e => showModal('修改药品信息',3, record)}>修改</a>
+			<a onClick={() => showDelModal(record.id)}>删除</a>
+		  </Space>
+	  )
+	}
   ]
   return (
-    <div className="wrapper">
-      <div className="filter-box">
-        <Form
-          form={form}
-          name="normal_login"
-          onFinish={onFinish}
-          initialValues={{ isMapping: '' }}
-        >
-          <Row gutter={24}>
-            <Col span={5} key={0}>
-              <Form.Item label="医院药品名称" name="name">
-                <Input placeholder="请输入" autoComplete='off' allowClear />
-              </Form.Item>
-            </Col>
-            <Col span={5} key={1}>
-              <Form.Item label="国药准字" name="approvalNum">
-                <Input placeholder="请输入" autoComplete='off' allowClear />
-              </Form.Item>
-            </Col>
-            <Col span={5} key={2}>
-              <Form.Item label="药品剂型" name="dosageForm">
-                <Input placeholder="请选择" autoComplete='off' allowClear />
-              </Form.Item>
-            </Col>
-            <Col span={5} key={3}>
-              <Form.Item label="标准药品名称" name="standard">
-                <Input placeholder="请输入" autoComplete='off' allowClear />
-              </Form.Item>
-            </Col>
-            <Col span={4} key={4}>
-              <Form.Item id="groupTypeval" label="是否匹配" name="isMapping">
-                <Select
-                  showSearch
-                  optionFilterProp="children"
-                  // onSearch={onSearch}
-                  // onFocus={onFocus}
-                  placeholder="全部"
-                >
-                  <Option value={''} key={-1}>全部</Option>
-                  <Option value={0} key={0}>未匹配</Option>
-                  <Option value={1} key={1}>已匹配</Option>
-                </Select>
-              </Form.Item>
-            </Col>
-            <Col span={5} key={5}>
-              <Form.Item>
-                <Button type="primary" htmlType="submit">
-                  查询
-                </Button>
-                <Button onClick={onReset}>
-                  重置
-                </Button>
-              </Form.Item>
-            </Col>
-          </Row>
-        </Form>
-      </div>
+	  <div className="wrapper">
+		<div className="filter-box">
+		  <Form
+			  form={form}
+			  name="normal_login"
+			  onFinish={onFinish}
+		  >
+			<Row gutter={24}>
+			  <Col span={5} key={0}>
+				<Form.Item label="医院药品名称" name="hisName">
+				  <Input placeholder="请输入" autoComplete='off' allowClear/>
+				</Form.Item>
+			  </Col>
+			  <Col span={5} key={1}>
+				<Form.Item label="标准药品名称" name="uniqueName">
+				  <Input placeholder="请输入" autoComplete='off' allowClear/>
+				</Form.Item>
+			  </Col>
+			  <Col span={5} key={2}>
+				<Form.Item label="药品剂型" name="form">
+				  <Input placeholder="请输入" autoComplete='off' allowClear/>
+				</Form.Item>
+			  </Col>
+			  <Col span={5} key={3}>
+				<Form.Item id="groupTypeval" label="是否匹配" name="isMatch">
+				  <Select
+					  showSearch
+					  optionFilterProp="children"
+                      // onSearch={onSearch}
+                      // onFocus={onFocus}
+					  placeholder="全部"
+				  >
+					<Option value={''} key={-1}>全部</Option>
+					<Option value={0} key={0}>未匹配</Option>
+					<Option value={1} key={1}>已匹配</Option>
+				  </Select>
+				</Form.Item>
+			  </Col>
+			  <Col span={5} key={4}>
+			  	<Form.Item  label="标准术语状态" name="status">
+			  		<Select
+			  		  showSearch
+			  		  optionFilterProp="children"
+			  		  placeholder="全部"
+			  		>
+			  		<Option value={''} key={-1}>全部</Option>
+			  		<Option value={0} key={0}>禁用</Option>
+			  		<Option value={1} key={1}>启用</Option>
+			  		</Select>
+			  	</Form.Item>
+			  </Col>
+			  <Col span={5} key={5}>
+			  	<Form.Item label="剂型术语状态" name="formStatus">
+			  		<Select
+			  			showSearch
+			  			optionFilterProp="children"
+			  			placeholder="全部"
+			  		>
+			  		<Option value={''} key={-1}>全部</Option>
+			  		<Option value={0} key={0}>禁用</Option>
+			  		<Option value={1} key={1}>启用</Option>
+			  		</Select>
+			  	</Form.Item>
+			  </Col>
+			  <Col span={5} key={6}>
+				<Form.Item>
+				  <Button type="primary" htmlType="submit">
+					查询
+				  </Button>
+				  <Button onClick={onReset}>
+					重置
+				  </Button>
+				</Form.Item>
+			  </Col>
+			</Row>
+		  </Form>
+		</div>
 
-      <div className="table">
-        <div className="table-header">
-          <h2 className="table-title">药品信息维护</h2>
-          <Row gutter={12}>
-            <Col key={0}>
-              <Button type="primary" icon={<PlusOutlined />} onClick={e => showModal('新增', true, 1)}>新增</Button>
-            </Col>
-            <Col key={1}>
-              <Button onClick={e => messageBox()} type="primary" danger>删除</Button>
-            </Col>
-            <Col key={2}>
-              <Button type="primary" onClick={e => ImportBox()}>导入</Button>
-            </Col>
-          </Row>
-        </div>
+		<div className="table">
+		  <div className="table-header">
+			<h2 className="table-title">药品信息维护</h2>
+			<Row gutter={12}>
+			  <Col key={0}>
+				<Button type="primary" icon={<PlusOutlined />} onClick={e => showModal('新增药品信息',1)}>新增</Button>
+			  </Col>
+			</Row>
+		  </div>
 
-        <Table
-          rowSelection={{ type: 'checkbox', ...rowSelection, }}
-          columns={columns}
-          scroll={{ y: 'calc(100vh - 400px)' }}
-          dataSource={DrugList}
-          rowKey={record => record.id}
-          pagination={{
-            current: current,
-            pageSize: size,
-            size: 'small',
-            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
-          }} />
-      </div>
-      {visible && formData ?
-        <Modal
-          title={title}
-          okText='确定'
-          cancelText='关闭'
-          width={'45%'}
-          visible={visible}
-          onCancel={cancel}
-          footer={null}
-          forceRender={true}
-          maskClosable={false}
-        >
-          <DrugContext.Provider value={{ type, formData }}>
-            <AddDrug DrugChange={DrugChange} cancel={cancel} isChange={isChange} />
-          </DrugContext.Provider>
-          <Modal
-            maskClosable={false}
-            title="提示"
-            okText='确定'
-            cancelText='关闭'
-            width={400}
-            visible={unsaved}
-            onOk={addCancel}
-            onCancel={unsavedCancel}
-          >
-            <p>当前数据未保存 是否确认关闭?</p>
-          </Modal>
-        </Modal>
-        : ''}
-      <Modal
-        maskClosable={false}
-        title="提示"
-        okText='确定'
-        cancelText='关闭'
-        width={400}
-        visible={msvisible}
-        onOk={delDrugById}
-        onCancel={handleCancel}
-      >
-        <p>药品信息删除后将无法恢复,确认删除这{Drugid.length}条信息。</p>
-      </Modal>
-      <Modal
-        maskClosable={false}
-        destroyOnClose={true}
-        title="提示"
-        width={400}
-        visible={visible1}
-        onCancel={handleCancel1}
-        footer={<Button key="back" onClick={handleCancel1}>关闭</Button>}
-      >
-        <div style={{ marginBottom: 10 + 'px' }}>
-          <span>药品信息导入:</span>
-          <Upload {...props}><Button type="primary" >导入目录</Button></Upload>
-        </div>
-        {uploadStatus === 1 ? (<span style={{ color: '#00AF71' }}>{uploadTip}</span>) : (<span style={{ color: '#E3505B' }}>{tipMap[uploadStatus]}</span>)}
-      </Modal>
-      <Modal
-        maskClosable={false}
-        destroyOnClose={true}
-        title="提示"
-        okText='保存'
-        cancelText='关闭'
-        width={800}
-        visible={visible2}
-        onCancel={handleCancel2}
-        onOk={saveMatching}
-      >
-        <MatchDrug row={formData} onChange={matchChange}></MatchDrug>
-      </Modal>
-    </div>
+		  <Table
+              /*rowSelection={{ type: 'checkbox', ...rowSelection, }}*/
+			  columns={columns}
+			  scroll={{ y: 'calc(100vh - 350px)' }}
+			  dataSource={DrugList}
+			  rowKey={record => record.id}
+			  pagination={{
+				current: current,
+				pageSize: size,
+				size: 'small',
+				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
+			  }} />
+		</div>
+		  <AddTerm formData={formData}  termSType={101} termType={5} onOk={saveMatching} title={title} visible={visible} cancel={cancel} flag={flag}/>
+		<Modal
+			maskClosable={false}
+			title="删除药品信息"
+			okText='确定'
+			cancelText='关闭'
+			width={400}
+			visible={delvisible}
+			onOk={delDrugeryById}
+			onCancel={handleCancel}
+		>
+		  <p>药品信息删除后将无法恢复,确认删除这条手术信息。</p>
+		</Modal>
+	  </div>
   )
 }
 

+ 20 - 5
src/components/SurgeryManager/index.js

@@ -16,6 +16,7 @@ function SurgManager() {
   const [Surgid, setSurgid] = useState([]);//当前操作行id
   const [title, setTitle] = useState("");//新增/修改的弹窗标题
   const [visible, setVisible] = useState(false);//新增修改 弹窗
+  const [flag, setFlag] = useState(false);//新增1或修改3
   const [delvisible, setDelvisible] = useState(false);//删除 弹窗
   const [formData, setFormData] = useState({});//当前行数据
   const [size, setSize] = useState(15);//每页显示条数
@@ -34,14 +35,15 @@ function SurgManager() {
 	size: size
   }
   //新增/修改 弹窗flag=1新增,3修改
-  const showModal = (name, flag, Surgrow) => {
+  const showModal = (name, flag1, Surgrow) => {
 	setVisible(true);
+	setFlag(flag1)
 	setTitle(name);console.log(flag)
-	if (flag === 1) {
+	if (flag1 === 1) {
 	  setFormData({
 		status: 1
 	  })
-	}else if (flag === 3) {
+	}else if (flag1 === 3) {
 	  console.log(33,Surgrow)
 	  setFormData(Surgrow)
 	}
@@ -180,7 +182,7 @@ function SurgManager() {
 				  <Input placeholder="请输入" autoComplete='off' allowClear/>
 				</Form.Item>
 			  </Col>
-			  <Col span={4} key={3}>
+			  <Col span={5} key={3}>
 				<Form.Item id="groupTypeval" label="是否匹配" name="isMatch">
 				  <Select
 					  showSearch
@@ -196,6 +198,19 @@ function SurgManager() {
 				</Form.Item>
 			  </Col>
 			  <Col span={5} key={4}>
+			  	<Form.Item  label="标准术语状态" name="status">
+			  		<Select
+			  		  showSearch
+			  		  optionFilterProp="children"
+			  		  placeholder="全部"
+			  		>
+			  		<Option value={''} key={-1}>全部</Option>
+			  		<Option value={0} key={0}>禁用</Option>
+			  		<Option value={1} key={1}>启用</Option>
+			  		</Select>
+			  	</Form.Item>
+			  </Col>
+			  <Col span={5} key={5}>
 				<Form.Item>
 				  <Button type="primary" htmlType="submit">
 					查询
@@ -237,7 +252,7 @@ function SurgManager() {
 				total: total
 			  }} />
 		</div>
-		  <AddTerm formData={formData}  termSType={106} termType={6} onOk={saveMatching} title={title} visible={visible} cancel={cancel} />
+		  <AddTerm formData={formData}  termSType={106} termType={6} onOk={saveMatching} title={title} visible={visible} cancel={cancel}  flag={flag}/>
 		<Modal
 			maskClosable={false}
 			title="删除手术/操作信息"