|
@@ -1,3 +1,153 @@
|
|
|
+import React, { useState, useEffect, useCallback, useMemo, useRef } from 'react';
|
|
|
+import styles from './index.less';
|
|
|
+import { Input, message } from 'antd';
|
|
|
+import {
|
|
|
+ companyInfo,
|
|
|
+ companyUpdate,
|
|
|
+ importUsers,
|
|
|
+ getFileUrl,
|
|
|
+} from '@/services/sagacare_service/infomation';
|
|
|
export default () => {
|
|
|
- return <div>企业信息页面</div>;
|
|
|
+ const fileInputRef = useRef();
|
|
|
+ const [englishAbbreviation, setEnglishAbbreviation] = useState('');
|
|
|
+ const [abbreviation, setAbbreviation] = useState('');
|
|
|
+ const [intro, setIntro] = useState('');
|
|
|
+ const [companyName, setCompanyName] = useState('');
|
|
|
+ const [englishName, setEnglishName] = useState('');
|
|
|
+ const [logoUrl, setLogoUrl] = useState('');
|
|
|
+ const [imgUrl, setImgUrl] = useState('');
|
|
|
+ const handleFileSelected = useCallback(
|
|
|
+ (e) => {
|
|
|
+ const file = e.target.files[0];
|
|
|
+ let fileName = file.name;
|
|
|
+ importUsers(file).then((res) => {
|
|
|
+ send('logUrl', res.data.fileKey);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ [abbreviation, englishAbbreviation, intro, logoUrl],
|
|
|
+ );
|
|
|
+ const handleInfoChanged = useCallback(
|
|
|
+ (key, value) => {
|
|
|
+ send(key, value);
|
|
|
+ },
|
|
|
+ [abbreviation, englishAbbreviation, intro, logoUrl],
|
|
|
+ );
|
|
|
+ function getData() {
|
|
|
+ companyInfo().then((res) => {
|
|
|
+ const resData = res.data || {};
|
|
|
+ setEnglishAbbreviation(resData.englishAbbreviation || '');
|
|
|
+ setAbbreviation(resData.abbreviation || '');
|
|
|
+ setIntro(resData.intro || '');
|
|
|
+ setCompanyName(resData.companyName || '');
|
|
|
+ setEnglishName(resData.englishName || '');
|
|
|
+ setLogoUrl(resData.logoUrl || '');
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ const send = (key, value) => {
|
|
|
+ const params = {
|
|
|
+ abbreviation: abbreviation,
|
|
|
+ englishAbbreviation: englishAbbreviation,
|
|
|
+ intro: intro,
|
|
|
+ logoUrl: logoUrl,
|
|
|
+ };
|
|
|
+ params[key] = value;
|
|
|
+ companyUpdate(params).then((res) => {
|
|
|
+ message.success('修改成功');
|
|
|
+ getData();
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ if (companyName == '') {
|
|
|
+ getData();
|
|
|
+ }
|
|
|
+ if (logoUrl) {
|
|
|
+ getFileUrl(logoUrl).then((res) => {
|
|
|
+ setImgUrl(res.data);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }, [englishAbbreviation, abbreviation, intro, logoUrl, companyName]);
|
|
|
+ return (
|
|
|
+ <div className={styles.information}>
|
|
|
+ <div className={styles.left}>
|
|
|
+ <div className={styles.imgBox}>
|
|
|
+ {imgUrl && <img className={styles.imgSt} src={imgUrl}></img>}
|
|
|
+ </div>
|
|
|
+ <input
|
|
|
+ type="file"
|
|
|
+ hidden
|
|
|
+ accept="image/gif,image/jpeg,image/jpg,image/png"
|
|
|
+ ref={fileInputRef}
|
|
|
+ onChange={(e) => {
|
|
|
+ handleFileSelected(e);
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <div className={styles.setLogo} onClick={() => fileInputRef.current.click()}>
|
|
|
+ 修改Logo
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.right}>
|
|
|
+ <div className={styles.contentLeft}>
|
|
|
+ <div className={styles.title}>{companyName}</div>
|
|
|
+ <div className={styles.slogan}>{englishName}</div>
|
|
|
+ <div className={styles.lableInput}>
|
|
|
+ <div className={styles.textLable} style={{ marginLeft: '75px', paddingTop: '84px' }}>
|
|
|
+ 公司口号
|
|
|
+ </div>
|
|
|
+ <div className={styles.inlineEditValue}>
|
|
|
+ <Input
|
|
|
+ value={intro}
|
|
|
+ bordered={false}
|
|
|
+ onChange={(e) => setIntro(e.target.value)}
|
|
|
+ onBlur={() => handleInfoChanged('intro', intro)}
|
|
|
+ onKeyUp={(e) => {
|
|
|
+ if (e.keyCode === 13) {
|
|
|
+ handleInfoChanged('intro', intro);
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ {/* <Icon type="edit" /> */}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.contentRight}>
|
|
|
+ <div className={styles.lableInput}>
|
|
|
+ <div className={styles.textLable}>中文简称</div>
|
|
|
+ <div className={styles.inlineEditValue}>
|
|
|
+ <Input
|
|
|
+ value={abbreviation}
|
|
|
+ bordered={false}
|
|
|
+ onChange={(e) => setAbbreviation(e.target.value)}
|
|
|
+ onBlur={() => handleInfoChanged('abbreviation', abbreviation)}
|
|
|
+ onKeyUp={(e) => {
|
|
|
+ if (e.keyCode === 13) {
|
|
|
+ handleInfoChanged('abbreviation', abbreviation);
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ {/* <Icon type="edit" /> */}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div className={styles.lableInput} style={{ paddingTop: '68px' }}>
|
|
|
+ <div className={styles.textLable}>英文简称</div>
|
|
|
+ <div className={styles.inlineEditValue}>
|
|
|
+ <Input
|
|
|
+ value={englishAbbreviation}
|
|
|
+ bordered={false}
|
|
|
+ onChange={(e) => setEnglishAbbreviation(e.target.value)}
|
|
|
+ onBlur={() => handleInfoChanged('englishAbbreviation', englishAbbreviation)}
|
|
|
+ onKeyUp={(e) => {
|
|
|
+ if (e.keyCode === 13) {
|
|
|
+ handleInfoChanged('englishAbbreviation', englishAbbreviation);
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ {/* <Icon type="edit" /> */}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
};
|