|
@@ -1,20 +1,25 @@
|
|
|
/*
|
|
|
* @Author: your name
|
|
|
* @Date: 2021-09-14 10:46:45
|
|
|
- * @LastEditTime: 2021-09-15 19:21:11
|
|
|
+ * @LastEditTime: 2021-09-16 17:49:53
|
|
|
* @LastEditors: Please set LastEditors
|
|
|
* @Description: In User Settings Edit
|
|
|
* @FilePath: /MedicalWisdomCheckSys/src/pages/GradeHospitalAccreditation/articleManagement/model.ts
|
|
|
*/
|
|
|
|
|
|
-import { useState, useEffect } from 'react';
|
|
|
-import { getTreeList } from '@/pages/GradeHospitalAccreditation/accreditationDetail/service';
|
|
|
-import { getTreeFileTableData,getDepartmentList } from './server';
|
|
|
+import { useState, useEffect,Key } from 'react';
|
|
|
+import { getTreeFileTableData,getDepartmentList,settingArticle,batchSettingArticle } from './server';
|
|
|
+import {getTreeList} from '@/pages/GradeHospitalAccreditation/accreditationDetail/service';
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
//articleManagement
|
|
|
const articleManagement = () => {
|
|
|
const [treeData, setTreeData] = useState([]);
|
|
|
- const [tableData, setTableData] = useState([]);
|
|
|
+ // const [tableData, setTableData] = useState([]);
|
|
|
const [currentActivedTree, setCurrentActivedTree] = useState<MccsFileTree.childTree>();
|
|
|
const [isLeaf, setIsLeaf] = useState(false);
|
|
|
const [scoreList, setScoreList] = useState<any[]>([]);
|
|
@@ -23,36 +28,51 @@ const articleManagement = () => {
|
|
|
const [selectedDepartment,setSelectedDepartment] = useState<any>();
|
|
|
const [targetScores,setTargetScores] = useState<MccsClickableTabs.TabType[]>([]);
|
|
|
const [ruleTypes,setRuleTypes] = useState<MccsClickableTabs.TabType[]>([]);
|
|
|
+ const [records,setRecords]=useState<MccsRecordList.MccsRecordListType>();
|
|
|
+
|
|
|
+ const [selectedRowKeys,setSelectedRowKeys] = useState<number[]|string[]>([]);
|
|
|
|
|
|
- const getTreeData = async (keyword?: string | number) => {
|
|
|
- const { list = [] } = await getTreeList(keyword);
|
|
|
+ const [drawerVisible, setDrawerVisible] = useState(false);
|
|
|
+ const [drawerFormType,setDrawerFormType] = useState<'ARTICLE_SET'|'BATCHSETTING'>('ARTICLE_SET');
|
|
|
|
|
|
- setTreeData(list);
|
|
|
+ const [reloadRightContent,setReloadRightContent] = useState(false);
|
|
|
+
|
|
|
+ const getArticleTreeData = async (keyword?:string|number) => {
|
|
|
+ //获取树数据
|
|
|
+ const { list = [] } = await getTreeList(keyword);
|
|
|
+ setTreeData(list);
|
|
|
};
|
|
|
|
|
|
- const getTableData = async (params: any, sorter?: any, filter?: any) => {
|
|
|
- const resp = await getTreeFileTableData({
|
|
|
- ...params,
|
|
|
- id: currentActivedTree ? currentActivedTree.id : 0,
|
|
|
- });
|
|
|
-
|
|
|
- if (resp) {
|
|
|
- const {
|
|
|
- page: { list = [] },
|
|
|
- leafData,
|
|
|
- ifLeaf,
|
|
|
- } = resp;
|
|
|
- if (!ifLeaf) {
|
|
|
- return {
|
|
|
- data: list,
|
|
|
- success: true,
|
|
|
- };
|
|
|
- }
|
|
|
- if (ifLeaf && leafData) {
|
|
|
- setLeafData(leafData);
|
|
|
+ const getTableData = async (params?: any, sorter?: any, filter?: any) => {
|
|
|
+ //根据选中树结构的id获取对应的详情
|
|
|
+ if (currentActivedTree) {
|
|
|
+ const resp = await getTreeFileTableData({
|
|
|
+ ...params,
|
|
|
+ id: currentActivedTree ? currentActivedTree.id : 0,
|
|
|
+ });
|
|
|
+
|
|
|
+ if (resp) {
|
|
|
+ const {
|
|
|
+ page,
|
|
|
+ leafData,
|
|
|
+ isLeaf,
|
|
|
+ } = resp;
|
|
|
+
|
|
|
+ if (!isLeaf&&page) {
|
|
|
+ //非叶子结点返回table数据
|
|
|
+ const { list = [] } = page;
|
|
|
+ return {
|
|
|
+ data: list,
|
|
|
+ success: true,
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isLeaf && leafData) {
|
|
|
+ setLeafData(leafData);
|
|
|
+ }
|
|
|
}
|
|
|
+ return [];
|
|
|
}
|
|
|
- return [];
|
|
|
};
|
|
|
|
|
|
|
|
@@ -69,14 +89,69 @@ const articleManagement = () => {
|
|
|
|
|
|
}
|
|
|
|
|
|
- const getManagers = (value:any,option:any)=>{
|
|
|
- //获取责任人
|
|
|
+ type FormValueType = {
|
|
|
+ articleType:{label:string,value:string},
|
|
|
+ responsibilityDepartment:{label:string,value:number,[key:string]:any},
|
|
|
+ responsibilityUser:{label:string,value:number,[key:string]:any},
|
|
|
+ targetScores:{label:string,value:string},
|
|
|
+ }
|
|
|
+
|
|
|
+ const batchSetting = async (values:FormValueType)=>{
|
|
|
+ //批量设置
|
|
|
+ const resp = await batchSettingArticle({
|
|
|
+ ruleIds:selectedRowKeys,
|
|
|
+ responsibilityDepartmentId:values.responsibilityDepartment.value,
|
|
|
+ responsibilityDepartmentName:values.responsibilityDepartment.label,
|
|
|
+ responsibilityUserId:values.responsibilityUser.value,
|
|
|
+ responsibilityUserName:values.responsibilityUser.label,
|
|
|
+ targetEvaluation:values.targetScores.value,
|
|
|
+ articleType:values.articleType.value
|
|
|
+ });
|
|
|
+
|
|
|
+ if(resp){
|
|
|
+ //重新刷新表格
|
|
|
+ setReloadRightContent(true);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ const setArticle = async (values:FormValueType)=>{
|
|
|
+ //条文设置
|
|
|
+ // console.log({values});
|
|
|
+ const {} = values;
|
|
|
+
|
|
|
+ if(currentActivedTree&&leafData){
|
|
|
+ const { id:ruleId } = currentActivedTree;
|
|
|
+ const {id} = leafData;
|
|
|
+
|
|
|
+ let paramsData = {
|
|
|
+ id,
|
|
|
+ ruleId:Number(ruleId),
|
|
|
+ responsibilityDepartmentId:values.responsibilityDepartment.value,
|
|
|
+ responsibilityDepartmentName:values.responsibilityDepartment.label,
|
|
|
+ responsibilityUserId:values.responsibilityUser.value,
|
|
|
+ responsibilityUserName:values.responsibilityUser.label,
|
|
|
+ targetEvaluation:values.targetScores.value,
|
|
|
+ articleType:values.articleType.value
|
|
|
+ }
|
|
|
+ const resp = await settingArticle(paramsData);
|
|
|
+ if(resp){
|
|
|
+ //更新界面信息
|
|
|
+ getTableData();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- const getDepartment = async (value:any,option:any)=>{
|
|
|
+ const getDepartment = async (item:any,option:any)=>{
|
|
|
//获取责任单位
|
|
|
setSelectedDepartment(option);
|
|
|
- const resp = await getDepartmentList({'responsibilityDepartmentId':value});
|
|
|
+
|
|
|
+ const resp = await getDepartmentList({'responsibilityDepartmentId':item.value});
|
|
|
if(resp){
|
|
|
const {list=[]} = resp;
|
|
|
const tempPeople = list.map((item:any)=>({
|
|
@@ -89,11 +164,9 @@ const articleManagement = () => {
|
|
|
|
|
|
useEffect(() => {
|
|
|
if (currentActivedTree) {
|
|
|
- const { isLeaf, id } = currentActivedTree;
|
|
|
+ const { isLeaf} = currentActivedTree;
|
|
|
setIsLeaf(isLeaf);
|
|
|
- if (isLeaf) {
|
|
|
- getTableData({ id });
|
|
|
- }
|
|
|
+ getTableData();
|
|
|
}
|
|
|
setTargetScores([
|
|
|
{
|
|
@@ -103,6 +176,10 @@ const articleManagement = () => {
|
|
|
{
|
|
|
label:'B',
|
|
|
value:'B'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label:'C',
|
|
|
+ value:'C'
|
|
|
}
|
|
|
]);
|
|
|
setRuleTypes([
|
|
@@ -123,48 +200,75 @@ const articleManagement = () => {
|
|
|
|
|
|
useEffect(() => {
|
|
|
if (leafData) {
|
|
|
- const { systemEvaluation, targetEvaluation, selfEvaluation, siteEvaluation } = leafData;
|
|
|
+ const { systemEvaluation, targetEvaluation, selfEvaluation, siteEvaluation,records=[] } = leafData;
|
|
|
const tempScoreList = [
|
|
|
{
|
|
|
label: '自评',
|
|
|
- value: selfEvaluation,
|
|
|
+ value: selfEvaluation?selfEvaluation:'-',
|
|
|
},
|
|
|
{
|
|
|
label: '现场查核',
|
|
|
- value: siteEvaluation,
|
|
|
+ value: siteEvaluation?siteEvaluation:'-',
|
|
|
},
|
|
|
{
|
|
|
label: '目标',
|
|
|
- value: targetEvaluation,
|
|
|
+ value: targetEvaluation?targetEvaluation:'-',
|
|
|
},
|
|
|
{
|
|
|
label: '系统评分',
|
|
|
- value: systemEvaluation,
|
|
|
+ value: systemEvaluation?systemEvaluation:'-',
|
|
|
},
|
|
|
];
|
|
|
+ // console.log({tempScoreList});
|
|
|
+
|
|
|
+ const tempRecords = records.map((item:API.RecordsItemType)=>{
|
|
|
+
|
|
|
+ const tempArr = item.details.map(val=>({
|
|
|
+ name:val.userName,
|
|
|
+ fileName:val.fileName,
|
|
|
+ fileUrl:val.fileUrl,
|
|
|
+ createTime:val.createTime,
|
|
|
+ recordTypeName:val.recordTypeName,
|
|
|
+ historyRecords:[]
|
|
|
+ }))
|
|
|
+ return {
|
|
|
+ evaluation:item.evaluation,
|
|
|
+ details:tempArr
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
setScoreList(tempScoreList);
|
|
|
+ setRecords(tempRecords);
|
|
|
}
|
|
|
}, [leafData]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
- getTreeData();
|
|
|
+ getArticleTreeData();
|
|
|
}, []);
|
|
|
|
|
|
return {
|
|
|
isLeaf,
|
|
|
treeData,
|
|
|
setTreeData,
|
|
|
- getTreeData,
|
|
|
+ getArticleTreeData,
|
|
|
getTableData,
|
|
|
currentActivedTree,
|
|
|
setCurrentActivedTree,
|
|
|
scoreList, //评分
|
|
|
getDepartmentRequest,
|
|
|
departmentManagers,
|
|
|
- getManagers,
|
|
|
getDepartment,
|
|
|
targetScores,
|
|
|
- ruleTypes
|
|
|
+ ruleTypes,
|
|
|
+ leafData,
|
|
|
+ setArticle,
|
|
|
+ batchSetting,
|
|
|
+ drawerFormType,
|
|
|
+ setDrawerFormType,
|
|
|
+ drawerVisible,
|
|
|
+ setDrawerVisible,
|
|
|
+ setSelectedRowKeys,
|
|
|
+ reloadRightContent
|
|
|
};
|
|
|
};
|
|
|
|