Browse Source

成员管理增加flow_id

xjj 2 years ago
parent
commit
00d9f28142

+ 14 - 17
src/pages/PurchaseAdmin/PurchaseList/Approval/List.js

@@ -296,10 +296,6 @@ function List(props) {
         onClick={() => {
           setCurrentItem(record);
           setMemberVisible(true);
-          dispatch({
-            type: 'approval/queryMember',
-            payload: { project_code_id: record.id },
-          });
         }}
       >
         成员管理
@@ -351,11 +347,11 @@ function List(props) {
             dispatch({
               type: 'approval/queryBudget',
               payload: {
-                project_id: record?.id
+                project_id: record?.id,
               },
               callback: () => {
                 setBudgetVisible(true);
-              }
+              },
             });
           }}
         >
@@ -456,16 +452,17 @@ function List(props) {
         }
         break;
     }
-    let modifyManager = (<a
-      onClick={() => {
-        setCurrentItem(record);
-        setModifyManagerVisible(true);
-      }}
-    >
-      修改项目经理
-    </a>)
-    if (project_status === 0 || project_status === 5)
-      dividerPush(modifyManager, toReturn);
+    let modifyManager = (
+      <a
+        onClick={() => {
+          setCurrentItem(record);
+          setModifyManagerVisible(true);
+        }}
+      >
+        修改项目经理
+      </a>
+    );
+    if (project_status === 0 || project_status === 5) dividerPush(modifyManager, toReturn);
     return toReturn;
   };
 
@@ -587,5 +584,5 @@ export default connect(({ approval, user, loading }) => ({
   loading: loading.models.approval,
   depUserTree: approval.depUserTree,
   member: approval.member,
-  budget: approval.budget
+  budget: approval.budget,
 }))(List);

+ 35 - 2
src/pages/PurchaseAdmin/PurchaseList/Approval/MemberModal.js

@@ -1,10 +1,20 @@
 import React, { useState, useEffect } from 'react';
-import { Form, Modal, TreeSelect, Table, Button, Input } from 'antd';
+import { Form, Modal, TreeSelect, Table, Button, Input, Tabs } from 'antd';
 import { connect } from 'dva';
 const { TreeNode } = TreeSelect;
+const { TabPane } = Tabs;
+
+//状态
+const STATUS = [
+  { value: 1, label: '售前' },
+  { value: 2, label: '执行' },
+  { value: 4, label: '运营' },
+  { value: 6, label: '质保' },
+];
 
 function MemberModal(props) {
   const { visible, onClose, currentItem, loading, depUserTree, dataSource, dispatch } = props;
+  const [type, setType] = useState('1');
   const [form] = Form.useForm();
   const [currentMember, setCurrentMember] = useState({});
 
@@ -42,7 +52,7 @@ function MemberModal(props) {
       onOk() {
         dispatch({
           type: 'approval/deleteMember',
-          payload: { project_code_id: currentItem.id, user_id: item.ID },
+          payload: { project_code_id: currentItem.id, user_id: item.ID, flow_id: Number(type) },
         });
       },
     });
