|
@@ -1,7 +1,7 @@
|
|
|
/*
|
|
|
* @Author: your name
|
|
|
* @Date: 2021-09-14 10:46:45
|
|
|
- * @LastEditTime: 2022-01-05 14:02:15
|
|
|
+ * @LastEditTime: 2022-03-09 18:17:18
|
|
|
* @LastEditors: Please set LastEditors
|
|
|
* @Description: In User Settings Edit
|
|
|
* @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/model.ts
|
|
@@ -16,16 +16,15 @@ import {
|
|
|
getSelfEvaluation,
|
|
|
uploadFilePost,
|
|
|
selfEvolutionCommit,
|
|
|
- delHistoryRecods,
|
|
|
getUploadLedgerSelectableType,
|
|
|
getCurrentHospSelfScore,
|
|
|
getRuleChildrens,
|
|
|
getTaizhangImplementation,
|
|
|
commitTaizhangImplementation,
|
|
|
commitTaizhangDataDirectoryTableList,
|
|
|
-
|
|
|
+
|
|
|
} from './server';
|
|
|
-import { getTreeList,getMaterialListGrades} from '@/pages/GradeHospitalAccreditation/accreditationDetail/service';
|
|
|
+import { getTreeList, getMaterialListGrades } from '@/pages/GradeHospitalAccreditation/accreditationDetail/service';
|
|
|
import {
|
|
|
getScoreLevelData,
|
|
|
getAccreditationTypeData,
|
|
@@ -39,80 +38,86 @@ export interface ImplementationDataItem {
|
|
|
note: string;
|
|
|
}
|
|
|
|
|
|
-export interface ImplementationDataItemCache {
|
|
|
- [tabkey: string]: ImplementationDataItem[];
|
|
|
-}
|
|
|
+export type ImplementationDataItemCache = Record<string, ImplementationDataItem[]>;
|
|
|
|
|
|
-//articleManagement
|
|
|
+// articleManagement
|
|
|
const articleManagement = () => {
|
|
|
const [treeData, setTreeData] = useState<any[]>([]);
|
|
|
- // const [tableData, setTableData] = useState([]);
|
|
|
const [currentActivedTree, setCurrentActivedTree] = useState<MccsFileTree.childTree>();
|
|
|
const [isLeaf, setIsLeaf] = useState(false);
|
|
|
const [scoreList, setScoreList] = useState<{ label: string; value: string }[]>([]);
|
|
|
- const [leafData, setLeafData] = useState<API.LeafDataType>(); //叶子结点数据
|
|
|
+ const [leafData, setLeafData] = useState<API.LeafDataType>(); // 叶子结点数据
|
|
|
const [departmentManagers, setDepartmentManagers] = useState<{ label: string; value: number }[]>(
|
|
|
[],
|
|
|
);
|
|
|
- const [selectedDepartment, setSelectedDepartment] = useState<any>();
|
|
|
+
|
|
|
const [targetScores, setTargetScores] = useState<MccsClickableTabs.TabType[]>([]);
|
|
|
const [ruleTypes, setRuleTypes] = useState<MccsClickableTabs.TabType[]>([]);
|
|
|
- const [records, setRecords] = useState<MccsRecordList.MccsRecordListType>([]);
|
|
|
- const [selfEvaluationRecords, setSelfEvaluationRecords] = useState<MccsRecordList.MccsRecordListType>([]); //自评记录
|
|
|
+
|
|
|
+ const [selfEvaluationRecords, setSelfEvaluationRecords] = useState<MccsRecordList.MccsRecordListType>([]); // 自评记录
|
|
|
const [selectedRowKeys, setSelectedRowKeys] = useState<number[] | string[]>([]);
|
|
|
|
|
|
const [drawerVisible, setDrawerVisible] = useState(false);
|
|
|
- const [drawerFormType, setDrawerFormType] = useState<'ARTICLE_SET' | 'BATCHSETTING'>(
|
|
|
- 'ARTICLE_SET',
|
|
|
- );
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ARTICLE_SET 条文设置
|
|
|
+ * BATCHSETTING 批量设置
|
|
|
+ */
|
|
|
+
|
|
|
+ const [drawerFormType, setDrawerFormType] = useState<'ARTICLE_SET' | 'BATCHSETTING' | undefined>(undefined);
|
|
|
|
|
|
const [reloadRightContent, setReloadRightContent] = useState(false);
|
|
|
|
|
|
- const [moduleMode, setModuleMode] = useState(false); //true台账上传 false条文管理
|
|
|
+ const [moduleMode, setModuleMode] = useState(false); // true台账上传 false条文管理
|
|
|
|
|
|
const [modalVisible, setModalVisible] = useState(false);
|
|
|
|
|
|
const [uploadFormInitValue, setUploadFormInitValue] = useState<any>();
|
|
|
|
|
|
const [selectedSelfEvolution, setSelectedSelfEvolution] =
|
|
|
- useState<{ label: string; value: any }>(); //MccsClickableTabs value值
|
|
|
+ useState<{ label: string; value: any }>(); // MccsClickableTabs value值
|
|
|
|
|
|
const [currentSelectedSelefEvolution, setCurrentSelectedSelefEvolution] =
|
|
|
- useState<{ label: string; value: any }>(); //当前选中自评 点击对象
|
|
|
+ useState<{ label: string; value: any }>(); // 当前选中自评 点击对象
|
|
|
|
|
|
- const [uploadLedgerTypeList, setUploadLedgerTypeList] = useState<MccsClickableTabs.TabType[]>([]); //上传台账可选类型
|
|
|
+ const [uploadLedgerTypeList, setUploadLedgerTypeList] = useState<MccsClickableTabs.TabType[]>([]); // 上传台账可选类型
|
|
|
|
|
|
- const [currentHospSelfScoreAndOthers, setCurrentHospSelfScoreAndOthers] = useState<string>(); //当前医院评分及自评结果
|
|
|
+ const [currentHospSelfScoreAndOthers, setCurrentHospSelfScoreAndOthers] = useState<string>(); // 当前医院评分及自评结果
|
|
|
|
|
|
- const [editMode, setEditMode] = useState(false); //编辑模式,台帐上传页面用到
|
|
|
+ const [editMode, setEditMode] = useState(false); // 编辑模式,台帐上传页面用到
|
|
|
|
|
|
- const [implementationData, setImplementationData] = useState<ImplementationDataItemCache>({}); //执行情况说明数据
|
|
|
+ const [implementationData, setImplementationData] = useState<ImplementationDataItemCache>({}); // 执行情况说明数据
|
|
|
const [taizhangDataDirectoryCommitList, setTaizhangDataDirectoryCommitList] = useState<
|
|
|
API.TaizhangDataDirectoryCommitListItem[]
|
|
|
>([]);
|
|
|
|
|
|
- const [isShowMineOnly, setIsShowMineOnly] = useState(false); //左侧树形结构是否只展示当前用户所属的
|
|
|
+ const [isShowMineOnly, setIsShowMineOnly] = useState(false); // 左侧树形结构是否只展示当前用户所属的
|
|
|
|
|
|
- const [hasEditAuthority, setHasEditAuthority] = useState(false); //是否有编辑权限
|
|
|
+ const [hasEditAuthority, setHasEditAuthority] = useState(false); // 是否有编辑权限
|
|
|
|
|
|
const [gradeOptions, setGradeOptions] = useState<{ label: string, value: string | number }[]>([]);
|
|
|
const [accountTypeOptions, setAccountTypeOptions] = useState<{ label: string, value: string | number }[]>([]);
|
|
|
+ const [articleSettingFormInit, setArticleSettingFormInit] = useState<{}>({}); //条文设置表单回显默认值
|
|
|
+
|
|
|
+ const [currentSelectedActObj, setCurrentSelectedActObj] = useState<any>(undefined); //当前正在操作的对象,例如当前选中的树中层级数据,点击详情的的行数据
|
|
|
+
|
|
|
+ const [detailDrawerVisible, setdetailDrawerVisible] = useState(false); //条文详情抽屉
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
const getArticleTreeData = async (keyword?: string | number) => {
|
|
|
- //获取树数据
|
|
|
+ // 获取树数据
|
|
|
const { list = [] } = await getTreeList(isShowMineOnly, keyword);
|
|
|
setTreeData(list);
|
|
|
};
|
|
|
|
|
|
const getTableData = async (params?: any, sorter?: any, filter?: any) => {
|
|
|
- //根据选中树结构的id获取对应的详情
|
|
|
- // console.log({params});
|
|
|
-
|
|
|
+ // 根据选中树结构的id获取对应的详情
|
|
|
let specifyId: number | null = null;
|
|
|
|
|
|
if (params && params.id) {
|
|
|
- //当存在指定id
|
|
|
+ // 当存在指定id
|
|
|
specifyId = params.id;
|
|
|
}
|
|
|
|
|
@@ -120,25 +125,25 @@ 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,
|
|
|
);
|
|
|
|
|
|
if (resp) {
|
|
|
const { page, leafData, isLeaf } = resp;
|
|
|
- // console.log({page, leafData, isLeaf});
|
|
|
+ setIsLeaf(isLeaf);
|
|
|
if (!isLeaf && page) {
|
|
|
- //非叶子结点返回table数据
|
|
|
+ // 非叶子结点返回table数据
|
|
|
const { list = [], totalCount } = page;
|
|
|
return {
|
|
|
data: list,
|
|
@@ -166,7 +171,7 @@ const articleManagement = () => {
|
|
|
responsibilityUserName: '-',
|
|
|
accountType: '-',
|
|
|
hospId: -1,
|
|
|
- userId:-1
|
|
|
+ userId: -1
|
|
|
},
|
|
|
pfmViewRuleDetailDataVoList: [],
|
|
|
pfmImplementations: [],
|
|
@@ -178,7 +183,7 @@ const articleManagement = () => {
|
|
|
};
|
|
|
|
|
|
const getDepartmentRequest = async () => {
|
|
|
- //获取单位列表
|
|
|
+ // 获取单位列表
|
|
|
const resp = await getDepartmentList();
|
|
|
if (resp) {
|
|
|
const { list = [] } = resp;
|
|
@@ -186,20 +191,20 @@ const articleManagement = () => {
|
|
|
label: item.name,
|
|
|
value: item.id,
|
|
|
}));
|
|
|
- } else {
|
|
|
- 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 };
|
|
|
};
|
|
|
|
|
|
const batchSetting = async (values: FormValueType) => {
|
|
|
- //批量设置
|
|
|
+ // 批量设置
|
|
|
const resp = await batchSettingArticle({
|
|
|
ruleIds: selectedRowKeys,
|
|
|
responsibilityDepartmentId: values.responsibilityDepartment.value,
|
|
@@ -211,22 +216,34 @@ const articleManagement = () => {
|
|
|
});
|
|
|
|
|
|
if (resp) {
|
|
|
- //重新刷新表格
|
|
|
- setReloadRightContent(true);
|
|
|
+ // 重新刷新表格
|
|
|
+ if (!detailDrawerVisible) {
|
|
|
+ //当条文详情抽屉存在时,暂不刷新table,交给抽屉关闭时判断刷新
|
|
|
+ setReloadRightContent(true);
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const setArticle = async (values: FormValueType) => {
|
|
|
- //条文设置
|
|
|
+ // 条文设置
|
|
|
// console.log({values});
|
|
|
if (currentActivedTree && leafData) {
|
|
|
- const { id: ruleId } = currentActivedTree;
|
|
|
+
|
|
|
+ let ruleId = 0;
|
|
|
+ if (detailDrawerVisible) {
|
|
|
+ //在条文抽屉详情里条文设置
|
|
|
+ ruleId = currentSelectedActObj.id;
|
|
|
+ } else {
|
|
|
+ //正常在详情页设置条文
|
|
|
+ ruleId = Number(currentActivedTree.id)
|
|
|
+ }
|
|
|
+
|
|
|
const { id } = leafData.reviewArticle;
|
|
|
|
|
|
- let paramsData = {
|
|
|
+ const paramsData = {
|
|
|
id,
|
|
|
- ruleId: Number(ruleId),
|
|
|
+ ruleId: ruleId,
|
|
|
responsibilityDepartmentId: values.responsibilityDepartment.value,
|
|
|
responsibilityDepartmentName: values.responsibilityDepartment.label,
|
|
|
responsibilityUserId: values.responsibilityUser.value,
|
|
@@ -236,17 +253,18 @@ const articleManagement = () => {
|
|
|
};
|
|
|
const resp = await settingArticle(paramsData);
|
|
|
if (resp) {
|
|
|
- //更新界面信息
|
|
|
- getTableData();
|
|
|
+ // 更新界面信息
|
|
|
+ if (!detailDrawerVisible) {
|
|
|
+ //当条文详情抽屉存在时,暂不刷新table,交给抽屉关闭时判断刷新
|
|
|
+ getTableData();
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const getDepartment = async (item: any, option: any) => {
|
|
|
- //获取责任单位
|
|
|
- setSelectedDepartment(option);
|
|
|
-
|
|
|
+ // 获取责任单位
|
|
|
const resp = await getDepartmentList({ responsibilityDepartmentId: item.value });
|
|
|
if (resp) {
|
|
|
const { list = [] } = resp;
|
|
@@ -294,17 +312,17 @@ const articleManagement = () => {
|
|
|
publicCateId,
|
|
|
} = values;
|
|
|
const { id, accountType } = leafData.reviewArticle;
|
|
|
- let formData = new FormData();
|
|
|
+ const formData = new FormData();
|
|
|
fileList.map((t: MccsUpload.UploadFile) => {
|
|
|
formData.append('file', t.originFileObj);
|
|
|
});
|
|
|
formData.append('id', id.toString());
|
|
|
formData.append('categoryType', accountType);
|
|
|
- //应产品要求‘制度’是不可变,根据制度获取对应关系
|
|
|
+ // 应产品要求‘制度’是不可变,根据制度获取对应关系
|
|
|
tab.value.label == '制度' && formData.append('publicCateId', publicCateId);
|
|
|
|
|
|
if (uploadFormInitValue && JSON.stringify(uploadFormInitValue) != '{}') {
|
|
|
- //重新上传不允许修改类型
|
|
|
+ // 重新上传不允许修改类型
|
|
|
const { tab } = uploadFormInitValue;
|
|
|
formData.append('accountType', tab.label);
|
|
|
formData.append('accountName', tab.value.label);
|
|
@@ -315,11 +333,11 @@ const articleManagement = () => {
|
|
|
|
|
|
const resp = await uploadFilePost(formData);
|
|
|
if (resp) {
|
|
|
- //上传成功,获取最新台账记录
|
|
|
+ // 上传成功,获取最新台账记录
|
|
|
getTableData();
|
|
|
}
|
|
|
setModalVisible(false);
|
|
|
- //每次提交完清空表单默认值
|
|
|
+ // 每次提交完清空表单默认值
|
|
|
setUploadFormInitValue(undefined);
|
|
|
} catch (err) {
|
|
|
console.log({ err });
|
|
@@ -328,18 +346,18 @@ const articleManagement = () => {
|
|
|
};
|
|
|
|
|
|
const compalier = (data: ImplementationDataItem[], base: any[]) => {
|
|
|
- let result: ImplementationDataItem[] = [];
|
|
|
+ const result: ImplementationDataItem[] = [];
|
|
|
|
|
|
- const hasDataKeys = data.map((item) => item.level); //找出已经请求到数据的集合
|
|
|
+ const hasDataKeys = data.map((item) => item.level); // 找出已经请求到数据的集合
|
|
|
|
|
|
- let difference = hasDataKeys
|
|
|
+ const difference = hasDataKeys
|
|
|
.concat(base)
|
|
|
- .filter((v) => !hasDataKeys.includes(v) || !base.includes(v)); //找出缺失的项
|
|
|
+ .filter((v) => !hasDataKeys.includes(v) || !base.includes(v)); // 找出缺失的项
|
|
|
// console.log({difference});
|
|
|
const needAddImplementationData = difference.map((item) => ({ level: item, note: '' }));
|
|
|
- const lastimplementationData = [...data, ...needAddImplementationData]; //将需要新增的项添加
|
|
|
+ const lastimplementationData = [...data, ...needAddImplementationData]; // 将需要新增的项添加
|
|
|
lastimplementationData.forEach((item) => {
|
|
|
- //数据排序,A>B>C
|
|
|
+ // 数据排序,A>B>C
|
|
|
switch (item.level) {
|
|
|
case 'A':
|
|
|
result[2] = item;
|
|
@@ -361,7 +379,7 @@ const articleManagement = () => {
|
|
|
/**
|
|
|
* 根据业务逻辑,当选中的值为A时,需要提供A,B,C三个的数据,若没有则需要添加
|
|
|
*/
|
|
|
- if (data.length == 3) return data; //存在三个值时,直接返回
|
|
|
+ if (data.length == 3) return data; // 存在三个值时,直接返回
|
|
|
return compalier(data, ['A', 'B', 'C']);
|
|
|
}
|
|
|
|
|
@@ -369,14 +387,14 @@ const articleManagement = () => {
|
|
|
/**
|
|
|
* 根据业务逻辑,当选中的值为B时,需要提供B,C两个的数据,若没有则需要添加
|
|
|
*/
|
|
|
- if (data.length == 2) return data; //存在2个值时,直接返回
|
|
|
+ if (data.length == 2) return data; // 存在2个值时,直接返回
|
|
|
return compalier(data, ['B', 'C']);
|
|
|
}
|
|
|
if (selectedSelfEvolution?.label == 'C') {
|
|
|
/**
|
|
|
* 根据业务逻辑,当选中的值为C时,需要提供C一个个的数据,若没有则需要添加
|
|
|
*/
|
|
|
- if (data.length == 1) return data; //存在1个值时,直接返回
|
|
|
+ if (data.length == 1) return data; // 存在1个值时,直接返回
|
|
|
return compalier(data, ['C']);
|
|
|
}
|
|
|
}
|
|
@@ -392,16 +410,16 @@ const articleManagement = () => {
|
|
|
version: string;
|
|
|
level: string;
|
|
|
}) => {
|
|
|
- //或区指定等级的执行情况说明数据,同时根据返回的数据自行添加需要补充的项
|
|
|
-
|
|
|
- if (implementationData[level]) return; //implementationData集合里已经有了该等级对应的数据时,不请求,为了保证编辑的数据缓存
|
|
|
+ // 或区指定等级的执行情况说明数据,同时根据返回的数据自行添加需要补充的项
|
|
|
+ if (implementationData[level]) return; // implementationData集合里已经有了该等级对应的数据时,不请求,为了保证编辑的数据缓存
|
|
|
|
|
|
const data = await getTaizhangImplementation({ numStr, version, level });
|
|
|
+
|
|
|
const implementData: ImplementationDataItem[] = data.map((item) => ({
|
|
|
level: item.level,
|
|
|
note: item.note,
|
|
|
}));
|
|
|
- const resultData = implementationDataFilter(implementData); //得到改造过的数据
|
|
|
+ const resultData = implementationDataFilter(implementData); // 得到改造过的数据
|
|
|
/**
|
|
|
*
|
|
|
* 应业务要求,自评等级切换时保留之前填写数据
|
|
@@ -412,52 +430,45 @@ const articleManagement = () => {
|
|
|
};
|
|
|
|
|
|
const onSelfEvolutionTabChange = (value: { label: string; value: any }) => {
|
|
|
- //自评tab切换回调
|
|
|
+ // 自评tab切换回调
|
|
|
value && setCurrentSelectedSelefEvolution(value);
|
|
|
value && setSelectedSelfEvolution(value);
|
|
|
};
|
|
|
|
|
|
const commitSelfEvolution = async () => {
|
|
|
- //提交自评
|
|
|
+ // 提交自评
|
|
|
if (leafData && currentSelectedSelefEvolution) {
|
|
|
- //存在详情信息,且已选择评分
|
|
|
+ // 存在详情信息,且已选择评分
|
|
|
const { id } = leafData.reviewArticle;
|
|
|
- let _userData = localStorage.getItem('userData');
|
|
|
+ const _userData = localStorage.getItem('userData');
|
|
|
if (_userData) {
|
|
|
- let userData: { name: string; userId: number } = JSON.parse(_userData);
|
|
|
+ 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,
|
|
|
};
|
|
|
const resp = await selfEvolutionCommit(params);
|
|
|
if (resp && currentActivedTree) {
|
|
|
- //刷新自评记录
|
|
|
+ // 刷新自评记录
|
|
|
getSelfEvaluationRecordList(Number(currentActivedTree.id));
|
|
|
- setSelectedSelfEvolution({ label: 'null', value: 'null' }); //清空选中项
|
|
|
+ setSelectedSelfEvolution({ label: 'null', value: 'null' }); // 清空选中项
|
|
|
setCurrentSelectedSelefEvolution(undefined);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- notification['info']({
|
|
|
+ notification.info({
|
|
|
message: '请选择评分!',
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- const delHistoryRecordHandle = async (historyRecords: MccsRecordList.historyRecordsItem) => {
|
|
|
- //删除台账记录
|
|
|
- const resp = await delHistoryRecods(historyRecords.id);
|
|
|
- if (resp) {
|
|
|
- getTableData();
|
|
|
- }
|
|
|
- };
|
|
|
+
|
|
|
|
|
|
const getScoreList = async () => {
|
|
|
- //条文评级
|
|
|
+ // 条文评级
|
|
|
const data = await getScoreLevelData();
|
|
|
const tempArr = data.map((t: any) => ({
|
|
|
label: t.levelNumber,
|
|
@@ -468,14 +479,15 @@ 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);
|
|
|
};
|
|
|
|
|
|
const getUploadLedgerType = async () => {
|
|
|
- //台账类型
|
|
|
+ // 台账类型
|
|
|
const data = await getUploadLedgerSelectableType();
|
|
|
if (data) {
|
|
|
const tempArr = data.map((t: API.RuleChildsItemType) => {
|
|
@@ -492,13 +504,13 @@ const articleManagement = () => {
|
|
|
};
|
|
|
|
|
|
const getCurrentHospScore = async () => {
|
|
|
- //获取医院评分及自评信息
|
|
|
+ // 获取医院评分及自评信息
|
|
|
const resp = await getCurrentHospSelfScore();
|
|
|
setCurrentHospSelfScoreAndOthers(resp);
|
|
|
};
|
|
|
|
|
|
const getSelectableSelfScoreList = async () => {
|
|
|
- //获取自评可选列表
|
|
|
+ // 获取自评可选列表
|
|
|
const resp = await getScoreLevelData();
|
|
|
const listFilted = resp.filter((t: any) => t.configStatus != 0);
|
|
|
const list = listFilted.map((t: any) => ({ label: t.levelNumber, value: t.levelNumber }));
|
|
@@ -506,7 +518,7 @@ const articleManagement = () => {
|
|
|
};
|
|
|
|
|
|
const getSelectableRuleChilds = async (id: number) => {
|
|
|
- //获取台账上传时可选下拉类型
|
|
|
+ // 获取台账上传时可选下拉类型
|
|
|
const resp = await getRuleChildrens(id);
|
|
|
return resp.map((t: { id: number; name: string }) => ({ label: t.name, value: t.id }));
|
|
|
};
|
|
@@ -519,7 +531,7 @@ const articleManagement = () => {
|
|
|
selfEvaluation: item.level,
|
|
|
node: item.note,
|
|
|
}));
|
|
|
- //提交台账执行情况说明
|
|
|
+ // 提交台账执行情况说明
|
|
|
const respImplementation = await commitTaizhangImplementation({
|
|
|
hospId: `${leafData.reviewArticle.hospId}`,
|
|
|
id: leafData.reviewArticle.id,
|
|
@@ -532,15 +544,15 @@ const articleManagement = () => {
|
|
|
const respDataDirectoryTable = await commitTaizhangDataDirectoryTableList(
|
|
|
taizhangDataDirectoryCommitList,
|
|
|
);
|
|
|
-
|
|
|
+
|
|
|
setEditMode(false);
|
|
|
// console.log({respDataDirectoryTable,respImplementation})
|
|
|
- if(respDataDirectoryTable&&respImplementation){
|
|
|
- //每次服务保存数据成功后,清空台账上传的缓存数据
|
|
|
- setImplementationData({}); //清空执行情况说明
|
|
|
- setTaizhangDataDirectoryCommitList([]); //清空台账上传资料目录
|
|
|
-
|
|
|
- getTableData(); //两个保存都成功时刷新数据
|
|
|
+ if (respDataDirectoryTable && respImplementation) {
|
|
|
+ // 每次服务保存数据成功后,清空台账上传的缓存数据
|
|
|
+ setImplementationData({}); // 清空执行情况说明
|
|
|
+ setTaizhangDataDirectoryCommitList([]); // 清空台账上传资料目录
|
|
|
+
|
|
|
+ getTableData(); // 两个保存都成功时刷新数据
|
|
|
}
|
|
|
}
|
|
|
};
|
|
@@ -548,47 +560,33 @@ 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(() => {
|
|
|
- if (currentActivedTree) {
|
|
|
- const { isLeaf } = currentActivedTree;
|
|
|
- setIsLeaf(isLeaf);
|
|
|
- getTableData();
|
|
|
- if (isLeaf) {
|
|
|
- getScoreList().then((data) => {
|
|
|
- const dataFilted = data.filter((t: any) => t.configStatus != 0); //去掉不启动
|
|
|
- // console.log({data,dataFilted});
|
|
|
- setTargetScores(dataFilted);
|
|
|
- });
|
|
|
- accreditationGroupType().then((data) => {
|
|
|
- setRuleTypes(data);
|
|
|
- });
|
|
|
- }
|
|
|
|
|
|
- //每次切换树结构,清空台账上传的缓存数据
|
|
|
- setImplementationData({}); //清空执行情况说明
|
|
|
- setTaizhangDataDirectoryCommitList([]); //清空台账上传资料目录
|
|
|
+ useEffect(() => {
|
|
|
+ if (!drawerVisible) {
|
|
|
+ setDrawerFormType(undefined);
|
|
|
}
|
|
|
- }, [currentActivedTree]);
|
|
|
+ }, [drawerVisible]);
|
|
|
+
|
|
|
|
|
|
useEffect(() => {
|
|
|
- //叶子结点数据变化后相关回调
|
|
|
+ // 叶子结点数据变化后相关回调
|
|
|
if (leafData) {
|
|
|
const { systemEvaluation, targetEvaluation, selfEvaluation, userId } =
|
|
|
leafData.reviewArticle;
|
|
@@ -596,64 +594,62 @@ const getAccoutTypeOptions = async () => {
|
|
|
const tempScoreList = [
|
|
|
{
|
|
|
label: '目标',
|
|
|
- value: targetEvaluation ? targetEvaluation : '-',
|
|
|
+ value: targetEvaluation || '-',
|
|
|
},
|
|
|
{
|
|
|
label: '自评',
|
|
|
- value: selfEvaluation ? selfEvaluation : '-',
|
|
|
+ value: selfEvaluation || '-',
|
|
|
},
|
|
|
- // {
|
|
|
- // label: '现场查核',
|
|
|
- // value: siteEvaluation?siteEvaluation:'-',
|
|
|
- // },
|
|
|
{
|
|
|
label: '系统评分',
|
|
|
- value: systemEvaluation ? systemEvaluation : '-',
|
|
|
+ value: systemEvaluation || '-',
|
|
|
},
|
|
|
];
|
|
|
/**
|
|
|
* 默认加载页面时执行获取执行情况说明数据
|
|
|
*/
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
const t = localStorage.getItem('userData') ? localStorage.getItem('userData') : '';
|
|
|
const userData = JSON.parse(t as string);
|
|
|
|
|
|
setHasEditAuthority(userId == userData.userId);
|
|
|
|
|
|
setImplementationData({ [selfEvaluation]: leafData.pfmImplementations });
|
|
|
-
|
|
|
+
|
|
|
const selfEvolution = leafData.reviewArticle.selfEvaluation;
|
|
|
setSelectedSelfEvolution({ label: selfEvolution, value: selfEvolution });
|
|
|
setScoreList(tempScoreList);
|
|
|
getSelectableSelfScoreList();
|
|
|
- // setRecords(tempRecords);
|
|
|
}
|
|
|
}, [leafData]);
|
|
|
|
|
|
+ console.log({ drawerFormType });
|
|
|
+
|
|
|
useEffect(() => {
|
|
|
- //当抽屉类型改变时
|
|
|
- if (drawerFormType == 'BATCHSETTING') {
|
|
|
+ // 当抽屉类型改变时
|
|
|
+ console.log('drawerFormType changed');
|
|
|
+ if (drawerFormType == 'BATCHSETTING' || drawerFormType == 'ARTICLE_SET') {
|
|
|
getScoreList().then((data) => {
|
|
|
- const dataFilted = data.filter((t: any) => t.configStatus != 0); //去掉不启动
|
|
|
+ const dataFilted = data.filter((t: any) => t.configStatus != 0); // 去掉不启动
|
|
|
setTargetScores(dataFilted);
|
|
|
});
|
|
|
+
|
|
|
+
|
|
|
accreditationGroupType().then((data) => {
|
|
|
setRuleTypes(data);
|
|
|
});
|
|
|
}
|
|
|
}, [drawerFormType]);
|
|
|
|
|
|
+
|
|
|
useEffect(() => {
|
|
|
- //左侧树结构只看我的开关切换时,重新获取树结构数据
|
|
|
+ // 左侧树结构只看我的开关切换时,重新获取树结构数据
|
|
|
getArticleTreeData();
|
|
|
}, [isShowMineOnly]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
// console.log({ leafData, selectedSelfEvolution });
|
|
|
if (leafData && selectedSelfEvolution) {
|
|
|
- //更新台账页面编辑下的执行情况说明
|
|
|
+ // 更新台账页面编辑下的执行情况说明
|
|
|
getImplementationForEdit({
|
|
|
level: selectedSelfEvolution.label,
|
|
|
/**
|
|
@@ -668,17 +664,17 @@ const getAccoutTypeOptions = async () => {
|
|
|
|
|
|
useEffect(() => {
|
|
|
if (!editMode && leafData) {
|
|
|
- //取消编辑时,将原自评等级设为默认
|
|
|
+ // 取消编辑时,将原自评等级设为默认
|
|
|
const selfEvolution = leafData.reviewArticle.selfEvaluation;
|
|
|
setSelectedSelfEvolution({ label: selfEvolution, value: selfEvolution });
|
|
|
}
|
|
|
}, [editMode]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
- //切换页面类型时做相关处理,如清除之前页面的默认数据
|
|
|
+ // 切换页面类型时做相关处理,如清除之前页面的默认数据
|
|
|
if (!moduleMode) {
|
|
|
- setEditMode(false); //条文管理界面无需编辑
|
|
|
- setIsShowMineOnly(false); //条文管理界面关闭
|
|
|
+ setEditMode(false); // 条文管理界面无需编辑
|
|
|
+ setIsShowMineOnly(false); // 条文管理界面关闭
|
|
|
}
|
|
|
}, [moduleMode]);
|
|
|
|
|
@@ -690,8 +686,7 @@ const getAccoutTypeOptions = async () => {
|
|
|
getTableData,
|
|
|
currentActivedTree,
|
|
|
setCurrentActivedTree,
|
|
|
- scoreList, //评分
|
|
|
- records, //台账记录
|
|
|
+ scoreList, // 评分
|
|
|
getDepartmentRequest,
|
|
|
departmentManagers,
|
|
|
getDepartment,
|
|
@@ -719,7 +714,7 @@ const getAccoutTypeOptions = async () => {
|
|
|
commitSelfEvolution,
|
|
|
selectedSelfEvolution,
|
|
|
getSelfEvaluationRecordList,
|
|
|
- delHistoryRecordHandle,
|
|
|
+
|
|
|
getUploadLedgerType,
|
|
|
uploadLedgerTypeList,
|
|
|
setUploadLedgerTypeList,
|
|
@@ -728,6 +723,7 @@ const getAccoutTypeOptions = async () => {
|
|
|
getSelectableRuleChilds,
|
|
|
editMode,
|
|
|
setEditMode,
|
|
|
+
|
|
|
implementationData,
|
|
|
setImplementationData,
|
|
|
commitTaizhangImplementationHandle,
|
|
@@ -740,7 +736,12 @@ const getAccoutTypeOptions = async () => {
|
|
|
gradeOptions,
|
|
|
accountTypeOptions,
|
|
|
getGradeOptions,
|
|
|
- getAccoutTypeOptions
|
|
|
+ getAccoutTypeOptions,
|
|
|
+ articleSettingFormInit, setArticleSettingFormInit,
|
|
|
+ setCurrentSelectedActObj,
|
|
|
+ currentSelectedActObj,
|
|
|
+ detailDrawerVisible,
|
|
|
+ setdetailDrawerVisible,
|
|
|
};
|
|
|
};
|
|
|
|