任雪彦 2 жил өмнө
parent
commit
66e58dc266

+ 8 - 0
.umirc.ts

@@ -20,6 +20,14 @@ export default defineConfig({
       changeOrigin: true,
     },
   },
+  // chainWebpack(config) {
+  //   config.module
+  //     .rule()
+  //     .test(/\.(pdf|svg|docx|doc)$/)
+  //     .use('file-loader?name=[path][name].[ext]')
+  //     .loader('file-loader')
+  //     .end()
+  // },
   routes: [
     {
       path: '/',

+ 1 - 0
src/components/FileViewer/index.js

@@ -21,6 +21,7 @@ const FileViewerModal = ({ data, visible, onCancel, downloadFile }) => {
     } else if (data?.url) {
       return (
         <FileViewer
+          
           key={data?.name}
           fileType={type}
           filePath={data?.url}

+ 8 - 0
src/global.less

@@ -92,4 +92,12 @@ input[type='reset'] {
 // Remove outline on focus
 *:focus {
   outline: none;
+}
+#pg-photo-container {
+  width: 100% !important;
+    height: unset !important;
+}
+#pg-photo-container > img{
+  width: 100% !important;
+  height: unset !important;
 }

+ 3 - 3
src/pages/FileManagement/components/PreModal.js

@@ -3,7 +3,7 @@ import { useRef, useEffect, useMemo } from "react";
 import style from './index.less'
 import { useRequest } from '@umijs/max';
 
-const PerModal = ({ node,auditList, visible, handleCancel, handleOk }) => {
+const PerModal = ({ node,fileNode,auditList, visible, handleCancel, handleOk }) => {
   console.log(node)
   const checkedValuesRef = useRef([])
   const auditItem= useRef()
@@ -37,8 +37,8 @@ const PerModal = ({ node,auditList, visible, handleCancel, handleOk }) => {
       form: JSON.stringify(data),
       audit_list:[448],
       files: '',
+      file_type:fileNode?.file_type,
     }
-    console.log(data, auditItem.current);
     handleOk?.(result)
   }
   return (
@@ -51,7 +51,7 @@ const PerModal = ({ node,auditList, visible, handleCancel, handleOk }) => {
       width={800}
     >
       <div className={style.title}>申请权限对象:</div>
-      <div className={style.content}>{node?.dir_name}</div>
+      <div className={style.content}>{fileNode?.file_name}</div>
       <div className={style.title}>选择权限:</div>
       <div className={style.content}>
         <Checkbox.Group options={options} onChange={onChange} />

+ 32 - 29
src/pages/FileManagement/index.js

@@ -17,6 +17,7 @@ import {
 import dayjs from 'dayjs';
 import { PageContainer, ProCard } from '@ant-design/pro-components';
 import { useRequest, useModel } from '@umijs/max';
+import axios from 'axios';
 import {
   queryDirCreate,
   queryDirList,
@@ -32,6 +33,7 @@ import { PlusCircleOutlined } from '@ant-design/icons';
 import AddFileModal from './components/model';
 import PerModal from './components/PreModal';
 import { queryAuditList, createAduit } from '@/services/boom';
+import {stringify} from 'qs'
 
 const tempData = [
   { name: '文件1', upload_user: '管理员', upload_time: '2023-04-08 11:00:00' },
@@ -157,16 +159,15 @@ function FileManagement(props) {
   });
 
   //下载文件
-  const { data: fileData, run:runDownload } = useRequest((data) => queryFileDownload(data), {
-    manual: true,
-    onSuccess: (data) => {
-      console.log("==================", data)
-      message.success('文件下载成功')
-    },
-    onError: (data) => {
-      message.error('文件下载失败')
-    }
-  })
+  // const { data: fileData, run:runDownload } = useRequest((data) => queryFileDownload(data), {
+  //   manual: true,
+  //   onSuccess: (data) => {
+  //     message.success('文件下载成功')
+  //   },
+  //   onError: (data) => {
+  //     message.error('文件下载失败')
+  //   }
+  // })
 
   const [expandedKeys, setExpandedKeys] = useState([]);
   const [searchValue, setSearchValue] = useState('');
@@ -186,7 +187,7 @@ function FileManagement(props) {
       title: '操作',
       render: (_, record) => (
         <Space>
-          <a onClick={()=>{}}>查看</a>
+          <a onClick={()=>handleSeeClick(record)}>查看</a>
           <a onClick={() => onDownload(record)}>下载</a>
           {node?.dir_type == 0 && <a>删除</a>}
         </Space>
@@ -278,7 +279,7 @@ function FileManagement(props) {
       run({ dir_id:node.id })
     }
   }
-
+ cons
   const handleSelect = (SelectKeys, e) => {
     console.log(e, SelectKeys)
     const node = e.node;
@@ -288,24 +289,23 @@ function FileManagement(props) {
 
 
   const onDownload = (record) => {
-    runDownload({file_id:record.id, path:record.path, file_type:node.dir_type })
+    // runDownload({file_id:record.id, path:record.path, file_type:node.dir_type })
     // const token = getToken();
-    // downloadFile(
-    //   `/api/archive/v1/file/download?file_id=${record.id}&JWT-TOKEN=${token}`,
-    //   record.file_name,
-    //   false,
-    // );
-    // downloadFile(
-    //   `http://47.96.12.136:8888/api/archive/v1/file/download?file_id=${record.id}&JWT-TOKEN=${token}`,
-    //   record.file_name,
-    //   false,
-    // );
+    const data = {file_id:record.id, path:record.path, file_type:node.dir_type }
+    window.downloadFile(`/api/archive/v1/file/download?${stringify(data)}`, record.dir_name, false);
   };
 
-  const onDownloadOA = (record) => {
+  const handleSeeClick = (record) => {
     const token = getToken();
-    downloadFile(record.url, record.name);
-  };
+    const data = {file_id:record.id, path:record.path, file_type:node.dir_type,'JWT-TOKEN':token }
+    axios.get(`/api/archive/v1/file/download?${stringify(data)}`)
+      .then(function (response) {
+        console.log(response);
+      })
+      .catch(function (error) {
+        console.log(error);
+      });
+  }
 
   const handleFilesChange = () => {
     const inputDom = document.getElementById('files');
@@ -372,7 +372,7 @@ function FileManagement(props) {
               <Button type="primary" onClick={ ()=>document.getElementById('files')?.click()} disabled={node ? false : true}>上传</Button>
             </Form.Item>
             <Form.Item>
-              <Button type="primary" onClick={() => setPerOpen(true)} disabled={node ? false : true}>
+              <Button type="primary" onClick={() => setPerOpen(true)} disabled={selectedRowKeys ? false : true}>
                 申请权限
               </Button>
             </Form.Item>
@@ -382,10 +382,12 @@ function FileManagement(props) {
               columns={columns}
               dataSource={tableData}
               rowSelection={{
-                selectedRowKeys,
-                onChange: (e) => {
+                selectedRowKeys ,
+                type:'radio',
+                onChange: (e,fileNode) => {
                   console.log(e)
                   setSelectedRowKeys(e)
+                    // (fileNode[0])
               }}}
               loading={OAloading || contractLoading || loading}
               style={{ overflowY: 'auto' }}
@@ -444,6 +446,7 @@ function FileManagement(props) {
       />
       <PerModal
         node={node}
+        fileNode={tableData?.find(item => item.key == selectedRowKeys[0])}
         auditList={auditList}
         visible={permissionOpen}
         handleCancel={() => setPerOpen(false)}