Browse Source

企业LOGO更新

tags/小炒逻辑变更前
yangwenhua 2 years ago
parent
commit
8c25f29e59
2 changed files with 41 additions and 20 deletions
  1. +18
    -18
      src/pages/sys/sysSettings/components/EnterpriseLog.jsx
  2. +23
    -2
      src/pages/sys/sysSettings/index.jsx

+ 18
- 18
src/pages/sys/sysSettings/components/EnterpriseLog.jsx View File

@@ -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>
); );
}; };


+ 23
- 2
src/pages/sys/sysSettings/index.jsx View File

@@ -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


Loading…
Cancel
Save