Browse Source

Merge branch 'dev' into test

1178232204@qq.com 3 years ago
parent
commit
97a74c00cc

+ 1 - 0
src/components/AHeader/index.js

@@ -189,6 +189,7 @@ function AHeader({ history, hideName }) {
                     footer={null}
                     forceRender={true}
                     centered={true}
+                    maskClosable={false}
                 >
                     <Form
                         labelCol={{ span: 6 }}

+ 8 - 6
src/components/BlockLossManage/index.js

@@ -88,6 +88,7 @@ function BlockLossManage() {
     function userChange() {
         setVisible(false)
         getBlockLossPage();
+        setBlockDetail(null)
     }
     const onFinish = (value) => {
         if (value.time) {
@@ -182,18 +183,18 @@ function BlockLossManage() {
                             </Form.Item>
                         </Col>
                         <Col span={5} key={1}>
-                            <Form.Item label="住院序号" name="behospitalCode" rules={[{ max: 30,message:'住院序号不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="住院序号" name="behospitalCode">
+                                <Input placeholder="住院序号" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={2}>
-                            <Form.Item label="文书编号" name="recId" rules={[{ max: 30,message:'文书编号不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="文书编号" name="recId">
+                                <Input placeholder="文书编号" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={3}>
-                            <Form.Item label="文书标题" name="recTitle" rules={[{ max: 30,message:'文书标题不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="文书标题" name="recTitle">
+                                <Input placeholder="文书标题" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={4}>
@@ -352,6 +353,7 @@ function BlockLossManage() {
                     onCancel={cancel}
                     footer={null}
                     forceRender={true}
+                    maskClosable={false}
                 >
                     <BlockContext.Provider value={{ blockDetail, type }}>
                         <EditBlock userChange={userChange} />

+ 1 - 0
src/components/DataManager/AddData.js

@@ -468,6 +468,7 @@ function AddData(props) {
           visible={visible}
           onOk={handleOk}
           onCancel={handleCancel}
+          maskClosable={false}
         >
           <p>您还有内容未保存,确定要退出?</p>
         </Modal>

+ 1 - 0
src/components/DataManager/index.js

@@ -342,6 +342,7 @@ function DataManager() {
         visible={msvisible}
         onOk={handleOk}
         onCancel={handleCancel}
+        maskClosable={false}
       >
         <p>{tipText[modalType]}</p>
       </Modal>

+ 96 - 17
src/components/DiagManager/addDiag.js

@@ -1,30 +1,33 @@
 import React, {
-  useState, useEffect, useContext
+  useState,useContext
 } from 'react';
-import { Form, Input, Select, Button, Switch, TreeSelect, message, Space } from 'antd';
+import { Form, Input, Select, message } from 'antd';
 import apiObj from '@api/index';
 import { getCookie,setCookie } from '@utils/index';
 import DiagContext from './Diag-context';
-import { useSelector } from 'react-redux'
-import Item from 'antd/lib/list/Item';
+/*import { useSelector } from 'react-redux'*/
+import './index.less'
 const { post, api } = apiObj;
-const { TextArea } = Input;
 
 function AddDiag(props) {
   
   const [form] = Form.useForm();
   const { type, formData} = useContext(DiagContext);
-  const staticInfo = useSelector(state => {
+  const { Option } = Select;
+  const [searchTxt,setSearchTxt] = useState("");
+  const [icdcode,setIcdcode] = useState("");
+  const [dataList, setDataList] = useState([]);//当前页列表数据
+  /*const staticInfo = useSelector(state => {
     return state.staticInfo;
-  });
+  });*/
   const initialValues = formData;
 
-  const onFinish = values => {
+  /*const onFinish = values => {
 	  values.status ? values.status=1:values.status=0
     let params = values
     if (type == 3) {
 	  params.id=initialValues.id
-      upDiseaseById(params)
+      editDisease(params)
     } else {
       addDisease(params)
     }
@@ -45,7 +48,7 @@ function AddDiag(props) {
       }
     })
   }
-  function upDiseaseById(param) {
+  function editDisease(param) {
 	  const hisId = getCookie("hospitalId");
 	  const params ={
 	  	hospitalId:hisId,
@@ -59,18 +62,94 @@ function AddDiag(props) {
         message.error(res.data.message);
       }
     })
-  }
-  function cancel() {
-  	props.cancel()
-  }
-  
+  }*/
+  //判断是否有未保存的修改
   function onValuesChange() {
   	props.isChange(form.isFieldsTouched())
   }
+  //标准术语搜索
+  function handleSearch(val){
+    const searchTxt = val.trim();
+	post(api.getConceptLibraryPage, {word:searchTxt}).then((res) => {
+	  if (res.data.code === 200) {
+		const data = res.data.data;
+		const list = data.records||[];
+		setDataList(list);
+	  }
+	})
+  }
+  //选中(修改)标准词时
+  function handleChange(val){
+	setSearchTxt();
+	setIcdcode();
+	const param = {
+
+	};
+	props.matchChange(param);
+  }
 
   return (
     <>
-      <Form
+	  <Form
+		  labelCol={{ span: 6 }}
+		  wrapperCol={{ span: 16 }}
+		  className='clearfix'
+		  form={form}
+		  name="register"
+		  initialValues={initialValues}
+		  onValuesChange={onValuesChange}
+	  >
+
+		<div className="his-info info-box">
+			<p className='title'>医院术语</p>
+		  	<div className="item-box">
+			  <Form.Item
+				  name="name"
+				  label="医院诊断名称"
+				  rules={[
+					{
+					  required: true,
+					  message: '请输入医院诊断名称',
+					},{ max: 30,message:'医院诊断名称不能超过30个字符'}
+				  ]}
+			  >
+				<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="standard"
+				label="标准诊断名称"
+				rules={[
+				  {
+					required: true,
+					message: '请输入标准诊断名称',
+				  },{ max: 30,message:'标准诊断名称不能超过30个字符'}
+				]}
+			>
+			  <Select placeholder="请输入"
+					  value={searchTxt}
+					  autoComplete='off'
+					  onSearch={handleSearch}
+					  onChange={handleChange}
+					  showSearch>
+				{dataList.map(d => <Option key={d.value}>{d.text}</Option>)}
+			  </Select>
+			</Form.Item>
+			<Form.Item
+				name="code"
+				label="ICD-10编码"
+			>
+			</Form.Item>
+		  </div>
+		</div>
+		<p className='linked-term'>已关联标准术语:</p>
+	  </Form>
+      {/*<Form
         labelCol={{ span: 6 }}
         wrapperCol={{ span: 16 }}
         form={form}
@@ -137,7 +216,7 @@ function AddDiag(props) {
             </Space>
           </Form.Item>
 
-      </Form>
+      </Form>*/}
     </>
   );
 }

+ 42 - 133
src/components/DiagManager/index.js

@@ -1,14 +1,13 @@
-import React, { useState, useEffect, useRef } from 'react';
-import { Form, Input, Button, Table, Select, Pagination, Space, Modal, message, Row, Col, Upload } from 'antd';
+import React, { useState, useEffect } from 'react';
+import { Form, Input, Button, Table, Select, Space, Modal, message, Row, Col } from 'antd';
 import { PlusOutlined } from '@ant-design/icons';
 import AddDiag from './addDiag'
 import MatchDiag from './MatchDiag.js'
 import '@common/common.less';
-// import { useSelector } from 'react-redux'
 import apiObj from '@api/index';
 import DiagContext from './Diag-context';
 
-const { post, api, xPost } = apiObj;
+const { post, api } = apiObj;
 const { Option } = Select;
 //获取列表
 function DiagManager() {
@@ -16,12 +15,11 @@ function DiagManager() {
     getDiseasePage();
   }, []);
   const [DiagList, setDiagList] = useState([]);//当前页列表数据
-  const [Diagid, setDiagid] = useState([]);//当前列表id
-  const [title, setTitle] = useState("");//数据总量
+  const [Diagid, setDiagid] = 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 [delvisible, setDelvisible] = useState(false);//删除 弹窗
+  //const [visible2, setvisible2] = useState(false);//匹配 弹窗
   const [unsaved, setUnsaved] = useState(false);//修改未保存弹窗
   const [revise, setRevise] = useState(false);//是否修改 新增修改内容
   const [type, setType] = useState("");
@@ -29,8 +27,6 @@ function DiagManager() {
   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,
@@ -38,30 +34,23 @@ function DiagManager() {
     size: 15
   });
   const [form] = Form.useForm();
-  const tipMap = {
-    0: '提示:EXCEL导入,模板样式及数据请在【朗通云平台-CDSS数据维护-医学术语关联维护】中导出获取。',
-    2: "模板格式错误,模板样式及数据请在【朗通云平台-CDSS数据维护-医学术语关联维护】中导出获取",
-    3: '模板导入失败,失败原因已在Excel中标识并自动下载,请检查后重新导入',
-  };
 
   let data = {
     pages: 1,
     current: 1,
     size: size
   }
-  //新增 弹窗
-  const showModal = (name, type, flag, Diagrow) => {
-    setVisible(type);
+  //新增/修改 弹窗flag=1新增,3修改
+  const showModal = (name, flag, Diagrow) => {
+    setVisible(true);
     setTitle(name);
     setType(flag)
-    if (flag == 1) {
+    if (flag === 1) {
       setFormData({
         status: '1'
       })
-    }
-    if (flag == 3) {
+    }else if (flag === 3) {
       setFormData(Diagrow)
-      getDiseasePage()
     }
   }
   //表格数据
@@ -74,20 +63,23 @@ function DiagManager() {
       }
     })
   }
-
+  function showDelModal(id){
+	setDelvisible(true);
+	setDiagid(id);
+  }
   //删除
   function delDiseaseById() {
-    post(api.delDiseaseById, { ids: Diagid }).then((res) => {
-      setMsvisible(false);
+    post(api.delDiseaseById, { id: Diagid }).then((res) => {
+	  setDelvisible(false);
       if (res.data.code === 200) {
         getDiseasePage();
-        setDiagid([])
+        setDiagid("");
         message.success("删除成功");
       } else {
         message.warning(res.data.msg || '操作失败');
       }
     }).catch(() => {
-      setMsvisible(false);
+      setDelvisible(false);
       message.error("接口出错");
     });
   }
@@ -124,34 +116,14 @@ function DiagManager() {
     form.resetFields();
     getDiseasePage(data);
   };
-  //打开导入弹窗
-  const ImportBox = () => {
-    setvisible1(true)
-  }
-  //导入弹窗取消或关闭
-  function handleCancel1() {
-    setvisible1(false);
-    setUploadStatus(0);
-  }
-  //打开匹配弹窗
-  function match(row) {
-    setvisible2(true)
-    setFormData(row)
-  }
+
   //导入弹窗取消或关闭
-  function handleCancel2() {
+  /*function handleCancel2() {
     setvisible2(false);
-  }
-  const messageBox = () => {
-    if (!Diagid.length) {
-      message.warning("请先选择要删除的记录~", 1);
-      return;
-    }
-    setMsvisible(true)
-  }
+  }*/
   //删除 提示框取消或关闭
   function handleCancel() {
-    setMsvisible(false);
+    setDelvisible(false);
   }
 
   //新增修改 取消或关闭
@@ -163,18 +135,18 @@ function DiagManager() {
       setFormData(null)
     }
   }
-
+  //是否有未保存的修改
   function isChange(a) {
     setRevise(a)
   }
-
+  //不保存当前修改,退出弹窗
   function addCancel() {
     setRevise(false)
     setVisible(false)
     setUnsaved(false)
     setFormData(null)
   }
-
+  //未保存提醒弹窗关闭
   function unsavedCancel() {
     setUnsaved(false)
   }
@@ -187,7 +159,7 @@ function DiagManager() {
   }
   function saveMatching() {
     post(api.matchingDisease, saveParams).then((res) => {
-      setvisible2(false);
+      //setvisible2(false);
       if (res.data.code === 200) {
         message.success("匹配成功");
         getDiseasePage();
@@ -198,53 +170,23 @@ function DiagManager() {
       message.warning(error.message || "接口出错,请重试",);
     })
   }
-  const rowSelection = {
-    onChange: (selectedRowKeys, selectedRows) => {
-      console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
-      setDiagid(selectedRowKeys)
-    }
-  };
-  //导入模板
-  const props = {
-    name: 'file',
-    accept: ".xls",
-    showUploadList: false,
-    action: api.importDisease,
-    headers: {
-      authorization: 'authorization-text',
-    },
-    onChange(info) {
-      const { response, status } = info.file;
-      if (status === 'done') {
-        if (response.code === 200) {
-          getDiseasePage();		//刷新列表
-          //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: 'time', },
     { title: '医院诊断名称', dataIndex: 'name', },
     { title: 'ICD-10编码', dataIndex: 'icd10', },
     { title: '标准诊断名称', dataIndex: 'standard', },
+	{ title: '标准诊断状态', dataIndex: 'status', },
     { 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>
+          <a onClick={e => showModal('修改诊断信息',3, record)}>修改</a>
+          <a onClick={() => showDelModal(record.id)}>删除</a>
         </Space>
       )
     }
@@ -308,19 +250,13 @@ function DiagManager() {
           <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>
+              <Button type="primary" icon={<PlusOutlined />} onClick={e => showModal('新增诊断信息',1)}>新增</Button>
             </Col>
           </Row>
         </div>
 
         <Table
-          rowSelection={{ type: 'checkbox', ...rowSelection, }}
+          /*rowSelection={{ type: 'checkbox', ...rowSelection, }}*/
           columns={columns}
           scroll={{ y: 'calc(100vh - 320px)' }}
           dataSource={DiagList}
@@ -342,14 +278,15 @@ function DiagManager() {
           title={title}
           okText='确定'
           cancelText='关闭'
-          width={'45%'}
+          width={'65%'}
           visible={visible}
+          onOk={saveMatching}
           onCancel={cancel}
-          footer={null}
           forceRender={true}
+          maskClosable={false}
         >
           <DiagContext.Provider value={{ type, formData }}>
-            <AddDiag DiagChange={DiagChange} cancel={cancel} isChange={isChange} />
+            <AddDiag matchChange={matchChange} cancel={cancel} isChange={isChange} />
           </DiagContext.Provider>
           <Modal
             maskClosable={false}
@@ -367,43 +304,15 @@ function DiagManager() {
         : ''}
       <Modal
         maskClosable={false}
-        title="提示"
+        title="删除诊断信息"
         okText='确定'
         cancelText='关闭'
         width={400}
-        visible={msvisible}
+        visible={delvisible}
         onOk={delDiseaseById}
         onCancel={handleCancel}
       >
-        <p>诊断信息删除后将无法恢复,确认删除这{Diagid.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}
-      >
-        <MatchDiag row={formData} onChange={matchChange}></MatchDiag>
+        <p>诊断信息删除后将无法恢复,确认删除这条诊断信息。</p>
       </Modal>
     </div>
   )

+ 22 - 0
src/components/DiagManager/index.less

@@ -0,0 +1,22 @@
+@import "@common/common.less";
+
+.info-box{
+  width: 48%;
+  float: left;
+  .title{
+	font-weight: bold;
+  }
+  &:first-child{
+	margin-right: 4%;
+  }
+  .item-box{
+	border:1px #ccc solid;
+	height: 135px;
+	padding: 10px;
+	margin-bottom: 10px;
+  }
+}
+.linked-term{
+  clear: both;
+  white-space: nowrap;
+}

+ 1 - 0
src/components/DrugManager/index.js

@@ -352,6 +352,7 @@ function DrugManager() {
           onCancel={cancel}
           footer={null}
           forceRender={true}
+          maskClosable={false}
         >
           <DrugContext.Provider value={{ type, formData }}>
             <AddDrug DrugChange={DrugChange} cancel={cancel} isChange={isChange} />

+ 1 - 0
src/components/DutyRecord/index.js

@@ -216,6 +216,7 @@ function DutyRecord() {
 				onOk={delRecord}
 				/*confirmLoading={confirmLoading}*/
 				onCancel={() => showDelModal(false)}
+				maskClosable={false}
 			>
 				<p>职务职称变更记录删除后将无法恢复,确认删除这{selectedRowKeys.length}条变更记录?</p>
 			</Modal>

+ 1 - 0
src/components/ExceptionLog/index.js

@@ -167,6 +167,7 @@ function ExceptionLog() {
           visible={msvisible}
           onOk={handleOk}
           onCancel={handleCancel}
+          maskClosable={false}
         >
           <p>{tipText}</p>
         </Modal>

+ 10 - 8
src/components/FieldProblem/index.js

@@ -80,6 +80,7 @@ function FieldProblem() {
         setVisible(false)
         getColumnResultPage();
         getColumnResultNumber(date)
+        setProblemDetail(null)
     }
     function onSizeChange(current, pageSize) {
         params.current = current
@@ -184,23 +185,23 @@ function FieldProblem() {
                             </Form.Item>
                         </Col>
                         <Col span={5} key={1}>
-                            <Form.Item label="住院序号" name="behospitalCode" rules={[{ max: 30,message:'住院序号不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="住院序号" name="behospitalCode">
+                                <Input placeholder="住院序号" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={2}>
-                            <Form.Item label="文书编号" name="recId" rules={[{ max: 30,message:'文书编号不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="文书编号" name="recId">
+                                <Input placeholder="文书编号" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={3}>
-                            <Form.Item label="文书标题" name="recTitle" rules={[{ max: 30,message:'文书标题不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="文书标题" name="recTitle">
+                                <Input placeholder="文书标题" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={4}>
-                            <Form.Item label="质控模块名称" name="modeName" rules={[{ max: 30,message:'质控模块名称不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="质控模块名称" name="modeName">
+                                <Input placeholder="质控模块名称" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={5}>
@@ -316,6 +317,7 @@ function FieldProblem() {
                     onCancel={cancel}
                     footer={null}
                     forceRender={true}
+                    maskClosable={false}
                 >
                     <ProblemContext.Provider value={{ problemDetail, type }}>
                         <EditProblem userChange={userChange} />

+ 32 - 26
src/components/FieldRules/addRules.js

@@ -46,6 +46,7 @@ function AddRules(props) {
                 visible={visible}
                 onOk={handleOk}
                 onCancel={handleCancel}
+                maskClosable={false}
             >
                 <p>您还有内容未保存,确定要退出?</p>
             </Modal>
@@ -57,9 +58,9 @@ function ContentForm(props) {
     const [standardValueList, setStandardValueList] = useState([]);
     const [regularList, setRegularList] = useState([]);//正则式数据
     const [tableList, setTableList] = useState([]);//表名称
-    const [colList, setColList] = useState([]);//字段名称
+    const [colList, setColList] = useState([[]]);//字段名称
     const [list, setList] = useState([]);
-    const [isChange, seIsChange] = useState(true);
+    const [disable, seDisable] = useState(true);
     const { type, detail } = useContext(FiledContext);
     const { back, form, cancel } = props;
     const initialValues = detail
@@ -89,24 +90,25 @@ function ContentForm(props) {
                 });
                 setTableList(columnList);
                 setList(data)
-                if (type == 2) {
-                    data.forEach((item, i) => {
-                        detail.columnList.forEach(it => {
-                            if (item.getTableNameDTO.tableCname == it.tableCname) {
-                                let colList = data[i].getColumnNameDTOList
-                                setColList([...colList])
-                            }
-                        });
+                // if (type == 2) {
+                //     data.forEach((item, i) => {
+                //         detail.columnList.forEach(it => {
+                //             if (item.getTableNameDTO.tableCname == it.tableCname) {
+                //                 let colList = [[]]
+                //                 colList[0] = data[i].getColumnNameDTOList
+                //                 setColList([...colList])
+                //             }
+                //         });
 
-                    });
-                }
+                //     });
+                // }
             }
         })
     }
     //表选择
     function tablechange(value, options) {
-        let colList = list[options.key].getColumnNameDTOList
-        seIsChange(false)
+        colList[options.key] = list[options.key].getColumnNameDTOList
+        seDisable(false)
         setColList([...colList])
     }
     function colchange(value, options) {
@@ -135,6 +137,8 @@ function ContentForm(props) {
         form.setFieldsValue({
             columnList: columnList
         });
+        colList.push(...[[]])
+        setColList([...colList])
     }
     //标准值维护
     function modifyStand(i) {
@@ -203,18 +207,20 @@ function ContentForm(props) {
             const standardValueList = detail.standardValueList
             setColumnList(columnList)
             setStandardValueList(standardValueList)
-            seIsChange(false)
             list.forEach((item, i) => {
                 detail.columnList.forEach(it => {
                     if (item.getTableNameDTO.tableCname == it.tableCname) {
-                        let colList = list[i].getColumnNameDTOList
-                        console.log(colList);
+                        let colList = [[]]
+                        colList[0] = list[i].getColumnNameDTOList
                         setColList([...colList])
                     }
                 });
 
             });
         }
+        if(type == 2){
+            seDisable(false)
+        }
     }, []);
 
     return (
@@ -255,8 +261,8 @@ function ContentForm(props) {
                                         </div>
                                         <div className='item-box'>
                                             <Form.Item label="字段名称(中文)" rules={[{ required: true }]} style={{ width: '50%' }} name={['columnList', i, 'columnCname']} labelAlign="right">
-                                                <Select allowClear onChange={colchange} style={{ width: 160 }} placeholder="请选择" disabled={isChange}>
-                                                    {colList.map((item) => {
+                                                <Select allowClear onChange={colchange} style={{ width: 160 }} placeholder="请选择" disabled={disable}>
+                                                    {colList[i].map((item) => {
                                                         return (
                                                             <Option value={item.columnCname} key={item.id} index={i}>{item.columnCname}</Option>
                                                         )
@@ -264,8 +270,8 @@ function ContentForm(props) {
                                                 </Select>
                                             </Form.Item>
                                             <Form.Item label="字段名称(英文)" rules={[{ required: true }]} name={['columnList', i, 'columnEname']} labelAlign="right">
-                                                <Select allowClear onChange={colchange} style={{ width: 160 }} placeholder="请选择" disabled={isChange}>
-                                                    {colList.map((item) => {
+                                                <Select allowClear onChange={colchange} style={{ width: 160 }} placeholder="请选择" disabled={disable}>
+                                                    {colList[i].map((item) => {
                                                         return (
                                                             <Option value={item.columnEname} key={item.id} index={i}>{item.columnEname}</Option>
                                                         )
@@ -285,19 +291,19 @@ function ContentForm(props) {
                     }
 
                 </Form.Item>
-                <Form.Item label="是否必填数据" name="isRequired">
+                <Form.Item label="是否必填数据" name="isRequired" rules={[{ required: true, message: '请选择是否必填' }]}>
                     <Radio.Group>
                         <Radio value={1}>是</Radio>
                         <Radio value={0}>否</Radio>
                     </Radio.Group>
                 </Form.Item>
-                <Form.Item label="标准值维护" rules={[{ max: 30,message:'标准值不能超过30个字符' }]}>
+                <Form.Item label="标准值维护" rules={[{ max: 30, message: '标准值不能超过30个字符' }]}>
                     {
                         standardValueList.map((it, i) => {
                             return (
                                 <div className='box-2' key={i} >
                                     <Form.Item name={['standardValueList', i, 'tit']} style={{ width: 159 }}>
-                                        <Input autoComplete='off' placeholder="请输入"/>
+                                        <Input autoComplete='off' placeholder="请输入" />
                                     </Form.Item>
                                     <img onClick={() => modifyStand(i)} src={i == 0 ? add : del} />
                                 </div>
@@ -319,10 +325,10 @@ function ContentForm(props) {
                 <Form.Item hidden={true} name="regularId" noStyle>
                     <Input />
                 </Form.Item>
-                <Form.Item label="说明" name="description" rules={[{ max: 200,message:'说明不能超过200个字符' }]}>
+                <Form.Item label="说明" name="description" rules={[{ max: 200, message: '说明不能超过200个字符' }]}>
                     <TextArea
                         autoSize={{ minRows: 3, maxRows: 5 }}
-						placeholder="请输入"
+                        placeholder="请输入"
                     />
                 </Form.Item>
             </Form>

+ 5 - 2
src/components/FieldRules/index.js

@@ -163,6 +163,7 @@ function FieldRules() {
                         columnEname: data.columnEname,
                         tableCname: data.tableCname,
                         tableEname: data.tableEname,
+                        disable:true,
                         id: data.id
                     }],
                     standardValueList: [{
@@ -195,6 +196,7 @@ function FieldRules() {
     //返回
     function goBack() {
         setAddVisible(false);
+        setFiledDetail(null)
     }
     const onFinish = (value) => {
         const param = {
@@ -323,8 +325,8 @@ function FieldRules() {
                             </Form.Item>
                         </Col>
                         <Col span={5} key={5}>
-                            <Form.Item label="标准值" name="standardValue" rules={[{ max: 30,message:'标准值不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="标准值" name="standardValue">
+                                <Input placeholder="标准值" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
                         <Col span={5} key={6}>
@@ -389,6 +391,7 @@ function FieldRules() {
                 onOk={delColumnVerify}
                 /*confirmLoading={confirmLoading}*/
                 onCancel={() => showDelModal(false)}
+                maskClosable={false}
             >
                 <p>字段校验规则删除后将无法恢复,确认删除这{selectedRowKeys.length}条变更记录?</p>
             </Modal>

+ 2 - 0
src/components/FuncManager/index.js

@@ -214,6 +214,7 @@ function OrgManager() {
           onCancel={cancel}
           footer={null}
           forceRender={true}
+          maskClosable={false}
         >
           <FuncContext.Provider value={{ type: type, id: id, detail: funcDetail }}>
             <AddFunc userChange={userChange} />
@@ -229,6 +230,7 @@ function OrgManager() {
         visible={visible}
         onOk={handleOk}
         onCancel={handleCancel}
+        maskClosable={false}
       >
         <p>{tipText[modalType]}</p>
       </Modal>

+ 2 - 0
src/components/InpaManager/index.js

@@ -328,6 +328,7 @@ function InpaManager() {
           onCancel={cancel}
           footer={null}
           forceRender={true}
+          maskClosable={false}
         >
           <InpaContext.Provider value={{ id: id, type: type, formData: formData }}>
             <AddInpa userChange={userChange} />
@@ -342,6 +343,7 @@ function InpaManager() {
         visible={msvisible}
         onOk={handleOk}
         onCancel={handleCancel}
+        maskClosable={false}
       >
         <p>{tipText[modalType]}</p>
       </Modal>

+ 197 - 193
src/components/MedicalTeam/index.js

@@ -1,19 +1,19 @@
 import React, { useState, useEffect } from 'react';
-import { Form, Input, Button, Table, Row, Col, DatePicker,Modal } from 'antd';
+import { Form, Input, Button, Table, Row, Col, DatePicker, Modal } from 'antd';
 import '@common/common.less';
 import apiObj from '@api/index';
 import moment from "moment";
 import "moment/locale/zh-cn"
 import medicalContext from './medical-context';
 import AddMedical from './addMedical.js';
-	const { post, api, } = apiObj;
-	const { RangePicker } = DatePicker;
+const { post, api, } = apiObj;
+const { RangePicker } = DatePicker;
 function MedicalTeam() {
 	useEffect(() => {
 		getMedicalTeam();
 	}, []);
-	const [logList, setLogList] = useState([{operationId:'3233',operationName:'张三',operationDate:'心电',operationIp:'232323',operationDate:'232323',status:'1'},
-	{operationId:'3233',operationName:'张三',operationDate:'心电',operationIp:'232323',operationDate:'232323',status:'2'}]);
+	const [logList, setLogList] = useState([{ operationId: '3233', operationName: '张三', operationDate: '心电', operationIp: '232323', operationDate: '232323', status: '1' },
+	{ operationId: '3233', operationName: '张三', operationDate: '心电', operationIp: '232323', operationDate: '232323', status: '2' }]);
 	const [total, setTotal] = useState(0);
 	const [size, setSize] = useState(15);
 	const [current, setCurrent] = useState(1);
@@ -23,7 +23,7 @@ function MedicalTeam() {
 		current: 1,
 		size: 15
 	});
-	const [form] = Form.useForm(); 
+	const [form] = Form.useForm();
 	//表格
 	let list = []
 	let data = {
@@ -34,11 +34,11 @@ function MedicalTeam() {
 	//表格数据
 	function getMedicalTeam(param) {
 		post(api.getOfficialCapacityPage, param || params).then((res) => {
-		  if (res.data.code === 200) {
-			const data = res.data.data;
-			// setLogList(data.records);
-			setTotal(data.total)
-		  }
+			if (res.data.code === 200) {
+				const data = res.data.data;
+				// setLogList(data.records);
+				setTotal(data.total)
+			}
 		})
 	}
 	function onSizeChange(current, pageSize) {
@@ -56,98 +56,98 @@ function MedicalTeam() {
 		setCurrent(page);
 		getMedicalTeam()
 	}
-	
-	function onSelectChange(selectedRowKeys){
+
+	function onSelectChange(selectedRowKeys) {
 		console.log('selectedRowKeys changed: ', selectedRowKeys);
 		setSelectedRowKeys(selectedRowKeys);
 	};
-	
-	function onEdit(){
-	
+
+	function onEdit() {
+
 	}
-	function onForbidden(){
-	
+	function onForbidden() {
+
 	}
-	function onDelete(){
-	
+	function onDelete() {
+
 	}
 	//弹窗类型:1.禁用 2.启用 3.删除 (1.有关联医生,2.没有关联医生)
 	const [modalType, setModalType] = useState(1);
 	//弹框提示文字
-	const tipText={
-		1:'确认禁用该医疗组?',
-		2:'该医疗组信息关联医生,禁用后将自动解除关联,确认禁用该数据?',
-		3:'医疗组信息删除后将无法恢复,确认删除该数据?',
-		4:'该医疗组信息关联医生,删除后将自动解除关联,确认删除该数据?'  
+	const tipText = {
+		1: '确认禁用该医疗组?',
+		2: '该医疗组信息关联医生,禁用后将自动解除关联,确认禁用该数据?',
+		3: '医疗组信息删除后将无法恢复,确认删除该数据?',
+		4: '该医疗组信息关联医生,删除后将自动解除关联,确认删除该数据?'
 	}
 	const [visibleModel, setVisible] = useState(false);   //删除禁用确认弹窗显示
 	const [confirmLoading, setConfirmLoading] = useState(false);
 	//启用/禁用 flag=1启用 :禁用
-	const enable=(flag,id,type)=>{
-			//请求接口
+	const enable = (flag, id, type) => {
+		//请求接口
 	}
 	//启用/禁用弹框打开方法
-	const showModal=(type,id,flag)=>{
+	const showModal = (type, id, flag) => {
 		setModalType(type);
 		setVisible(true)
 	}
-		//启用/禁用弹窗取消
-		const handleCancel=()=>{
-			setVisible(false);
-			// setAddVisible(false);
-		}
-		//启用/禁用弹窗确认事件
-	  function handleOk() {
-	      if ("1,2".indexOf(modalType) > -1) {
-	          // onDelete();
-	      } else if ("3,4".indexOf(modalType) > -1) {
-	          enable(0);
-	      } else if (modalType === 5) {
-	          // onResetPsd();
-	      }
-	
-	  }
-	
-		//打开新增修改弹框
-		const [addVisible,setaddVisible] = useState(false); //弹框是否显示
-		const [formData, setFormData] = useState(null); //弹框是否有数据
-		const [title, setTitle] = useState("");    //弹框的标题
-		const [type, setType] = useState("");    //弹框类型是新增还是修改
-		const [userId, setUserId] = useState(""); 
-		//新增/修改弹框打开方法(flag 1:新增,2:修改 )
-		const showAddModel=(name,flag,userId)=>{
-			console.log('111',flag)
-			setTitle(name);
-			setType(flag)
-			setUserId(userId)
-			if (flag == 1||flag == 2) {
-			  setFormData({
-			    status: '1'
-			  })
-			}
-			setaddVisible(true);
-		}
-		//新增修改弹框关闭方法
-		function cancel() {
-		  setVisible(false)
-		  setFormData(null)
+	//启用/禁用弹窗取消
+	const handleCancel = () => {
+		setVisible(false);
+		// setAddVisible(false);
+	}
+	//启用/禁用弹窗确认事件
+	function handleOk() {
+		if ("1,2".indexOf(modalType) > -1) {
+			// onDelete();
+		} else if ("3,4".indexOf(modalType) > -1) {
+			enable(0);
+		} else if (modalType === 5) {
+			// onResetPsd();
 		}
-		//点击按钮关闭
-		function userChange() {
-		  setVisible(false)
-		  setFormData(null)
-		  //重新渲染列表
-		  // getUserPage();
+
+	}
+
+	//打开新增修改弹框
+	const [addVisible, setaddVisible] = useState(false); //弹框是否显示
+	const [formData, setFormData] = useState(null); //弹框是否有数据
+	const [title, setTitle] = useState("");    //弹框的标题
+	const [type, setType] = useState("");    //弹框类型是新增还是修改
+	const [userId, setUserId] = useState("");
+	//新增/修改弹框打开方法(flag 1:新增,2:修改 )
+	const showAddModel = (name, flag, userId) => {
+		console.log('111', flag)
+		setTitle(name);
+		setType(flag)
+		setUserId(userId)
+		if (flag == 1 || flag == 2) {
+			setFormData({
+				status: '1'
+			})
 		}
-	
+		setaddVisible(true);
+	}
+	//新增修改弹框关闭方法
+	function cancel() {
+		setVisible(false)
+		setFormData(null)
+	}
+	//点击按钮关闭
+	function userChange() {
+		setVisible(false)
+		setFormData(null)
+		//重新渲染列表
+		// getUserPage();
+	}
+
 	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');
+		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');
 		}
 		const param = {
-		  ...data,
-		  ...value,
+			...data,
+			...value,
 		}
 		setCurrent(1)
 		setParams(param)
@@ -160,134 +160,138 @@ function MedicalTeam() {
 		getMedicalTeam(data);
 	};
 	const columns = [
-		{ title: '医疗组ID', dataIndex: 'operationId', key: 'index'},
-		{ title: '医疗组名称', dataIndex: 'operationName', key: 'index'},
-		{ title: '上级科室', dataIndex: 'operationDate', key: 'index'},
-		{ title: '上级病区', dataIndex: 'operationIp', key: 'index'},
-		{ title: '关联医生', dataIndex: 'operationDate', key: 'index'},
+		{ title: '医疗组ID', dataIndex: 'operationId', key: 'index' },
+		{ title: '医疗组名称', dataIndex: 'operationName', key: 'index' },
+		{ title: '上级科室', dataIndex: 'operationDate', key: 'index' },
+		{ title: '上级病区', dataIndex: 'operationIp', key: 'index' },
+		{ title: '关联医生', dataIndex: 'operationDate', key: 'index' },
 		{ title: '状态', dataIndex: 'operationIp', key: 'index' },
-		{title: '操作', dataIndex: 'operationId', key: 'operationId', render: (text, record) =>{
-			return <div className="medical-team-operation">
-			  			<a onClick={e => showAddModel('修改医疗组信息', 2)}>修改</a>
-					  	{record.status === '1' ?(<a onClick={()=>showModal(record.hasUserFlag || record.hasHospitalFlag ? 2 : 1, record.operationId, record.type='')}>禁用</a>):(<a onClick={enable}>启用</a>)}
-					 	<a onClick={()=>showModal(record.UserFlag || record.HospitalFlag ? 4 : 3, record.operationId, record.type='')}>删除</a>
-					</div>
-		  }},
+		{
+			title: '操作', dataIndex: 'operationId', key: 'operationId', render: (text, record) => {
+				return <div className="medical-team-operation">
+					<a onClick={e => showAddModel('修改医疗组信息', 2)}>修改</a>
+					{record.status === '1' ? (<a onClick={() => showModal(record.hasUserFlag || record.hasHospitalFlag ? 2 : 1, record.operationId, record.type = '')}>禁用</a>) : (<a onClick={enable}>启用</a>)}
+					<a onClick={() => showModal(record.UserFlag || record.HospitalFlag ? 4 : 3, record.operationId, record.type = '')}>删除</a>
+				</div>
+			}
+		},
 	];
 	const rowSelection = {
 		selectedRowKeys,
 		onChange: onSelectChange,
 	};
 	return (
-		  <div className="wrapper">
+		<div className="wrapper">
 			<div className="filter-box">
-			  <Form
-				  form={form}
-				  name="normal_login"
-				  onFinish={onFinish}
-				  initialValues={{ status: '' }}
-			  >
-				<Row gutter={24}>
-				  <Col span={5} key={0}>
-					<Form.Item label="医疗组ID" name="operationName">
-					  <Input placeholder="请输入" autoComplete='off'/>
-					</Form.Item>
-				  </Col>
-				  <Col span={5} key={1}>
-					<Form.Item label="医疗组名称" name="operationName">
-					  <Input placeholder="请输入" autoComplete='off'/>
-					</Form.Item>
-				  </Col>
-				  <Col span={5} key={2}>
-					<Form.Item label="上级科室" name="operationName">
-					  <Input placeholder="请输入" autoComplete='off'/>
-					</Form.Item>
-				  </Col>
-				  <Col span={5} key={3}>
-					<Form.Item label="上级病区" name="operationName">
-					  <Input placeholder="请输入" autoComplete='off'/>
-					</Form.Item>
-				  </Col>
-				  <Col span={5} key={4}>
-					<Form.Item label="关联医生" name="operationName">
-					  <Input placeholder="请输入" autoComplete='off'/>
-					</Form.Item>
-				  </Col>
-				  <Col span={7} key={5}>
-					<Form.Item label="状态" name="operationName">
-					  <RangePicker
-						  placeholder={['开始时间', '结束时间']}
-					  />
-					</Form.Item>
-				  </Col>
-				  <Col span={6} key={6}>
-					<Form.Item>
-					  <Button type="primary" htmlType="submit">
-						查询
-					  </Button>
-					  <Button onClick={onReset}>
-						重置
-					  </Button>
-					</Form.Item>
-				  </Col>
-				</Row>
-			  </Form>
+				<Form
+					form={form}
+					name="normal_login"
+					onFinish={onFinish}
+					initialValues={{ status: '' }}
+				>
+					<Row gutter={24}>
+						<Col span={5} key={0}>
+							<Form.Item label="医疗组ID" name="operationName">
+								<Input placeholder="请输入" autoComplete='off' />
+							</Form.Item>
+						</Col>
+						<Col span={5} key={1}>
+							<Form.Item label="医疗组名称" name="operationName">
+								<Input placeholder="请输入" autoComplete='off' />
+							</Form.Item>
+						</Col>
+						<Col span={5} key={2}>
+							<Form.Item label="上级科室" name="operationName">
+								<Input placeholder="请输入" autoComplete='off' />
+							</Form.Item>
+						</Col>
+						<Col span={5} key={3}>
+							<Form.Item label="上级病区" name="operationName">
+								<Input placeholder="请输入" autoComplete='off' />
+							</Form.Item>
+						</Col>
+						<Col span={5} key={4}>
+							<Form.Item label="关联医生" name="operationName">
+								<Input placeholder="请输入" autoComplete='off' />
+							</Form.Item>
+						</Col>
+						<Col span={7} key={5}>
+							<Form.Item label="状态" name="operationName">
+								<RangePicker
+									placeholder={['开始时间', '结束时间']}
+								/>
+							</Form.Item>
+						</Col>
+						<Col span={6} 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>
-				<Button type="primary" onClick={(e) => showAddModel('新增医疗组信息', 1)}>新增</Button>
-			  </div>
-			  <Table
-				  columns={columns}
-				  rowSelection={rowSelection}
-				  scroll={{ y: 'calc(100vh - 360px)' }}
-				  dataSource={logList}
-				  rowKey={record => record.id}
-				  pagination={{
-					pageSize: size,
-					size: 'small',
-					current: current,
-					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 className="table-header">
+					<h2 className="table-title">医疗组管理</h2>
+					<Button type="primary" onClick={(e) => showAddModel('新增医疗组信息', 1)}>新增</Button>
+				</div>
+				<Table
+					columns={columns}
+					rowSelection={rowSelection}
+					scroll={{ y: 'calc(100vh - 360px)' }}
+					dataSource={logList}
+					rowKey={record => record.id}
+					pagination={{
+						pageSize: size,
+						size: 'small',
+						current: current,
+						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>
-			
+
 			{addVisible && formData ?
-			  <Modal
-			    title={title}
-			    okText='确定'
-			    cancelText='取消'
-			    width={500}
-			    visible={addVisible}
-			    onCancel={cancel}
-			    footer={null}
-			    forceRender={true}
-			  >
+				<Modal
+					title={title}
+					okText='确定'
+					cancelText='取消'
+					width={500}
+					visible={addVisible}
+					onCancel={cancel}
+					footer={null}
+					forceRender={true}
+					maskClosable={false}
+				>
 					<medicalContext.Provider value={{ formData }}>
-					  <AddMedical userChange={userChange} />
+						<AddMedical userChange={userChange} />
 					</medicalContext.Provider>
-			  </Modal>
-			  : ''}
-			
+				</Modal>
+				: ''}
+
 			<Modal
-	              title="提示"
-	              okText='确定'
-	              cancelText='取消'
-	              width={400}
-	              visible={visibleModel}
-	              onOk={handleOk}
-	              confirmLoading={confirmLoading}
-	              onCancel={handleCancel}
-	          >
-	          <p>{tipText[modalType]}</p>
-	      </Modal>
-		  </div >
+				title="提示"
+				okText='确定'
+				cancelText='取消'
+				width={400}
+				visible={visibleModel}
+				onOk={handleOk}
+				confirmLoading={confirmLoading}
+				onCancel={handleCancel}
+				maskClosable={false}
+			>
+				<p>{tipText[modalType]}</p>
+			</Modal>
+		</div >
 	)
 }
 

+ 2 - 0
src/components/MsgManage/index.js

@@ -195,6 +195,7 @@ function MsgManage() {
                 visible={visible}
                 onCancel={()=>setVisible(false)}
                 confirmLoading={confirmLoading}
+                maskClosable={false}
             >
                 <div className="message-box">
                     <p className='msg-title'>{msgDetail.title}</p>
@@ -216,6 +217,7 @@ function MsgManage() {
                 onOk={postDelMsg}
                 onCancel={()=>setDelVisible(false)}
                 confirmLoading={confirmLoading}
+                maskClosable={false}
             >
                 <p>确定要删除这条通知吗?</p>
             </Modal>

+ 1 - 0
src/components/MyMessage/index.js

@@ -211,6 +211,7 @@ function MyMessage() {
                 visible={visible}
                 confirmLoading={confirmLoading}
                 onCancel={() => setVisible(false)}
+                maskClosable={false}
             >
                 <div className="message-box">
                     <p className='msg-title'>{msgDetail.title}</p>

+ 1 - 0
src/components/OrgManager/AddSubOrg.js

@@ -85,6 +85,7 @@ function AddSubOrg(props) {
                     visible={visible}
                     onOk={handleOk}
                     onCancel={handleCancel}
+                    maskClosable={false}
                 >
                     <p>您还有内容未保存,确定要退出?</p>
                 </Modal>

+ 1 - 0
src/components/OrgManager/index.js

@@ -448,6 +448,7 @@ function OrgManager() {
                 onOk={handleOk}
                 confirmLoading={confirmLoading}
                 onCancel={handleCancel}
+                maskClosable={false}
             >
                 <p>{tipText[modalType]}</p>
             </Modal>

+ 2 - 1
src/components/RegularManage/addRegular.js

@@ -57,7 +57,7 @@ function EditBlock(props) {
                 <Form.Item label="正则式名称" name="name" rules={[{ required: true,message:'请输入正则式名称'},{ max: 30,message:'正则式名称不能超过30个字符' }]}>
                     <Input placeholder="请输入" autoComplete='off'/>
                 </Form.Item>
-                <Form.Item label="正则式值" name="val" rules={[{ required: true }]}>
+                <Form.Item label="正则式值" name="val"rules={[{ required: true,message:'请输入正则式值'},{ max: 512,message:'正则式值不能超过512个字符' }]}>
                     <TextArea
                         autoSize={{ minRows: 5, maxRows: 5 }}
                         placeholder="请输入"
@@ -89,6 +89,7 @@ function EditBlock(props) {
                 onOk={addRegular}
                 /*confirmLoading={confirmLoading}*/
                 onCancel={() => cancel()}
+                maskClosable={false}
             >
                 <p>该正则式关联字段校验规则,修改后将同步更新,确认修改?</p>
             </Modal>

+ 6 - 2
src/components/RegularManage/index.js

@@ -77,10 +77,12 @@ function RegularManage() {
     }
     function cancel() {
         setVisible(false)
+        setRegularDetail(null)
     }
     function userChange() {
         setVisible(false)
         getRegularPage()
+        setRegularDetail(null)
     }
     function onSizeChange(current, pageSize) {
         params.current = current
@@ -163,8 +165,8 @@ function RegularManage() {
                 >
                     <Row gutter={24}>
                         <Col span={5} key={0}>
-                            <Form.Item label="正则式名称" name="name" rules={[{ max: 30,message:'正则式名称不能超过30个字符' }]}>
-                                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                            <Form.Item label="正则式名称" name="name">
+                                <Input placeholder="正则式名称" autoComplete='off' allowClear maxLength='30'/>
                             </Form.Item>
                         </Col>
 
@@ -221,6 +223,7 @@ function RegularManage() {
                     onCancel={cancel}
                     footer={null}
                     forceRender={true}
+                    maskClosable={false}
                 >
                     <RegularContext.Provider value={{ regularDetail, type, flag }}>
                         <AddRegular userChange={userChange} cancel={cancel} />
@@ -238,6 +241,7 @@ function RegularManage() {
                 onOk={delRegularById}
                 /*confirmLoading={confirmLoading}*/
                 onCancel={() => showDelModal(false)}
+                maskClosable={false}
             >
                 <p>{tip}</p>
             </Modal>

+ 1 - 0
src/components/RoleManager/AddRole.js

@@ -48,6 +48,7 @@ function AddRole(props){
                 visible={visible}
                 onOk={handleOk}
                 onCancel={handleCancel}
+                maskClosable={false}
             >
                 <p>您还有内容未保存,确定要退出?</p>
             </Modal>

+ 1 - 0
src/components/RoleManager/index.js

@@ -308,6 +308,7 @@ function RoleManager() {
                 onOk={handleOk}
                 confirmLoading={confirmLoading}
                 onCancel={handleCancel}
+                maskClosable={false}
             >
                 <p>{tipText[modalType]}</p>
             </Modal>

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

@@ -261,17 +261,17 @@ function SurgManager() {
           <Row gutter={24}>
             <Col span={5} key={0}>
               <Form.Item label="医院手术/操作名称" name="name">
-                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                <Input placeholder="请输入" autoComplete='off' allowClear />
               </Form.Item>
             </Col>
             <Col span={5} key={1}>
               <Form.Item label="手术和操作代码" name="code">
-                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                <Input placeholder="请输入" autoComplete='off' allowClear />
               </Form.Item>
             </Col>
             <Col span={5} key={2}>
               <Form.Item label="标准手术/操作名称" name="standard">
-                <Input placeholder="请输入" autoComplete='off' allowClear/>
+                <Input placeholder="请输入" autoComplete='off' allowClear />
               </Form.Item>
             </Col>
             <Col span={4} key={3}>
@@ -359,6 +359,7 @@ function SurgManager() {
             visible={unsaved}
             onOk={addCancel}
             onCancel={unsavedCancel}
+            maskClosable={false}
           >
             <p>当前数据未保存 是否确认关闭?</p>
           </Modal>
@@ -373,6 +374,7 @@ function SurgManager() {
         visible={msvisible}
         onOk={delOperationById}
         onCancel={handleCancel}
+        maskClosable={false}
       >
         <p>诊断信息删除后将无法恢复,确认删除这{Surgid.length}条信息。</p>
       </Modal>

+ 2 - 0
src/components/UserManager/index.js

@@ -374,6 +374,7 @@ function UserManager() {
           onCancel={cancel}
           footer={null}
           forceRender={true}
+          maskClosable={false}
         >
           <UserContext.Provider value={{ userId, type, formData, roleList }}>
             <AddUser userChange={userChange} cancel={cancel} />
@@ -389,6 +390,7 @@ function UserManager() {
         visible={msvisible}
         onOk={handleOk}
         onCancel={handleCancel}
+        maskClosable={false}
       >
         <p>{tipText[modalType]}</p>
       </Modal>