@@ -23,10 +23,10 @@ const AvatarView = ({ avatar, url, uploadProp }) => ( | |||||
</> | </> | ||||
); | ); | ||||
const EnterpriseLog = () => { | |||||
const { data: CompanyInfo, loading } = useRequest(() => { | |||||
return GetCompanyInfo(); | |||||
}); | |||||
const EnterpriseLog = (props) => { | |||||
// const { data: CompanyInfo, loading } = useRequest(() => { | |||||
// return GetCompanyInfo(); | |||||
// }); | |||||
const [url, setUrl] = useState(); | const [url, setUrl] = useState(); | ||||
const [cosInfo, SetCosInfo] = useState({ | const [cosInfo, SetCosInfo] = useState({ | ||||
domain: '', | domain: '', | ||||
@@ -77,11 +77,15 @@ const EnterpriseLog = () => { | |||||
onProgress({ percent: Math.round(loaded / total * 100).toFixed(2) }, file); | onProgress({ percent: Math.round(loaded / total * 100).toFixed(2) }, file); | ||||
}, | }, | ||||
}).then(response => { | }).then(response => { | ||||
console.log('onSuccess', response, file); | |||||
// console.log('onSuccess', response, file); | |||||
if (response.status == 200 || response.statusText == 'OK') { | if (response.status == 200 || response.statusText == 'OK') { | ||||
setUrl(r.seeUrl); | |||||
CompanyInfo.logo = r.seeUrl; | |||||
updateCompany(CompanyInfo); | |||||
// setUrl(r.seeUrl); | |||||
const company = JSON.parse(JSON.stringify(props.fetchCompanyInfo)); | |||||
company.logo = r.seeUrl; | |||||
// console.log('LOGO变更', company.logo) | |||||
props.onUpdateCompanyInfo(company); | |||||
// CompanyInfo.logo = r.seeUrl; | |||||
// updateCompany(CompanyInfo); | |||||
} | } | ||||
// onSuccess(response, file); | // onSuccess(response, file); | ||||
}) | }) | ||||
@@ -99,16 +103,12 @@ const EnterpriseLog = () => { | |||||
}; | }; | ||||
return ( | return ( | ||||
<div className={styles.baseView}> | <div className={styles.baseView}> | ||||
{loading ? null : ( | |||||
<> | |||||
<div className={styles.right}> | |||||
<AvatarView | |||||
url={CompanyInfo.logo ? CompanyInfo.logo:'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png' } | |||||
uploadProp={uploadProps} | |||||
/> | |||||
</div> | |||||
</> | |||||
)} | |||||
<div className={styles.right}> | |||||
<AvatarView | |||||
url={props.fetchCompanyInfo.logo ? props.fetchCompanyInfo.logo : 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png'} | |||||
uploadProp={uploadProps} | |||||
/> | |||||
</div> | |||||
</div> | </div> | ||||
); | ); | ||||
}; | }; | ||||
@@ -1,9 +1,10 @@ | |||||
import React, { useState, useRef, useLayoutEffect } from 'react'; | |||||
import React, { useState, useRef, useLayoutEffect, useEffect } from 'react'; | |||||
import { GridContent } from '@ant-design/pro-layout'; | import { GridContent } from '@ant-design/pro-layout'; | ||||
import { Menu } from 'antd'; | import { Menu } from 'antd'; | ||||
import BaseView from './components/base'; | import BaseView from './components/base'; | ||||
import EnterpriseLog from './components/EnterpriseLog'; | import EnterpriseLog from './components/EnterpriseLog'; | ||||
import styles from './style.less'; | import styles from './style.less'; | ||||
import { GetCompanyInfo, GetCosRequestURL, updateCompany } from './components/service'; | |||||
const { Item } = Menu; | const { Item } = Menu; | ||||
const Settings = () => { | const Settings = () => { | ||||
@@ -16,6 +17,9 @@ const Settings = () => { | |||||
selectKey: 'EnterpriseLog', | selectKey: 'EnterpriseLog', | ||||
}); | }); | ||||
const dom = useRef(); | const dom = useRef(); | ||||
const [fetchCompanyInfo, setFetchCompanyInfo] = useState({ | |||||
logo: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png' | |||||
}); | |||||
const resize = () => { | const resize = () => { | ||||
requestAnimationFrame(() => { | requestAnimationFrame(() => { | ||||
@@ -61,13 +65,30 @@ const Settings = () => { | |||||
// return <BaseView />; | // return <BaseView />; | ||||
case 'EnterpriseLog': | case 'EnterpriseLog': | ||||
return <EnterpriseLog />; | |||||
return <EnterpriseLog fetchCompanyInfo={fetchCompanyInfo} onUpdateCompanyInfo={onUpdateCompanyInfo} />; | |||||
default: | default: | ||||
return null; | return null; | ||||
} | } | ||||
}; | }; | ||||
const onUpdateCompanyInfo = (companyInfo) => { | |||||
updateCompany(companyInfo).then(() => { | |||||
onFetchCompanyInfo(); | |||||
}); | |||||
} | |||||
const onFetchCompanyInfo = async () => { | |||||
const response = await GetCompanyInfo(); | |||||
if (response.statusCode === 200) { | |||||
setFetchCompanyInfo(response.data); | |||||
} | |||||
} | |||||
useEffect(() => { | |||||
onFetchCompanyInfo(); | |||||
}, []); | |||||
return ( | return ( | ||||
<GridContent> | <GridContent> | ||||
<div | <div | ||||