@@ -55,6 +65,7 @@ function MemberModal(props) {
         payload: {
           project_code_id: currentItem.id,
           user_id: Number(memberID.split('||')[0]),
+          flow_id: Number(type),
         },
         callback: () => {
           form.resetFields();
@@ -64,6 +75,20 @@ function MemberModal(props) {
     // form.resetFields();
   };
 
+  const handleChange = type => {
+    setType(type);
+    dispatch({
+      type: 'approval/queryMember',
+      payload: { project_code_id: currentItem.id, flow_id: Number(type) },
+    });
+  };
+
+  useEffect(() => {
+    if (currentItem?.id) {
+      handleChange('1');
+    }
+  }, [currentItem]);
+
   return (
     <Modal
       title="成员管理"
@@ -75,6 +100,14 @@ function MemberModal(props) {
       footer={null}
       width="70%"
     >
+      <Tabs activeKey={type} onChange={type => handleChange(type)}>
+        {STATUS.map(
+          item =>
+            currentItem.flow_id >= item.value && (
+              <TabPane tab={item.label} key={item.value}></TabPane>
+            )
+        )}
+      </Tabs>
       <Form
         labelCol={{ span: 6 }}
         wrapperCol={{ span: 10 }}

+ 2 - 2
src/pages/PurchaseAdmin/PurchaseList/Approval/models/approval.js

@@ -204,7 +204,7 @@ export default {
       message.success('添加成功');
       yield put({
         type: 'queryMember',
-        payload: { project_code_id: payload.project_code_id },
+        payload: { project_code_id: payload.project_code_id, flow_id: payload.flow_id },
       });
     },
     *deleteMember({ payload, callback }, { call, put }) {
@@ -214,7 +214,7 @@ export default {
       message.success('移除成功');
       yield put({
         type: 'queryMember',
-        payload: { project_code_id: payload.project_code_id },
+        payload: { project_code_id: payload.project_code_id, flow_id: payload.flow_id },
       });
     },
     *startExecution({ payload, callback }, { call, put }) {

+ 8 - 2
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/AuthWorkList.js

@@ -203,9 +203,15 @@ function AuthWorkList(props) {
             if (auditTime > 0) {
               extra = (
                 <>
-                  <a onClick={() => onAgree(item.audit, true)}>全部通过</a>
+                  <a onClick={(e) => {
+                    e.stopPropagation();
+                    onAgree(item.audit, true)
+                  }}>全部通过</a>
                   <Divider type="vertical"></Divider>
-                  <a style={{ color: '#f5222d' }} onClick={() => onReject(item.audit)}>
+                  <a style={{ color: '#f5222d' }} onClick={() => {
+                    e.stopPropagation();
+                    onReject(item.audit)
+                  }}>
                     全部拒绝
                   </a>
                 </>

+ 5 - 4
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/WorkList.js

@@ -34,7 +34,7 @@ function WorkList(props) {
           return '总计 ' + item.children.reduce((total, item) => total + item.workload, 0) + '小时';
         }
         if (item.audit_state == 1 || item.audit_state == 2) return item?.workload + '小时';
-        workHour[`${item.type_id}.${item.project_id}.${item.time}`] = item?.workload;
+        workHour[`${item.id}`] = item?.workload;
         return (
           <InputNumber
             style={{ width: 60 }}
@@ -42,7 +42,7 @@ function WorkList(props) {
             step={0.5}
             defaultValue={item?.workload}
             onChange={value => {
-              workHour[`${item.type_id}.${item.project_id}.${item.time}`] = value;
+              workHour[`${item.id}`] = value;
             }}
           />
         );
@@ -59,7 +59,7 @@ function WorkList(props) {
           <>
             <a
               onClick={() =>
-                onHandleSave(item, workHour[`${item.type_id}.${item.project_id}.${item.time}`])
+                onHandleSave(item, workHour[`${item.id}`])
               }
             >
               保存
@@ -67,7 +67,7 @@ function WorkList(props) {
             <Divider type="vertical"></Divider>
             <a
               onClick={() =>
-                onAuth(item, workHour[`${item.type_id}.${item.project_id}.${item.time}`])
+                onAuth(item, workHour[`${item.id}`])
               }
             >
               上报审批
@@ -136,6 +136,7 @@ function WorkList(props) {
   useEffect(() => {
     getList();
   }, [list]);
+
   return (
     <div>
       <Table

+ 6 - 3
src/services/approval.js

@@ -106,9 +106,12 @@ export async function startQuality(data) {
 
 //移除成员
 export async function deleteMember(data) {
-  return request(`/api/v2/project_code/user/${data.project_code_id}/${data.user_id}`, {
-    method: 'DELETE',
-  });
+  return request(
+    `/api/v2/project_code/user/${data.project_code_id}/${data.user_id}?flow_id=${data.flow_id}`,
+    {
+      method: 'DELETE',
+    }
+  );
 }
 
 //获取项目预算