Browse Source

增加回退功能

xujunjie 1 năm trước cách đây
mục cha
commit
f822246b56

+ 53 - 7
src/pages/Detail/AuditModal.js

@@ -2,21 +2,52 @@ import React, { useEffect, useMemo } from 'react';
 import { Form } from '@ant-design/compatible';
 import '@ant-design/compatible/assets/index.css';
 import { Modal, Input } from 'antd';
+import AliyunOSSUpload from '@/components/OssUpload/AliyunOssUploader';
+import { connect } from 'dva';
 
 // 审批意见
 function AuditModal(props) {
-  const { flow, version, flowDetail, visible, onClose, onOk, form, sheetRef, loading, versionList } = props;
+  const {
+    flow,
+    version,
+    flowDetail,
+    visible, // 1 通过审批   2 拒绝  3 退回
+    onClose,
+    onOk,
+    form,
+    sheetRef,
+    loading,
+    versionList,
+    OSSData,
+  } = props;
 
   const handleOk = () => {
     form.validateFields((err, fieldsValue) => {
       if (err) return;
+      let audit_status = null;
+      // 3 通过审批   2 拒绝审批  5 退回
+      if (visible == 1) {
+        audit_status = 3;
+      } else if (visible == 2) {
+        audit_status = 2;
+      } else if (visible == 3) {
+        audit_status = 5;
+      }
       onOk({
         ...fieldsValue,
-        // 3 通过审批   2 拒绝审批
-        audit_status: visible == 1 ? 3 : 2,
+        audit_status,
       });
     });
   };
+  const uploadProps = {
+    directory: false,
+    label: '上传文件',
+    OSSData: OSSData,
+    noStyle: false,
+    onChange: files => {
+      let data = files.map(file => OSSData.host + '/' + file.url);
+    },
+  };
 
   const content = useMemo(() => {
     let content = '';
@@ -64,6 +95,17 @@ function AuditModal(props) {
     return '';
   }, [visible]);
 
+  const title = useMemo(() => {
+    switch (visible) {
+      case 1:
+        return '是否确认通过审批?';
+      case 2:
+        return '是否确认拒绝审批?';
+      case 3:
+        return '是否确认回退审批?';
+    }
+  }, [visible]);
+
   useEffect(() => {
     if (visible) {
       try {
@@ -75,7 +117,7 @@ function AuditModal(props) {
           str += `单元格${col}${item.r}:${item.value}\n`;
         });
         form.setFieldsValue({ audit_comment: str });
-      } catch (error) { }
+      } catch (error) {}
     }
   }, [visible]);
 
@@ -83,7 +125,7 @@ function AuditModal(props) {
     <Modal
       confirmLoading={loading}
       destroyOnClose
-      title={visible == 1 ? '是否确认通过审批?' : '是否确认拒绝审批?'}
+      title={title}
       visible={visible}
       onCancel={onClose}
       onOk={handleOk}
@@ -92,8 +134,12 @@ function AuditModal(props) {
       <Form.Item labelCol={{ span: 5 }} wrapperCol={{ span: 15 }} label="审批意见">
         {form.getFieldDecorator('audit_comment')(<Input.TextArea />)}
       </Form.Item>
+      <Form.Item labelCol={{ span: 5 }} wrapperCol={{ span: 15 }} label="附件">
+        {OSSData.host && <AliyunOSSUpload {...uploadProps} />}
+      </Form.Item>
     </Modal>
   );
 }
-
-export default Form.create()(AuditModal);
+export default connect(({ detail }) => ({
+  OSSData: detail.OSSData,
+}))(Form.create()(AuditModal));

+ 3 - 0
src/pages/Detail/CommitAuditModal.js

@@ -585,6 +585,9 @@ function CommitAuditModal(props) {
         json: JSON.stringify({approvalProcess, formList}),
       });
       params.audit_series = uuidv4();
+      if(version.audit_status == 5) {
+        params.audit_status = version.audit_status;
+      }
       params.files = uploadList.current.join(',');
       onSubmitNextNode(params);
     } catch (error) {

+ 1 - 1
src/pages/Detail/DropdownMenu.js

@@ -153,7 +153,7 @@ function DropdownMenu(props) {
       }
       return bool;
     };
-    if (getIsSubmit() && version.audit_status == 0)
+    if (getIsSubmit() && (version.audit_status == 0 || version.audit_status == 5))
       menuList.push(<Menu.Item key="commitAudit">提交流转</Menu.Item>);
 
     if (!isAuditor && canEdit() && !version.flow_id) {

+ 3 - 0
src/pages/Detail/FlowModal.js

@@ -290,6 +290,9 @@ function FlowModal(props) {
             case 4:
               txt = '已提交';
               break;
+            case 5:
+              txt = '已退回';
+              break;
           }
           if (item.status == 1) txt = '已失效';
 

+ 2 - 3
src/pages/Detail/LuckySheet.js

@@ -83,7 +83,7 @@ class LuckySheet extends React.Component {
       // forceCalculation: true,
       hook: {
         cellMousedown: (cell, position, sheet) => {
-          console.log(cell, position, sheet)
+          console.log(cell, position, sheet);
           onClickCell && onClickCell(cell, position, sheet);
         },
         cellPasteBefore: cell => {
@@ -210,7 +210,7 @@ class LuckySheet extends React.Component {
           hintText: '该清单已设置为最终版本,禁止编辑!',
         };
         unableEdit(option);
-      } else if (version.audit_status != 0 || version.status == 1) {
+      } else if ((version.audit_status != 0 && version.audit_status != 5) || version.status == 1) {
         option.authority = {
           sheet: true,
           hintText: '当前清单不可编辑!',
@@ -662,7 +662,6 @@ class LuckySheet extends React.Component {
     }
   }
 
-
   render() {
     return (
       <iframe

+ 5 - 2
src/pages/Detail/TimeNode.js

@@ -86,10 +86,13 @@ function TimeNode(props) {
         {isAuditor && active != 0 && (
           <div className={styles.btns} style={{margin: '40px 0'}}>
             <Button type="primary" onClick={() => setAuditVisible(1)}>
-              审批通过
+              通过
+            </Button>
+            <Button onClick={() => setAuditVisible(3)}>
+              回退
             </Button>
             <Button onClick={() => setAuditVisible(2)} danger>
-              审批拒绝
+              拒绝
             </Button>
           </div>
         )}