فهرست منبع

修改查看审批进度

Renxy 3 سال پیش
والد
کامیت
6bcae78fc7

+ 34 - 34
src/pages/PurchaseAdmin/PurchaseList/Detail/FlowModal.js

@@ -19,7 +19,6 @@ function FlowModal(props) {
   const [nodeLoading, setNodeLoading] = useState(false);
   const [pageSize, setPageSize] = useState(9)
   const [stepsData, setStepsData] = useState([])
-  const [auditVisible, setAuditVisible] = useState(false);
   // const app = useXFlowApp();
   // const appRef = userRef()
 
@@ -35,11 +34,16 @@ function FlowModal(props) {
   }, [flowDetail, version.template_node_id]);
 
   useEffect(() => {
-    if(!visible) setAuditVisible(false);
+    if(!visible) updateSteps([]);
   }, [visible, version])
+
   useEffect(()=>{
-    if(!auditVisible) setPageSize(9)
-  },[auditVisible])
+    if(stepsData.length <= 0){
+      setPageSize(9);
+    }else{
+      setPageSize(9 - stepsData.length)
+    }
+  },[stepsData])
 
   const handleSelectNode = async args => {
     let res;
@@ -66,53 +70,47 @@ function FlowModal(props) {
       console.log(error);
     }
     setNodeLoading(false);
-    setAuditVisible(false);
+    updateSteps([]);
   };
 
   const updateSteps = (data) => {
     let newData = [];
     let set = new Set()
     data.forEach(item=>set.add(item.template_node_id));
-    // console.log("========================节点id ",[...set])
+    console.log("========================节点id ",[...set])
     let dataList = [...set].map(template_node_id=>{
       
-      let itemDataList = data.filter(item => item.template_node_id == template_node_id).sort((a, b)=>{
-        return a.nodeId > b.nodeId
+      let itemDataList = data.filter(item => item.template_node_id == template_node_id)
+      console.log("========================节点id ",itemDataList)
+      let  curid = 3
+      let status = 'process';
+      itemDataList.forEach(item=>{
+        if(item.audit_status != 3 && item.node_id <= curid) curid = item.node_id - 1;
+        if(item.audit_status == 2) status = 'error';
       })
       let obj = { 
-        current:itemDataList.find(item=>item.node_id == itemDataList.length)?.audit_status != 3 ? itemDataList.length-1 : itemDataList.length ,
+        status,
+        current:curid,//itemDataList.find(item=>item.node_id == itemDataList.length)?.audit_status != 3 ? itemDataList.length-1 : itemDataList.length ,
         list: itemDataList[0].FlowInfo.FlowNodes,
         name:itemDataList[0].FlowInfo.name,
       }
       itemDataList.forEach((itemData, idx) => {
-        // if(itemData.audit_status != 3 && obj.current < itemData.node_id -1) {
-        //   obj.current = itemData.node_id -1;
-        // }
-        obj.list[idx].auditor = itemData.auditor;
+        if(idx >= obj.list.length) return;
+        obj.list[idx].auditor = itemData.AuthorInfo.CName;
       })
+      console.log("---------------------", obj)
       return obj
     })
-    // console.log("================dataList   ",dataList)
-
-    // template_node_id: 430   audit_status: 1 FlowInfo.name:'测试审批'
-    // data?.forEach(item => {
-    //   let list = {
-    //     current: item.audit_status == 0 ? item.audit_status : item.audit_status-1,
-    //     list:item.FlowInfo.FlowNodes,
-    //     name:item.FlowInfo.name,
-    //   }
-    //   newData.push(list);
-    // })
+    console.log(dataList)
     setStepsData(dataList)
-    setPageSize(pageSize - data.length)
   };
 
   const handleChangeClick = (item) => {
-    message.success('哈哈哈哈')
     dispatch({
       type: 'detail/queryAuditExcel',
       payload: {
         excel_id: item.id,
+        pageSize: 100,
         // project_id: item.project_id,
         // template_id:item.template_id,
         // template_node_id:item.template_node_id,
@@ -121,7 +119,6 @@ function FlowModal(props) {
         updateSteps(res);
       },
     });
-    setAuditVisible(true)
   }
   const columns = useMemo(() => {
     return [
@@ -158,10 +155,9 @@ function FlowModal(props) {
               txt = '已提交';
               break;
           }
-          return <Button onClick={()=>handleChangeClick(item)}>{txt}</Button>
-          // (item.audit_status == 1 || item.audit_status == 4) ? 
-          //   <Button onClick={()=>handleChangeClick(item)}>{txt}</Button> :
-          //   <span style={style} >{txt}</span>
+          return  item.audit_status != 0  ? 
+            <Button onClick={()=>handleChangeClick(item)}>{txt}</Button> :
+            <span style={style} >{txt}</span>
               
         },
       },
@@ -182,6 +178,10 @@ function FlowModal(props) {
     ];
   }, [version]);
 
+  const onChange = () => {
+    updateSteps([]);
+  }
+
   return (
     <Modal
       confirmLoading={loading}
@@ -198,16 +198,16 @@ function FlowModal(props) {
         </Col>
         <Col span={6} >
           <div style={{width:'100%'}}>
-            <Table style={{maxHeight:'90%'}} columns={columns} dataSource={data} loading={nodeLoading} bordered={false} pagination={{ pageSize}}/>
+            <Table style={{maxHeight:'90%'}} columns={columns} dataSource={data} loading={nodeLoading} bordered={false} pagination={{ pageSize, onChange}}/>
           </div>
           {stepsData.map((item ,idx)=> <div key={`${item.name}_${idx}`} style={{marginBottom:'20px'}}>
             <div style={{marginBottom:'4px'}}>{item.name}</div>
-            <Steps size='small' current={item.current} >
+            <Steps size='small' current={item.current} status={item.status} >
               {item.list.map(node => 
                 <Step
                   key={`${node.id}_${node.node}`}
                   title={node.node}
-                  description={`审批人:${item?.auditor || '-'}`}
+                  description={`审批人:${node.auditor || '-'}`}
                 />
               )}
             </Steps>

+ 1 - 0
src/pages/PurchaseAdmin/PurchaseList/Detail/HistoryDrawer.js

@@ -16,6 +16,7 @@ function HistoryDrawer(props) {
     loading,
     dispatch,
     versionTree,
+    onChangeVersion,
   } = props;
   const columns = useMemo(() => {
     return [

+ 4 - 3
src/pages/PurchaseAdmin/PurchaseList/Detail/Index.js

@@ -904,9 +904,10 @@ function Detail(props) {
 
       <HistoryDrawer 
         versionTree={versionTree}
-         version={version}
-         visible={versionTreeVisible}
-         onClose={() => setVersionTreeVisible(false)}
+        version={version}
+        visible={versionTreeVisible}
+        onChangeVersion={version => changeVersion(version)}
+        onClose={() => setVersionTreeVisible(false)}
       />
 
       <CommentContent