From 339f75db23741a6a1dc19525bfb0df2b6ea9ecfb Mon Sep 17 00:00:00 2001 From: lyp Date: Fri, 13 Dec 2024 10:13:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/request/api.js | 26 ++++----- src/request/downLoad.js | 0 src/request/request.js | 7 ++- src/views/Detail/Detail.jsx | 106 ++++++++++++++++++++++++++++++++--- src/views/Detail/detail.less | 2 + src/views/Login/Login.jsx | 42 +++++++------- src/views/Use/Use.jsx | 67 +++------------------- src/views/css/detail.css.map | 2 +- 8 files changed, 145 insertions(+), 107 deletions(-) create mode 100644 src/request/downLoad.js diff --git a/src/request/api.js b/src/request/api.js index b5969ad..10d27ca 100644 --- a/src/request/api.js +++ b/src/request/api.js @@ -1,12 +1,11 @@ - -import { appUrl, request } from './request' +import request from './request' // 获取验证码 export const GetCode = (phone) => request.get(`/operator/api/verify/code/send/${phone}`) // 登录 export const DoLogin = (params) => request.post('/operator/api/quick/login/phone', params) // 获取列表 -export const GetList = (params) => request.get('/copyright/app/proj/listpage/self',{params}) +export const GetList = (params) => request.get('/copyright/app/proj/listpage/self', { params }) // 创建项目 export const CreateProj = (params) => request.post('/copyright/app/proj/create-quick', params) @@ -17,18 +16,17 @@ export const CreateOwner = (params) => request.post('/copyright/app/proj-owner/s // 获取随机客服编号 export const GetCsa = () => request.get('/copyright/app/csa/get') // 获取所属人列表 -export const GetOwnerList = (params) => request.get('/copyright/app/proj-owner/listpage/self',{params}) +export const GetOwnerList = (params) => request.get('/copyright/app/proj-owner/listpage/self', { params }) // 获取联系人列表 -export const GetContactList = (params) => request.get('/copyright/app/proj-contact/listpage/self',{params}) -// 返回带 baseURL 的下载网址 -export const GetDownloadUrl = () => { - // 获取 baseURL - const baseURL = appUrl; - return `${baseURL}/api/contract/management/download/` +export const GetContactList = (params) => request.get('/copyright/app/proj-contact/listpage/self', { params }) +// 下载全部 +// export const GetDownAll = (projId) => request.get(`/copyright/app/proj/download/all/${projId}`) +export const GetDownAll = (projId) => request.get(`/copyright/app/proj/download/all/${projId}`,{responseType: 'blob'}) +// 下载申请表 +export const GetDownapply = (projId) => request.get(`/copyright/app/proj/download/apply/${projId}`,{responseType: 'blob'}) - // 拼接 baseURL 和 path - // const downloadUrl = `${baseURL}/copyright/app/proj-contact/listpage/self/${path}`; +export const GetDownmanualPdf = (projId) => request.get(`/copyright/app/proj/download/manual/pdf/${projId}`,{responseType: 'blob'}) +//下载源代码 +export const GetDowncode = (projId) => request.get(`/copyright/app/proj/download/code-zip/${projId}`,{responseType: 'blob'}) - // 返回生成的下载网址 -}; \ No newline at end of file diff --git a/src/request/downLoad.js b/src/request/downLoad.js new file mode 100644 index 0000000..e69de29 diff --git a/src/request/request.js b/src/request/request.js index d42f665..3527131 100644 --- a/src/request/request.js +++ b/src/request/request.js @@ -1,10 +1,11 @@ import axios from "axios"; +// export const Axios = axios; const loginUrl = 'http://192.168.0.15:8091' const appUrl = 'http://192.168.0.15:7025' const request = axios.create({ - // baseURL: baseUrl, + // baseURL: appUrl, timeout: 5000, }); request.interceptors.request.use( @@ -29,5 +30,5 @@ request.interceptors.response.use( (err) => Promise.reject(err) ); -export { appUrl, request }; -// export default request \ No newline at end of file +// export { request }; +export default request \ No newline at end of file diff --git a/src/views/Detail/Detail.jsx b/src/views/Detail/Detail.jsx index fd7a32f..c6897a9 100644 --- a/src/views/Detail/Detail.jsx +++ b/src/views/Detail/Detail.jsx @@ -1,16 +1,21 @@ // import React from 'react' -import { useEffect } from 'react' +import { useEffect, useState } from 'react' import { useNavigate } from 'react-router-dom' import { useLocation } from 'react-router-dom' import './detail.less' -import { GetDownloadUrl } from '../../request/api' import { Button, + Loading, + Mask, + Space, } from 'antd-mobile' +import { GetDownAll, GetDownapply, GetDownmanualPdf,GetDowncode } from '../../request/api' import pen from '@/static/images/Detail/pen.png' import center from '@/static/images/Detail/center.png' import file from '@/static/images/Detail/file.png' export default function Detail() { + const [loading, setLoading] = useState(false);//是否有加载中 + const nav = useNavigate() const location = useLocation(); const item = location.state; @@ -26,8 +31,8 @@ export default function Detail() { } console.log(item); - console.log(GetDownloadUrl( item.id)); - + // console.log(downloadAll(item.projId)); + }, []) return (
@@ -48,26 +53,99 @@ export default function Detail() {
-
+
{ + setLoading(true) + const res = await GetDownapply(item.projId); + setLoading(false) + // console.log(res); + const blob = new Blob([res]); + let url = window.URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + // console.log(url); + link.download = `申请表.docx`; + link.click(); + URL.revokeObjectURL(url); + }}>
申请表
-
+
{ + setLoading(true) + const res = await GetDownmanualPdf(item.projId); + setLoading(false) + // console.log(res); + const blob = new Blob([res]); + let url = window.URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + // console.log(url); + link.download = `${item.projName}操作手册.pdf`; + link.click(); + URL.revokeObjectURL(url); + }} + >
操作手册
-
+
{ + setLoading(true) + const res = await GetDowncode(item.projId); + setLoading(false) + // console.log(res); + const blob = new Blob([res]); + let url = window.URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + // console.log(url); + link.download = `${item.projName}源代码.zip`; + link.click(); + URL.revokeObjectURL(url); + }} + >
源代码
-
+
{ + // window.open(`http://192.168.0.15:7025/copyright/app/proj/download/all/${item.projId}`) + // try { + // setLoading(true) + // const res = await GetDownAll(item.projId); + // setLoading(false) + // console.log(res); + // const blob = new Blob([res]); + // let url = window.URL.createObjectURL(blob); + // const link = document.createElement("a"); + // link.href = url; + // console.log(url); + // link.download = `${item.projName}.zip`; + // link.click(); + // URL.revokeObjectURL(url); + // } catch (error) { + // console.log(error); + // } + setLoading(true) + const res = await GetDownAll(item.projId); + setLoading(false) + console.log(res); + const blob = new Blob([res]); + let url = window.URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + console.log(url); + link.download = `${item.projName}.zip`; + link.click(); + URL.revokeObjectURL(url); + }}>
全部
@@ -76,6 +154,18 @@ export default function Detail() { > 使用电脑端打开体验全部功能 + +
+ +
+
+ 准备下载中 +
+ +
+
+
+
) } diff --git a/src/views/Detail/detail.less b/src/views/Detail/detail.less index 5c6b41e..4febcd9 100644 --- a/src/views/Detail/detail.less +++ b/src/views/Detail/detail.less @@ -100,6 +100,8 @@ .done { display: flex; + // background-color: pink; + .doneName { // background-color: pink; diff --git a/src/views/Login/Login.jsx b/src/views/Login/Login.jsx index 6f2b8da..b58b4e2 100644 --- a/src/views/Login/Login.jsx +++ b/src/views/Login/Login.jsx @@ -84,28 +84,26 @@ export default function Login() { const login = async () => { // 验证code是否为6位数数字正则 const reg = /^\d{6}$/; - // try { - // if (!reg.test(code)) { - // Toast.show({ - // icon: 'fail', - // content: '请输入正确的验证码', - // }) - // return - // } else { - // var res = await DoLogin({ verifyCode: code, phone: phoneNum }) - // sessionStorage.setItem('token', res.data); - // nav('/list') - // } - // } catch (error) { - // Toast.show({ - // icon: 'fail', - // content: error.response.data.msg, - // }) - // } - sessionStorage.setItem('token', 'cVJWWXQ1UWpQWTQ1TDZMbEVtTmxiMlJVNkdvTzUwSTNHYzZaK3VTZmF0RTZLVG1LSUFpUzMrSWsvcVRHay9Wb0xCa3g0elJkWGVwSEw2emREeGdEQldpOEt4TDZPVVNQa3FmK09pazUxblA0K2dHWitHUHFnRnVDU21lOGVyLzdyblJpRUpoQlp4Z1l5aXV3aWE1WFlTdkJXeFhCc0JyMlducHlpV1F2L09JdUNRa082dTZ0T0NzbCs4azZGUTZRZUZMWmc3QXJzSG5mMk53SFNJa01FN3pzSUY1WTViQTBVVmp0T1pnQTNBbz0='); - // 刷新页面 - - nav('/list') + try { + if (!reg.test(code)) { + Toast.show({ + icon: 'fail', + content: '请输入正确的验证码', + }) + return + } else { + var res = await DoLogin({ verifyCode: code, phone: phoneNum }) + sessionStorage.setItem('token', res.data); + nav('/list') + } + } catch (error) { + Toast.show({ + icon: 'fail', + content: error.response.data.msg, + }) + } + // sessionStorage.setItem('token', 'cVJWWXQ1UWpQWTQ1TDZMbEVtTmxiMlJVNkdvTzUwSTNHYzZaK3VTZmF0RTZLVG1LSUFpUzMrSWsvcVRHay9Wb0xCa3g0elJkWGVwSEw2emREeGdEQldpOEt4TDZPVVNQa3FmK09pazUxblA0K2dHWitHUHFnRnVDU21lOGVyLzdyblJpRUpoQlp4Z1l5aXV3aWE1WFlTdkJXeFhCc0JyMlducHlpV1F2L09JdUNRa082dTZ0T0NzbCs4azZGUTZRZUZMWmc3QXJzSG5mMk53SFNJa01FN3pzSUY1WTViQTBVVmp0T1pnQTNBbz0='); + // nav('/list') } return ( diff --git a/src/views/Use/Use.jsx b/src/views/Use/Use.jsx index 7bdb623..382c53c 100644 --- a/src/views/Use/Use.jsx +++ b/src/views/Use/Use.jsx @@ -35,67 +35,13 @@ export default function Use() { const [form] = Form.useForm(); const [cascaberShow, setCascaberShow] = useState(false) const onFinish = (values) => { + console.log(values); + createNewOwner(values.name, values.idCardNo, values.provinceCity); - setCreateOwner(false); + }; - // const [cityvisible, setcityvisible] = useState(false); - // const [selectedProvinceCity, setSelectedProvinceCity] = useState([]); + - // const onPickerConfirm = (values) => { - // console.log(values); - - // const provinceCode = values[0]; - // const cityCode = values[1]; - - // const province = areaData['86'][provinceCode]; - - - // const city = areaData[provinceCode][cityCode]; - - // setSelectedProvinceCity([province, city]); - // setcityvisible(false); - // }; - // const [cityvisible, setCityvisible] = useState(false); - // const [selectedProvinceCity, setSelectedProvinceCity] = useState([]); - // const [provinceData, setProvinceData] = useState([]); - - // // 初始化省份数据 - // useEffect(() => { - // const provinces = Object.keys(areaData['86']).map(provinceCode => ({ - // label: areaData['86'][provinceCode], - // value: provinceCode, - // })); - - - // setProvinceData([provinces, []]); - // }, []); - - // // 根据选择的省份更新市的数据 - // useEffect(() => { - // if (selectedProvinceCity.length > 0) { - // const provinceCode = selectedProvinceCity[0]; - // const cities = Object.keys(areaData[provinceCode] || {}).map(cityCode => ({ - // label: areaData[provinceCode][cityCode], - // value: cityCode, - // })); - - // setProvinceData([provinceData[0], cities]); - // } - // }, [selectedProvinceCity]); - - // const onPickerConfirm = (values) => { - // const provinceCode = values[0]; - // const cityCode = values[1]; - - // const province = areaData['86'][provinceCode]; - // const city = areaData[provinceCode][cityCode]; - - // setSelectedProvinceCity([provinceCode, cityCode]); - // setCityvisible(false); - // }; - - - // const [form] = Form.useForm(); const nav = useNavigate() const [name, setName] = useState('') //系统全称 const [nameToast, setNameTost] = useState(false) //系统全称提示 @@ -263,6 +209,7 @@ export default function Use() { content: '创建成功', }) getOwnerList(1) + setCreateOwner(false); } } catch (error) { @@ -507,7 +454,9 @@ export default function Use() { onClick={() => { setCreateOwner(true) form.setFieldsValue({ - provinceCity: '' + provinceCity: '', + name: '', + idCardNo: '', }); }} >新建所属者 diff --git a/src/views/css/detail.css.map b/src/views/css/detail.css.map index f2aab7f..27c245d 100644 --- a/src/views/css/detail.css.map +++ b/src/views/css/detail.css.map @@ -1 +1 @@ -{"version":3,"sources":["../Detail/detail.less"],"names":[],"mappings":"AAAA;EACI,YAAA;EACA,aAAA;EACA,uDAAA;EAGA,0BAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;;AAVJ,UAYI;EACI,gBAAA;EACA,YAAA;EACA,aAAA;EACA,yBAAA;EACA,kBAAA;EACA,eAAA;EACA,sBAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;;AAtBR,UAYI,SAYI;EACI,YAAA;EACA,aAAA;EACA,yDAAA;EAEA,0BAAA;EACA,kBAAA;EACA,WAAA;EACA,WAAA;;AAhCZ,UAYI,SAuBI;EACI,WAAA;EACA,YAAA;EACA,gBAAA;EACA,0DAAA;EAEA,0BAAA;;AAzCZ,UAYI,SAgCI;EACI,wBAAA;EACA,WAAA;EAEA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;EAEA,mBAAA;EAEA,uBAAA;EACA,kBAAA;EACA,gBAAA;;AAzDZ,UAYI,SAgDI;EAGI,eAAA;EACA,cAAA;EAEA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,kBAAA;EACA,gBAAA;;AAvEZ,UAYI,SA8DI;EACI,aAAA;EACA,mBAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;;AA/EZ,UAYI,SA8DI,SAOI;EAEI,WAAA;EACA,WAAA;EAEA,0DAAA;EAEA,0BAAA;EACA,iBAAA;;AAzFhB,UAYI,SAiFI;EACI,aAAA;EACA,WAAA;EAEA,6BAAA;EACA,gBAAA;;AAlGZ,UAYI,SAiFI,SAOI;EACI,aAAA;;AArGhB,UAYI,SAiFI,SAOI,MAGI;EAEI,eAAA;;AAzGpB,UAYI,SAiFI,SAOI,MASI;EACI,WAAA;EACA,YAAA;EACA,iBAAA;;AAhHpB,UAYI,SAiFI,SAOI,MAgBI;EACI,WAAA;EACA,YAAA;EACA,iBAAA;;AAvHpB,UAYI,SAiFI,SAOI,MAuBI;EACI,WAAA;EACA,YAAA;EACA,iBAAA;;AA9HpB,UAYI,SAwHI;EACI,WAAA;EACA,YAAA;EACA,YAAY,gDAAZ;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;;AA/IZ,UAYI,SAwHI,YAaI;EACI,WAAA;EACA,YAAA;EACA,0DAAA;EAEA,0BAAA;EACA,kBAAA;;AAvJhB,UA8JI;EACI,YAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,wBAAA;EACA,gBAAA"} \ No newline at end of file +{"version":3,"sources":["../Detail/detail.less"],"names":[],"mappings":"AAAA;EACI,YAAA;EACA,aAAA;EACA,uDAAA;EAGA,0BAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;;AAVJ,UAYI;EACI,gBAAA;EACA,YAAA;EACA,aAAA;EACA,yBAAA;EACA,kBAAA;EACA,eAAA;EACA,sBAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;;AAtBR,UAYI,SAYI;EACI,YAAA;EACA,aAAA;EACA,yDAAA;EAEA,0BAAA;EACA,kBAAA;EACA,WAAA;EACA,WAAA;;AAhCZ,UAYI,SAuBI;EACI,WAAA;EACA,YAAA;EACA,gBAAA;EACA,0DAAA;EAEA,0BAAA;;AAzCZ,UAYI,SAgCI;EACI,wBAAA;EACA,WAAA;EAEA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;EAEA,mBAAA;EAEA,uBAAA;EACA,kBAAA;EACA,gBAAA;;AAzDZ,UAYI,SAgDI;EAGI,eAAA;EACA,cAAA;EAEA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,kBAAA;EACA,gBAAA;;AAvEZ,UAYI,SA8DI;EACI,aAAA;EACA,mBAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;;AA/EZ,UAYI,SA8DI,SAOI;EAEI,WAAA;EACA,WAAA;EAEA,0DAAA;EAEA,0BAAA;EACA,iBAAA;;AAzFhB,UAYI,SAiFI;EACI,aAAA;EACA,WAAA;EAEA,6BAAA;EACA,gBAAA;;AAlGZ,UAYI,SAiFI,SAOI;EACI,aAAA;;AArGhB,UAYI,SAiFI,SAOI,MAKI;EAEI,eAAA;;AA3GpB,UAYI,SAiFI,SAOI,MAWI;EACI,WAAA;EACA,YAAA;EACA,iBAAA;;AAlHpB,UAYI,SAiFI,SAOI,MAkBI;EACI,WAAA;EACA,YAAA;EACA,iBAAA;;AAzHpB,UAYI,SAiFI,SAOI,MAyBI;EACI,WAAA;EACA,YAAA;EACA,iBAAA;;AAhIpB,UAYI,SA0HI;EACI,WAAA;EACA,YAAA;EACA,YAAY,gDAAZ;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;;AAjJZ,UAYI,SA0HI,YAaI;EACI,WAAA;EACA,YAAA;EACA,0DAAA;EAEA,0BAAA;EACA,kBAAA;;AAzJhB,UAgKI;EACI,YAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,iBAAA;EACA,eAAA;EACA,cAAA;EACA,wBAAA;EACA,gBAAA"} \ No newline at end of file