xujunjie 2 years ago
parent
commit
435458b57b

+ 41 - 6
src/components/DDComponents/DDCode/index.js

@@ -1,16 +1,51 @@
 import QRCode from 'qrcode.react';
-import { connect } from 'dva';
 import React, { useEffect, useState } from 'react';
+import { Spin } from 'antd';
 
+let timer;
 function DDCode(props) {
+  const { value, onChange } = props;
+  const [loading, setLoading] = useState(false);
+  const [time, setTime] = useState(0);
+
+  const queryCode = async () => {
+    setLoading(true);
+    // TODO 查询接口获得code
+
+    setLoading(false);
+    clearInterval(timer);
+    onChange({
+      code: '',
+    });
+    let second = 60 * 5;
+    if (second <= 0) return;
+    setTime(second);
+
+    timer = setInterval(() => {
+      setTime(time => {
+        if (time > 0) {
+          return time--;
+        }
+        return time;
+      });
+    }, second * 1000);
+  };
   return (
     <div>
-      钉钉扫码授权
-      <QRCode size={128} value={'http://192.168.20.80:8000/bom/#/bom/dd-login'} />
+      {time > 0 ? (
+        <div>
+          码授权已获取
+          <br />
+          有效时间:{time}
+        </div>
+      ) : (
+        <Spin spinning={loading}>
+          <QRCode size={128} value={'http://192.168.20.80:8000/bom/#/bom/dd-login'} />
+          请使用钉钉扫码授权<a onClick={queryCode}>刷新</a>
+        </Spin>
+      )}
     </div>
   );
 }
 
-export default connect(({ loading }) => ({
-  loading,
-}))(DDCode);
+export default DDCode;

+ 4 - 0
src/pages/PurchaseAdmin/PurchaseList/Detail/CommitAuditModal.js

@@ -10,6 +10,7 @@ import AuditFlow from './AuditFlow';
 import { queryDingSchema } from '@/services/boom';
 import { Form as Form3x } from '@ant-design/compatible';
 import { getCurrentUser } from '@/utils/authority';
+import DDCode from '@/components/DDComponents/DDCode';
 
 const { TextArea } = Input;
 const { Option } = Select;
@@ -353,6 +354,9 @@ function CommitAuditModal(props) {
         <Form.Item labelCol={{ span: 7 }} wrapperCol={{ span: 15 }} label="备注信息" name="desc">
           <Input.TextArea />
         </Form.Item>
+        <Form.Item labelCol={{ span: 7 }} wrapperCol={{ span: 15 }} label="授权码" name="ddCode">
+          <DDCode />
+        </Form.Item>
       </Form>
       <Tabs defaultActiveKey="1">
         {auditList.map((item, idx) => (

+ 7 - 1
src/pages/PurchaseAdmin/PurchaseList/Detail/LuckySheet.js

@@ -1,6 +1,6 @@
 import React from 'react';
 import { message } from 'antd';
-import exportExcel from '@/utils/exportExcl';
+import exportExcel, { getExcelBolob } from '@/utils/exportExcl';
 import LuckyExcel from 'luckyexcel';
 import { getToken } from '@/utils/utils';
 
@@ -485,6 +485,12 @@ class LuckySheet extends React.Component {
 
     return currentData;
   }
+
+  getExcelBolb() {
+    let currentData = this.getExcelData(checkValue);
+    return getExcelBolob(currentData);
+  }
+
   downloadExcel(checkValue) {
     let currentData = this.getExcelData(checkValue);
     exportExcel(currentData, '下载');