Pārlūkot izejas kodu

修复条文设置后刷新数据相关Bug

code4eat 3 gadi atpakaļ
vecāks
revīzija
dc57b264af

+ 12 - 6
src/pages/GradeHospitalAccreditation/articleManagement/components/articleDetailModule/drawer/index.tsx

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2022-03-07 11:05:19
- * @LastEditTime: 2022-03-08 16:50:46
+ * @LastEditTime: 2022-03-10 11:23:42
  * @LastEditors: Please set LastEditors
  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  * @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/drawer/set.tsx
@@ -34,7 +34,7 @@ const SetDrawer = () => {
         scoreList,
         getDepartmentRequest,
         departmentManagers,
-        getDepartment,//获取责任单位
+        getDepartmentUsers,
         ...restModelData
     } = articleManagement;
 
@@ -44,11 +44,17 @@ const SetDrawer = () => {
 
     const onVisibleChangeHandle = (visible: boolean) => {
         //drawer展示控制
+        if(visible){
+            if(restModelData.leafData){
+                getDepartmentUsers(restModelData.leafData?.reviewArticle.responsibilityDepartmentId);
+            }
+        }
         !visible && articleManagement.setArticleSettingFormInit({});//清空默认值
         restModelData.setDrawerVisible(visible);
     }
     
     const setTitle = (type:string) => {
+
         if (restModelData.drawerFormType == 'ARTICLE_SET') {
             return '条文设置'
         }
@@ -69,7 +75,7 @@ const SetDrawer = () => {
 
     return (
         <MccsDrawerForm
-            title={setTitle(restModelData.drawerFormType)}
+            title={setTitle(restModelData.drawerFormType?restModelData.drawerFormType:'')}
             width={500}
             formRef={drawerFormRef}
             visible={restModelData.drawerVisible}
@@ -89,10 +95,11 @@ const SetDrawer = () => {
                                     placeholder="选择单位"
                                     fieldProps={{
                                         labelInValue: true,
-                                        onChange: (value, option) => {
+                                        onChange: (item, option) => {
                                             //责任单位修改时清空责任人
+                                            console.log
                                             drawerFormRef.current?.setFieldsValue({ ...articleManagement.articleSettingFormInit, responsibilityUser: { label: '', value: '' } });
-                                            getDepartment(value, option)
+                                            getDepartmentUsers(item.value, option)
                                         }
                                     }}
                                     rules={[{ required: true, message: '请选择单位!' }]}
@@ -111,7 +118,6 @@ const SetDrawer = () => {
                                                 placeholder="选择负责人"
                                                 fieldProps={{
                                                     labelInValue: true,
-                                                    // onChange:(value,option)=>getManagers(value,option)
                                                 }}
                                                 rules={[{ required: true, message: '请选择负责人!' }]}
                                             />

+ 3 - 4
src/pages/GradeHospitalAccreditation/articleManagement/components/articleDetailModule/index.tsx

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2022-03-08 10:41:15
- * @LastEditTime: 2022-03-08 18:13:30
+ * @LastEditTime: 2022-03-10 11:44:00
  * @LastEditors: Please set LastEditors
  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  * @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/components/articleDetailModule/index.tsx
@@ -63,12 +63,12 @@ const ArticleDetail = ({ isModeTwo = false }) => {
         scoreList,
         getDepartmentRequest,
         departmentManagers,
-        getDepartment,//获取责任单位
+        getDepartmentUsers,//获取责任单位
         currentSelectedActObj,
         ...restModelData
     } = articleManagement;
     
-    console.log({isModeTwo});
+    // console.log({isModeTwo});
 
     const [scrollAreaH, setScrollAreaH] = useState(100);
     const leafContentRef = useRef<HTMLDivElement>(null);
@@ -264,7 +264,6 @@ const ArticleDetail = ({ isModeTwo = false }) => {
 
     const articleSetBtnHandle = () => {
         //条文设置
-        // console.log({ articleSettingFormInit });
         restModelData.setDrawerFormType('ARTICLE_SET');
         restModelData.setDrawerVisible(true);
 

+ 4 - 5
src/pages/GradeHospitalAccreditation/articleManagement/index.tsx

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2021-09-14 10:22:09
- * @LastEditTime: 2022-03-09 14:26:54
+ * @LastEditTime: 2022-03-10 16:06:11
  * @LastEditors: Please set LastEditors
  * @Description: In User Settings Edit
  * @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/index.tsx
@@ -71,7 +71,7 @@ const ArticleManagement: React.FC<ArticleManagementProps> = (props) => {
         scoreList,
         getDepartmentRequest,
         departmentManagers,
-        getDepartment,//获取责任单位
+        getDepartmentUsers,//获取责任单位
         currentSelectedActObj,
         setdetailDrawerVisible,
         detailDrawerVisible,
@@ -249,7 +249,6 @@ const ArticleManagement: React.FC<ArticleManagementProps> = (props) => {
 
     const onSelectHandle = (data: MccsFileTree.childTree) => {
         //左侧树节点点击回调
-        console.log({data});
         setCurrentActivedTree(data);
         restModelData.setCurrentSelectedActObj(data);
         articleManagement.setArticleSettingFormInit({});//清空默认值
@@ -266,7 +265,7 @@ const ArticleManagement: React.FC<ArticleManagementProps> = (props) => {
 
     const onModalVisibleChange = (visible: boolean) => {
         //表单弹窗
-        //  console.log('uploadFormInitValue',restModelData.uploadFormInitValue);
+
         !visible && restModelData.setUploadFormInitValue(undefined);
         restModelData.setModalVisible(visible);
 
@@ -475,7 +474,7 @@ const ArticleManagement: React.FC<ArticleManagementProps> = (props) => {
                     <div style={{ padding: 0, width: restModelData.editMode ? '100%' : '75%', transition: 'width 0.2s ease-in' }}>
 
 
-                        <div className='card' style={{ display: currentActivedTree?.isLeaf ? 'none' : 'block' }}>
+                        <div className='card' style={{ display: currentActivedTree?.isLeaf ? 'none' : 'block',height:'85vh' }}>
                             <MccsTable
                                 ref={tableRef}
                                 columns={columnsFromProps.length > 0 ? columnsFromProps : columns}

+ 87 - 66
src/pages/GradeHospitalAccreditation/articleManagement/model.ts

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2021-09-14 10:46:45
- * @LastEditTime: 2022-03-09 14:35:48
+ * @LastEditTime: 2022-03-10 15:45:59
  * @LastEditors: Please set LastEditors
  * @Description: In User Settings Edit
  * @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/model.ts
@@ -22,9 +22,9 @@ import {
   getTaizhangImplementation,
   commitTaizhangImplementation,
   commitTaizhangDataDirectoryTableList,
-  
+
 } from './server';
-import { getTreeList,getMaterialListGrades} from '@/pages/GradeHospitalAccreditation/accreditationDetail/service';
+import { getTreeList, getMaterialListGrades } from '@/pages/GradeHospitalAccreditation/accreditationDetail/service';
 import {
   getScoreLevelData,
   getAccreditationTypeData,
@@ -50,10 +50,10 @@ const articleManagement = () => {
   const [departmentManagers, setDepartmentManagers] = useState<{ label: string; value: number }[]>(
     [],
   );
-  
+
   const [targetScores, setTargetScores] = useState<MccsClickableTabs.TabType[]>([]);
   const [ruleTypes, setRuleTypes] = useState<MccsClickableTabs.TabType[]>([]);
-  
+
   const [selfEvaluationRecords, setSelfEvaluationRecords] = useState<MccsRecordList.MccsRecordListType>([]); // 自评记录
   const [selectedRowKeys, setSelectedRowKeys] = useState<number[] | string[]>([]);
 
@@ -63,10 +63,8 @@ const articleManagement = () => {
    * ARTICLE_SET 条文设置
    * BATCHSETTING 批量设置
    */
-  
-  const [drawerFormType, setDrawerFormType] = useState<'ARTICLE_SET' | 'BATCHSETTING'>(
-    'ARTICLE_SET',
-  );
+
+  const [drawerFormType, setDrawerFormType] = useState<'ARTICLE_SET' | 'BATCHSETTING'|undefined>(undefined);
 
   const [reloadRightContent, setReloadRightContent] = useState(false);
 
@@ -101,10 +99,12 @@ const articleManagement = () => {
   const [accountTypeOptions, setAccountTypeOptions] = useState<{ label: string, value: string | number }[]>([]);
   const [articleSettingFormInit, setArticleSettingFormInit] = useState<{}>({});  //条文设置表单回显默认值
 
-  const [currentSelectedActObj,setCurrentSelectedActObj] = useState<any>(undefined);  //当前正在操作的对象,例如当前选中的树中层级数据,点击详情的的行数据
+  const [currentSelectedActObj, setCurrentSelectedActObj] = useState<any>(undefined);  //当前正在操作的对象,例如当前选中的树中层级数据,点击详情的的行数据
 
   const [detailDrawerVisible, setdetailDrawerVisible] = useState(false);   //条文详情抽屉
 
+  const [ifHasEdit,setifHasEdit] = useState(false);   //是否操作了条文设置或者编辑操作
+
 
 
 
@@ -127,17 +127,17 @@ const articleManagement = () => {
       const resp = await getTreeFileTableData(
         specifyId
           ? {
-              // 传入树结构id指定获取某一节点对应数据
-              pageSize: 10,
-              ...params,
-              id: specifyId,
-            }
+            // 传入树结构id指定获取某一节点对应数据
+            pageSize: 10,
+            ...params,
+            id: specifyId,
+          }
           : {
-              // 直接拿树结构id
-              pageSize: 10,
-              ...params,
-              id: currentActivedTree ? currentActivedTree.id : 0,
-            },
+            // 直接拿树结构id
+            pageSize: 10,
+            ...params,
+            id: currentActivedTree ? currentActivedTree.id : 0,
+          },
         moduleMode,
       );
 
@@ -173,7 +173,7 @@ const articleManagement = () => {
               responsibilityUserName: '-',
               accountType: '-',
               hospId: -1,
-              userId:-1
+              userId: -1
             },
             pfmViewRuleDetailDataVoList: [],
             pfmImplementations: [],
@@ -193,15 +193,15 @@ const articleManagement = () => {
         label: item.name,
         value: item.id,
       }));
-    } 
-      return [];
-    
+    }
+    return [];
+
   };
 
   type FormValueType = {
     articleType: { label: string; value: any };
-    responsibilityDepartment: { label: string; value: number; [key: string]: any };
-    responsibilityUser: { label: string; value: number; [key: string]: any };
+    responsibilityDepartment: { label: string; value: number;[key: string]: any };
+    responsibilityUser: { label: string; value: number;[key: string]: any };
     targetScores: { label: string; value: any };
   };
 
@@ -218,25 +218,26 @@ const articleManagement = () => {
     });
 
     if (resp) {
-      // 重新刷新表格
-      if(!detailDrawerVisible){
-        //当条文详情抽屉存在时,暂不刷新table,交给抽屉关闭时判断刷新
-        setReloadRightContent(true);
-      }
+  
+      setReloadRightContent(true);
+
       return true;
     }
   };
 
   const setArticle = async (values: FormValueType) => {
     // 条文设置
-    // console.log({values});
+
+    setifHasEdit(true);
+
     if (currentActivedTree && leafData) {
-      
+
       let ruleId = 0;
-      if(detailDrawerVisible){
+      if (detailDrawerVisible) {
         //在条文抽屉详情里条文设置
-        ruleId  = currentSelectedActObj.id;
-      }else{
+        ruleId = currentSelectedActObj.id;
+
+      } else {
         //正常在详情页设置条文
         ruleId = Number(currentActivedTree.id)
       }
@@ -253,26 +254,31 @@ const articleManagement = () => {
         targetEvaluation: values.targetScores.value,
         articleType: values.articleType.value,
       };
+
       const resp = await settingArticle(paramsData);
       if (resp) {
         // 更新界面信息
-        if(!detailDrawerVisible){
-          //当条文详情抽屉存在时,暂不刷新table,交给抽屉关闭时判断刷新
+        if (detailDrawerVisible) {
+          //当条文详情抽屉存在时,暂不刷新table,交给抽屉关闭时判断刷新,只刷新详情数据
+          getTableData({id:currentSelectedActObj.id});
+    
+        }else{
           getTableData();
         }
-        return true;
+        
+        setDrawerVisible(false);
       }
     }
   };
 
-  const getDepartment = async (item: any, option: any) => {
-    // 获取责任单位
-    const resp = await getDepartmentList({ responsibilityDepartmentId: item.value });
+  const getDepartmentUsers = async (id:number, option?: any) => {
+    // 获取责任单位对应的责任人
+    const resp = await getDepartmentList({ responsibilityDepartmentId: id});
     if (resp) {
       const { list = [] } = resp;
       if (list.length > 0) {
         const tempPeople = list[0].sysEmployeeVOList.map((item) => ({
-          label: item ? item.name : 'null',
+          label: item ? item.name : '-',
           value: item ? item.id : 0,
         }));
         setDepartmentManagers(tempPeople);
@@ -416,7 +422,7 @@ const articleManagement = () => {
     if (implementationData[level]) return; // implementationData集合里已经有了该等级对应的数据时,不请求,为了保证编辑的数据缓存
 
     const data = await getTaizhangImplementation({ numStr, version, level });
-   
+
     const implementData: ImplementationDataItem[] = data.map((item) => ({
       level: item.level,
       note: item.note,
@@ -447,9 +453,8 @@ const articleManagement = () => {
         const userData: { name: string; userId: number } = JSON.parse(_userData);
         const params = {
           id: Number(id),
-          selfEvaluation: `${
-            currentSelectedSelefEvolution ? currentSelectedSelefEvolution.value : 'null'
-          }`,
+          selfEvaluation: `${currentSelectedSelefEvolution ? currentSelectedSelefEvolution.value : 'null'
+            }`,
           userId: userData?.userId,
           userName: userData?.name,
         };
@@ -484,7 +489,6 @@ const articleManagement = () => {
   const accreditationGroupType = async () => {
     // 获取条文组别
     const data = await getAccreditationTypeData();
-    console.log({data});
     const tempArr = data.map((t: any) => ({ label: t.categoryType, value: t.categoryType }));
     return Promise.resolve(tempArr);
   };
@@ -547,14 +551,14 @@ const articleManagement = () => {
       const respDataDirectoryTable = await commitTaizhangDataDirectoryTableList(
         taizhangDataDirectoryCommitList,
       );
-      
+
       setEditMode(false);
       // console.log({respDataDirectoryTable,respImplementation})
-      if(respDataDirectoryTable&&respImplementation){
+      if (respDataDirectoryTable && respImplementation) {
         // 每次服务保存数据成功后,清空台账上传的缓存数据
         setImplementationData({}); // 清空执行情况说明
         setTaizhangDataDirectoryCommitList([]); // 清空台账上传资料目录
-        
+
         getTableData(); // 两个保存都成功时刷新数据
       }
     }
@@ -563,23 +567,40 @@ const articleManagement = () => {
 
   const getGradeOptions = async () => {
     if (leafData) {
-        const { numStr, version } = leafData.reviewArticle;
-        const resp = await getMaterialListGrades({ numStr, version });
-        if (resp) {
-            const options = resp.map(item => ({ label: item.grade, value: item.grade }));
-            setGradeOptions(options);
-        }
+      const { numStr, version } = leafData.reviewArticle;
+      const resp = await getMaterialListGrades({ numStr, version });
+      if (resp) {
+        const options = resp.map(item => ({ label: item.grade, value: item.grade }));
+        setGradeOptions(options);
+      }
     }
-}
+  }
 
-const getAccoutTypeOptions = async () => {
+  const getAccoutTypeOptions = async () => {
     const resp = await getLedgerType();
     if (resp) {
-        const options =  resp.map(item => ({ label: item.generalName, value: item.generalName }));
-        setAccountTypeOptions(options);
+      const options = resp.map(item => ({ label: item.generalName, value: item.generalName }));
+      setAccountTypeOptions(options);
     }
-}
+  }
+
+  useEffect(()=>{
+       console.log({detailDrawerVisible});
+
+       if(!detailDrawerVisible&&ifHasEdit){
+            //详情抽屉关闭时刷新table
+            setReloadRightContent(true);
+            //更新完数据,重置状态
+            setifHasEdit(false);
+       }
 
+  },[detailDrawerVisible])
+
+  useEffect(() => {
+    if (!drawerVisible) {
+      setDrawerFormType(undefined);
+    }
+  }, [drawerVisible]);
 
   useEffect(() => {
     // 叶子结点数据变化后相关回调
@@ -610,7 +631,7 @@ const getAccoutTypeOptions = async () => {
       setHasEditAuthority(userId == userData.userId);
 
       setImplementationData({ [selfEvaluation]: leafData.pfmImplementations });
-      
+
       const selfEvolution = leafData.reviewArticle.selfEvaluation;
       setSelectedSelfEvolution({ label: selfEvolution, value: selfEvolution });
       setScoreList(tempScoreList);
@@ -620,13 +641,13 @@ const getAccoutTypeOptions = async () => {
 
   useEffect(() => {
     // 当抽屉类型改变时
-    if (drawerFormType == 'BATCHSETTING'||drawerFormType == 'ARTICLE_SET') {
+    if (drawerFormType == 'BATCHSETTING' || drawerFormType == 'ARTICLE_SET') {
       getScoreList().then((data) => {
         const dataFilted = data.filter((t: any) => t.configStatus != 0); // 去掉不启动
         setTargetScores(dataFilted);
       });
 
-      
+
       accreditationGroupType().then((data) => {
         setRuleTypes(data);
       });
@@ -682,7 +703,7 @@ const getAccoutTypeOptions = async () => {
     scoreList, // 评分
     getDepartmentRequest,
     departmentManagers,
-    getDepartment,
+    getDepartmentUsers,
     targetScores,
     ruleTypes,
     leafData,

+ 6 - 44
src/pages/GradeHospitalAccreditation/ledgerUpload/index.tsx

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2021-09-14 10:22:09
- * @LastEditTime: 2022-03-07 13:58:03
+ * @LastEditTime: 2022-03-10 10:54:42
  * @LastEditors: Please set LastEditors
  * @Description: In User Settings Edit
  * @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/index.tsx
@@ -34,30 +34,6 @@ type LedgerUploadPropsType = {
 const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
 
     const columns = [
-        // {
-        //     key: 'articleType',
-        //     hideInTable: true,
-        //     renderFormItem: (item: any, { type }: any, form: any) => {
-
-        //         if (type === 'form') {
-        //             return null;
-        //         }
-        //         return (
-
-        //                 <ProFormSelect
-        //                     width='sm'
-        //                     options={[
-        //                         { label: '全部', value: 'all' },
-        //                         { label: '未解决', value: 'open' },
-        //                         { label: '已解决', value: 'closed' },
-        //                         { label: '解决中', value: 'processing' },
-        //                     ]}
-        //                     placeholder="台账状态"
-        //                 />
-
-        //         )
-        //     },
-        // },
         {
             hideInTable: true,
             renderFormItem: (item: any, { type }: any, form: any) => {
@@ -92,12 +68,12 @@ const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
             key: 'numStr',
             dataIndex: 'numStr',
             hideInSearch: true,
-
         },
         {
             title: '条文',
             dataIndex: 'name',
             hideInSearch: true,
+            ellipsis: true,
             width: '35%'
         },
         {
@@ -156,9 +132,6 @@ const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
 
     const { ...restLedgerUploadModelData } = ledgerUpload;
 
-    // const [tabKey, setTabKey] = useState<string | number>();  //antd Tab切换
-
-
     const openDrawerHandle = (record: any) => {
         restLedgerUploadModelData.setCurrentRecord(record)
         restLedgerUploadModelData.setDrawerVisible(true);
@@ -171,16 +144,17 @@ const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
         restLedgerUploadModelData.delRuleHandle(id);
         restArticleManagementModelData.getArticleTreeData();  // 刷新树结构
         restArticleManagementModelData.setReloadRightContent(true);  // 刷新表格数据
+
     }
 
     const onVisibleChangeHandle = (visible: boolean) => {
-        console.log(visible)
         restLedgerUploadModelData.setDrawerVisible(visible);
     }
 
     const upLoadFileHandle = (formInitData?: any) => {
         // 因为modalForm开启了request+params获取表单默认值,
         // 所以必须先设置默认值才能开启弹窗
+
         if (formInitData) {
             const { fileUrl, recordTypeName, fileName, accountType, cateId } = formInitData;
             restArticleManagementModelData.setUploadFormInitValue({
@@ -204,18 +178,6 @@ const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
         restArticleManagementModelData.setModalVisible(true);
     }
 
-    const actionNodeFunc = (data: any) => {
-        // 渲染记录列表操作按钮
-        // console.log({ data });
-        const reupload = () => {
-
-            upLoadFileHandle(data);
-        }
-
-        return <a onClick={reupload}>重新上传</a>
-    }
-
-
     useEffect(()=>{
         
         const {drawerVisible} = restLedgerUploadModelData;
@@ -224,6 +186,7 @@ const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
         if(!drawerVisible){
             restArticleManagementModelData.setEditMode(false);
         }
+
     },[restLedgerUploadModelData.drawerVisible]);
 
     useEffect(() => {
@@ -234,8 +197,7 @@ const LedgerUpload: React.FC<LedgerUploadPropsType> = (props) => {
 
     }, [restArticleManagementModelData.modalVisible]);
 
-
-
+    
     return (
         <React.Fragment>
             <ArticleManagementCopy