Browse Source

Merge branch 'develop_0715' of http://120.55.44.4:10080/xujunjie/WorkloadWeb into develop_0715

xujunjie 2 years ago
parent
commit
c813075f68

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

@@ -34,6 +34,7 @@ function AuditFlow(props) {
     activityId,
     direction,
   } = props;
+  console.log('------------------------------', props);
   const [flow, setFlow] = useState({ workflowActivityRules: [] });
   const timerRef = useRef({
     id: '',

+ 8 - 7
src/pages/PurchaseAdmin/PurchaseList/Detail/CommitAuditModal.js

@@ -136,12 +136,13 @@ function CommitAuditModal(props) {
       .flat(Infinity);
     let codeList = [...new Set(result)]
       .map(Id => {
-        return flowDetail.nodes.find?.(item => item.Id == Id).process_code;
+        return flowDetail.nodes.find?.(item => item.Id == Id);
       })
-      .filter(item => item);
+      .filter(item => item.process_code);
     for (let i = 0; i < codeList.length; i++) {
-      let res = await queryDingSchema({ process_code: codeList[i] });
+      let res = await queryDingSchema({ process_code: codeList[i].process_code });
       if (res) {
+        res.data.result.nodeId = codeList[i].Id;
         addAuditList.push(res.data.result);
       }
     }
@@ -150,8 +151,8 @@ function CommitAuditModal(props) {
       let Components = Form3x.create({
         onValuesChange: (props, changedValues, allValues) => {
           const { items } = props;
-          console.log(props, allValues);
-          formComponentValues[item.formCode] = items
+          console.log(item);
+          formComponentValues[item.nodeId] = items
             .map(item => {
               const itemProps = item.props;
               if (!itemProps.label) return;
@@ -209,7 +210,7 @@ function CommitAuditModal(props) {
         processCode: approvalNode.process_code,
         originatorUserId: '16569001414345099',
         deptId: '14169890',
-        formComponentValues: data[approvalNode.process_code],
+        formComponentValues: data[approvalNode.Id],
       };
       result.push(JSON.stringify(formItem));
     });
@@ -362,7 +363,7 @@ function CommitAuditModal(props) {
             {item.FormComponents}
             <AuditFlow
               processCode={item.formCode}
-              formComponentValues={formComponentValues[item.formCode]}
+              formComponentValues={formComponentValues[item.nodeId]}
             />
           </TabPane>
         ))}

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

@@ -22,6 +22,7 @@ import MergeModal from './MergeModal';
 import { GetTokenFromUrl, getToken } from '@/utils/utils';
 import { queryDetail } from '@/services/boom';
 import HistoryDrawer from './HistoryDrawer';
+import AuditFlow from './AuditFlow';
 const LocalData = localStorage.luckysheet;
 
 const { Option } = Select;
@@ -41,6 +42,7 @@ function Detail(props) {
     flowDetail,
     versionTree,
     match: { params },
+    instanceDetail,
   } = props;
   const [versionTreeVisible, setVersionTreeVisible] = useState(false);
   const [commentVisible, setCommentVisible] = useState(false);
@@ -78,6 +80,26 @@ function Detail(props) {
   const projectId = parseInt(params.projectId);
   const templateId = parseInt(params.templateId);
 
+  const auditDetail = useMemo(() => {
+    const { tasks, form_component_values } = instanceDetail;
+    let data = {
+      processCode: '',
+      deptId: '14169890',
+      userId: '16569001414345099',
+      formComponentValues: form_component_values?.filter(item => item.name),
+      activityId: '',
+      status: version.active_audit,
+    };
+    if (version?.flow_id && tasks?.length > 0) {
+      let item = flowDetail.nodes.find(item => item.Id == version.template_node_id);
+      if (!item) return data;
+      data.processCode = item.process_code;
+      data.activityId = tasks[tasks.length - 1]?.activity_id;
+    }
+    console.log('====================auditDetail ', data);
+    return data;
+  }, [instanceDetail, version]);
+
   const flow = useMemo(() => {
     let data = {
       active: 0,
@@ -98,7 +120,6 @@ function Detail(props) {
       item.currentNode = item.list.FlowNodes[item.current];
       data = item;
     }
-
     return data;
   }, [auditList, version]);
   const active_audit = flow.active_audit;
@@ -926,8 +947,15 @@ function Detail(props) {
           onChange={e => exportExcl(e.target.files)}
         />
       </div>
-      <TimeNode flow={flow} isAuditor={isAuditor} onApprove={onApprove}></TimeNode>
-
+      {/* <TimeNode flow={flow} isAuditor={isAuditor} onApprove={onApprove}></TimeNode> */}
+      <AuditFlow
+        status={auditDetail.status}
+        processCode={auditDetail.processCode}
+        deptId="14169890"
+        userId="16569001414345099"
+        activityId={auditDetail.activityId}
+        formComponentValues={auditDetail.formComponentValues}
+      />
       {renderAlert()}
       {/* 判断是否为比对模式 */}
       {compareList.length == 2 ? (
@@ -1037,6 +1065,7 @@ export default connect(({ detail, user, xflow, loading }) => ({
   fileList: detail.fileList,
   history: detail.history,
   comment: detail.comment,
+  instanceDetail: detail.dingInstanceDetail,
   currentUser: user.currentUser,
   roleList: detail.roleList,
   versionList: detail.versionList,

+ 5 - 1
src/pages/PurchaseAdmin/PurchaseList/Detail/models/detail.js

@@ -75,6 +75,7 @@ export default {
     authority: [],
     versionTree: [],
     auditExcel: [],
+    dingInstanceDetail: [],
   },
 
   effects: {
@@ -524,7 +525,10 @@ export default {
     *queryDingInstanceDetail({ payload, callback }, { call, put }) {
       const response = yield call(queryDingInstanceDetail, payload);
       if (response) {
-        callback && callback(response.data?.all);
+        yield put({
+          type: 'save',
+          payload: { dingInstanceDetail: response.data?.process_instance },
+        });
       }
     },
   },

+ 4 - 1
src/services/boom.js

@@ -109,7 +109,10 @@ export async function queryDingSchema(params) {
   return request(`/api/v1/purchase/bom/ding/schema?${stringify(params)}`);
 }
 export async function queryDingInstanceDetail(params) {
-  return request(`/api/v1/purchase/bom/ding/instance-detail?${stringify(params)}`);
+  return request(`/api/v1/purchase/bom/ding/instance-detail`, {
+    method: 'POST',
+    body: params,
+  });
 }
 /**
  * 查看项目流程列表