|
@@ -13,22 +13,24 @@ const { post, api } = apiObj;
|
|
|
function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
const [form] = Form.useForm();
|
|
|
const { formData } = useContext(DiagContext);
|
|
|
- console.log('formData',formData)
|
|
|
const { Option } = Select;
|
|
|
const [unsaved, setUnsaved] = useState(false);//修改未保存弹窗
|
|
|
- const [searchTxt,setSearchTxt] = useState((formData||{}).hisName);
|
|
|
const [icdcode,setIcdcode] = useState((formData||{}).code);
|
|
|
const [dataList, setDataList] = useState([]);//当前页列表数据
|
|
|
+ const TREMTYPE=100; //常亮,术语类型1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作
|
|
|
//const initialValues = formData;
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
+ form.setFieldsValue(formData)
|
|
|
+ }, [formData]);
|
|
|
//标准术语搜索
|
|
|
function handleSearch(val){
|
|
|
const txt = val.trim();
|
|
|
- if(txt==""){
|
|
|
+ if(txt===""){
|
|
|
const list = []
|
|
|
setDataList(list);
|
|
|
}else{
|
|
|
- post(api.termMatching, {inputStr:txt,type:100}).then((res) => {
|
|
|
+ post(api.termMatching, {inputStr:txt,type:TREMTYPE}).then((res) => {
|
|
|
if (res.data.code === "0") {
|
|
|
const list = res.data.data||[];
|
|
|
setDataList(list);
|
|
@@ -37,22 +39,21 @@ function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
}
|
|
|
}
|
|
|
//选中(修改)标准词时
|
|
|
- function handleChange(val){
|
|
|
- console.log('选中:',val)
|
|
|
- setSearchTxt();
|
|
|
- setIcdcode(val);
|
|
|
+ function handleChange(val,item){
|
|
|
+ //setSearchTxt(item.name);
|
|
|
+ setIcdcode(item.code);
|
|
|
}
|
|
|
//保存匹配,先验证输入
|
|
|
function saveMatching(){
|
|
|
form.validateFields().then(function(values){
|
|
|
console.log('values:',values)
|
|
|
- onOk({...values,type:4})
|
|
|
+ onOk({...values,type:TREMTYPE})
|
|
|
})
|
|
|
}
|
|
|
//关闭新增/编辑弹窗
|
|
|
function saveCancel(){
|
|
|
//有未保存修改时弹窗提醒
|
|
|
- const isChange = form.isFieldsTouched();
|
|
|
+ const isChange = form.isFieldsTouched(['hisName','conceptId']);
|
|
|
if(isChange){
|
|
|
setUnsaved(true);
|
|
|
}else{
|
|
@@ -70,7 +71,6 @@ function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
setUnsaved(false)
|
|
|
}
|
|
|
return (
|
|
|
- <>
|
|
|
<Modal
|
|
|
title={title}
|
|
|
okText='确定'
|
|
@@ -83,8 +83,8 @@ function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
initialValues={formData}
|
|
|
>
|
|
|
<Form
|
|
|
- labelCol={{ span: 6 }}
|
|
|
- wrapperCol={{ span: 16 }}
|
|
|
+ labelCol={{ span: 7 }}
|
|
|
+ wrapperCol={{ span: 15 }}
|
|
|
className='clearfix'
|
|
|
form={form}
|
|
|
name="register"
|
|
@@ -103,16 +103,15 @@ function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
},{ max: 30,message:'医院诊断名称不能超过30个字符'}
|
|
|
]}
|
|
|
>
|
|
|
- <Input value="1" placeholder="请输入" autoComplete='off'/>
|
|
|
+ <Input placeholder="请输入" autoComplete='off'/>
|
|
|
</Form.Item>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div className="lt-info info-box">
|
|
|
<p className='title'>标准术语</p>
|
|
|
<div className="item-box">
|
|
|
<Form.Item
|
|
|
- name="uniqueName"
|
|
|
+ name="conceptId"
|
|
|
label="标准诊断名称"
|
|
|
rules={[
|
|
|
{
|
|
@@ -122,13 +121,12 @@ function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
]}
|
|
|
>
|
|
|
<Select placeholder="请输入"
|
|
|
- value={searchTxt}
|
|
|
autoComplete='off'
|
|
|
onSearch={handleSearch}
|
|
|
onChange={handleChange}
|
|
|
filterOption={false}
|
|
|
showSearch>
|
|
|
- {dataList.map(d => <Option key={d.id}>{d.name}</Option>)}
|
|
|
+ {dataList.map(d => <Option key={d.id} code={d.code}>{d.name}</Option>)}
|
|
|
</Select>
|
|
|
</Form.Item>
|
|
|
<Form.Item
|
|
@@ -153,7 +151,6 @@ function AddDiag({matchChange,visible,cancel,onOk,title}) {
|
|
|
<p>当前数据未保存 是否确认关闭?</p>
|
|
|
</Modal>
|
|
|
</Modal>
|
|
|
- </>
|
|
|
);
|
|
|
}
|
|
|
|