Commit fa28ac36 authored by cellee's avatar cellee

pdf加限制、公司信息加默认

Signed-off-by: cellee's avatarcellee <893264950@qq.com>
parent da71641e
/*
* @Author: your name
* @Date: 2021-02-01 14:54:48
* @LastEditTime: 2021-02-23 10:42:27
* @LastEditTime: 2021-02-24 16:25:27
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \tostumi\src\components\Form\PdfUpload.tsx
......@@ -122,6 +122,12 @@ const PdfUpload: React.FC<PriceInputProps> = ({
// 上传前检测
function beforeUpload(file: any) {
// 先看看有没有图片正在上传中,有的话跳出新增
if (loading.filter((item) => item).length > 0) {
message.info('Please wait for the picture to be uploaded !');
return false;
}
const isJpgOrPng = file.type === 'application/pdf' || file.type === 'pdf';
if (!isJpgOrPng) {
message.error('You can only upload PDF file!');
......@@ -181,6 +187,12 @@ const PdfUpload: React.FC<PriceInputProps> = ({
const add = () => {
let list = JSON.parse(JSON.stringify(imgList));
let valve = false; // 控制阀
// 先看看有没有图片正在上传中,有的话跳出新增
if (loading.filter((item) => item).length > 0) {
message.info('Please wait for the picture to be uploaded !');
return false;
}
for (let i in list) {
if (list[i].name == '' || list[i].fileList.length == 0) {
list[i].tip = true;
......
/*
* @Author: your name
* @Date: 2020-11-24 11:24:06
* @LastEditTime: 2021-02-24 11:47:56
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \tostumi\src\components\GlobalHeader\AvatarDropdown.tsx
*/
import { LogoutOutlined } from '@ant-design/icons';
import { Avatar, Menu, Spin } from 'antd';
import { ClickParam } from 'antd/es/menu';
......@@ -9,6 +17,8 @@ import HeaderDropdown from '../HeaderDropdown';
import styles from './index.less';
import { logOut } from '@/utils/log';
import Logo from '@/assets/logo.png';
export interface GlobalHeaderRightProps extends Partial<ConnectProps> {
currentUser?: CurrentUser;
menu?: boolean;
......@@ -32,7 +42,7 @@ class AvatarDropdown extends React.Component<GlobalHeaderRightProps> {
render(): React.ReactNode {
const {
currentUser = {
avatar: 'http://120.77.240.215:5205/file/ce90a1cd01cf4c2bb6ab12b295c25c16.png',
avatar: Logo,
name: 'Login Again Please',
userModel: {
tosAccountName: 'Tos',
......@@ -52,7 +62,7 @@ class AvatarDropdown extends React.Component<GlobalHeaderRightProps> {
return (
<HeaderDropdown overlay={menuHeaderDropdown}>
<span className={`${styles.action} ${styles.account}`}>
<Avatar size="small" className={styles.avatar} src={currentUser.avatar} alt="avatar" />
<Avatar size="small" className={styles.avatar} src={Logo} alt="avatar" />
<span className={styles.name}>
{currentUser.userModel ? currentUser.userModel.tosAccountName : 'Tos'}
</span>
......
......@@ -65,9 +65,15 @@ export default {
*RA({ playload }, { call, put }) {
const resp = yield call(service.RA, playload);
if (resp.error_code != '0000') {
// 0002 是没有账户了(多端操作)
if (resp.error_code != '0000' && resp.error_code != '0002') {
printf(playload, resp);
message.error(`${resp.error_code}:${resp.error_msg}`);
} else if (resp.error_code == '0002') {
let Data = null;
yield put({ type: 'returnPage', Data });
message.error(`The account has been deleted by another user!`);
history.push('/AccountManagement/account');
} else {
switch (playload.index) {
case 67: // 编辑admin
......@@ -160,7 +166,7 @@ export default {
case 66: // 获取公司信息
{
let Means = resp.data;
let Means = resp.data || {};
yield put({ type: 'returnMeans', Means });
}
break;
......
/*
* @Author: your name
* @Date: 2020-11-19 16:54:53
* @LastEditTime: 2021-02-23 10:33:29
* @LastEditTime: 2021-02-24 17:28:32
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \tostumi\src\pages\AccountManagement\CompanyInformation\CompanyInformation.tsx
......@@ -28,6 +28,18 @@ const CompanyInformation = (props: any) => {
useEffect(() => {
if (Means != null) {
let name = Means.companyName && Means.companyName !== '' ? Means.companyName : 'TOS Pte Ltd';
let phone = Means.companyPhone && Means.companyPhone !== '' ? Means.companyPhone : '67441692';
let email =
Means.companyEmail && Means.companyEmail !== ''
? Means.companyEmail
: 'admin.tos@crems.com.sg';
// 先给默认
Means.companyName = name;
Means.companyPhone = phone;
Means.companyEmail = email;
// 再给表单
form.setFieldsValue({
companyName: Means.companyName,
companyPhone: Means.companyPhone,
......@@ -44,6 +56,7 @@ const CompanyInformation = (props: any) => {
setModelExcel(!ModelExcel);
if (ModelExcel == false) {
form.setFieldsValue({
companyName: Means.companyName,
companyPhone: Means.companyPhone,
companyEmail: Means.companyEmail,
});
......@@ -52,10 +65,26 @@ const CompanyInformation = (props: any) => {
//表单提交
const onFinish = (values: any) => {
values.id = Means.id;
// values.id = Means.id;
RA(65, values);
};
// 电话提示
const inputNumberTel = (rule: any, value: any, callback: any) => {
if (value) {
if (
(/^[0-9]+$/g.test(value) && value.length == 8) ||
(/^[0-9]+$/g.test(value) && value.length == 11)
) {
callback();
} else {
callback(new Error('Please input (8 or 11 digits)!'));
}
} else {
callback(new Error('Please input companyPhone!'));
}
};
return (
<Spin spinning={loading}>
<div className={styles.base}>
......@@ -79,11 +108,13 @@ const CompanyInformation = (props: any) => {
<div className={styles.box1}>
<div className={styles.box1item1}>Management Company :</div>
<div style={{ position: 'absolute', left: 160 }}>
<p>{Means ? Means.companyName : null}</p>
{/* <Input style={{ width: 200 }} value="TOS Pte Ltd" /> */}
<Form.Item label="" name="companyName" style={{ display: 'none' }}>
<Input value="TOS Pte Ltd" />
</Form.Item>
{ModelExcel ? (
<Form.Item label="" name="companyName" rules={[{ required: true }]}>
<Input maxLength={11} />
</Form.Item>
) : (
<p>{Means ? Means.companyName : 'TOS Pte Ltd'}</p>
)}
</div>
{/* <div className={styles.box1item3}> <Button>Edit</Button></div> */}
......@@ -96,12 +127,12 @@ const CompanyInformation = (props: any) => {
<Form.Item
label=""
name="companyPhone"
rules={[{ required: true, message: 'Please input companyPhone!' }]}
rules={[{ required: true, validator: inputNumberTel }]}
>
<Input maxLength={11} />
</Form.Item>
) : (
<p>{Means ? Means.companyPhone : null}</p>
<p>{Means ? Means.companyPhone : '67441692'}</p>
)}
{/* <Input style={{ width: 200 }} value="67441692" /> */}
</div>
......@@ -113,12 +144,18 @@ const CompanyInformation = (props: any) => {
<Form.Item
label=""
name="companyEmail"
rules={[{ required: true, message: 'Please input companyEmail!' }]}
rules={[
{
required: true,
type: 'email',
message: 'Please enter the correct email address!',
},
]}
>
<Input />
</Form.Item>
) : (
<p>{Means ? Means.companyEmail : null}</p>
<p>{Means ? Means.companyEmail : 'admin.tos@crems.com.sg'}</p>
)}
{/* <Input style={{ width: 200 }} value="admin.tos@crems.com.sg" /> */}
</div>
......
import React, { useState, useEffect, useRef } from 'react';
import { Form, Button, Spin, Input } from 'antd';
import { connect, history } from 'umi';
import { EditOutlined, LeftOutlined } from '@ant-design/icons';
import { EditOutlined, LeftOutlined, EyeInvisibleOutlined, EyeTwoTone } from '@ant-design/icons';
import './Account.less';
......@@ -79,6 +79,22 @@ const Account = (props: any) => {
setPass(!pass);
};
// 电话提示
const inputNumberTel = (rule: any, value: any, callback: any) => {
if (value) {
if (
(/^[0-9]+$/g.test(value) && value.length == 8) ||
(/^[0-9]+$/g.test(value) && value.length == 11)
) {
callback();
} else {
callback(new Error('Please input (8 or 11 digits)!'));
}
} else {
callback(new Error('Please input Contact Information!'));
}
};
return (
<Spin spinning={load}>
<div className="contop editadmin" style={{ padding: '12px 20px' }}>
......@@ -120,7 +136,7 @@ const Account = (props: any) => {
<Form.Item
name="tosUserPhone"
label="Contact Information"
rules={[{ required: true }]}
rules={[{ required: true, validator: inputNumberTel }]}
style={{ display: 'inline-block', margin: '0 8px' }}
>
<Input maxLength={11} minLength={8} placeholder="Please enter Contact Information" />
......@@ -132,28 +148,28 @@ const Account = (props: any) => {
<div style={{ width: '100%', marginBottom: 5 }}>
<Form.Item label="Change Password">
<Form.Item name="oldPassword" style={{ marginBottom: 15 }}>
<Input
type="password"
<Input.Password
maxLength={24}
placeholder="Old password"
style={{ width: 240 }}
iconRender={(visible) => (visible ? <EyeTwoTone /> : <EyeInvisibleOutlined />)}
/>
</Form.Item>
<Form.Item name="tosUserPwd" style={{ marginBottom: 15 }}>
<Input
type="password"
<Input.Password
maxLength={24}
placeholder="New password"
style={{ width: 240 }}
iconRender={(visible) => (visible ? <EyeTwoTone /> : <EyeInvisibleOutlined />)}
/>
</Form.Item>
<Form.Item name="tosUserPwd1" style={{ marginBottom: 15 }}>
<Input
type="password"
<Input.Password
maxLength={24}
placeholder="New password again"
style={{ width: 240 }}
iconRender={(visible) => (visible ? <EyeTwoTone /> : <EyeInvisibleOutlined />)}
/>
</Form.Item>
</Form.Item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment