登录修改密码
This commit is contained in:
@ -54,7 +54,7 @@ const QualificationFormModal: React.FC<QualificationFormModalProps> = ({
|
||||
termOfValidity: data.termOfValidity ? moment(data.termOfValidity) : undefined,
|
||||
|
||||
attachment: data.accessory
|
||||
? [{ uid: '-1', name: data.accessory, url: data.accessory, status: 'done', response: { url: data.accessory } }]
|
||||
? [{ uid: '-1', name: '附件', url: data.accessory, status: 'done', response: { url: data.accessory } }]
|
||||
: [],
|
||||
};
|
||||
console.log(fields, 'fields');
|
||||
@ -166,7 +166,7 @@ const QualificationFormModal: React.FC<QualificationFormModalProps> = ({
|
||||
<Descriptions.Item label="附件">
|
||||
{viewData.attachment?.[0]?.url ? (
|
||||
<a href={viewData.attachment[0].url} target="_blank" rel="noopener noreferrer">
|
||||
{viewData.attachment[0].name || '查看附件'}
|
||||
查看附件
|
||||
</a>
|
||||
) : '无'}
|
||||
</Descriptions.Item>
|
||||
|
@ -39,7 +39,7 @@ const LoginPage: React.FC = () => {
|
||||
})
|
||||
}
|
||||
|
||||
form.setFieldsValue( { password: 'cosco2025', identifying: '1' } )
|
||||
form.setFieldsValue({ password: 'cosco2025', identifying: '1' })
|
||||
|
||||
|
||||
}, [activeKey]);
|
||||
@ -56,26 +56,26 @@ const LoginPage: React.FC = () => {
|
||||
// });
|
||||
// }
|
||||
}, [form]);
|
||||
|
||||
// 修改密码确认回调
|
||||
const handleChangePwd = async (values: { userId: string; newPassword: string; confirmPassword: string; }) => {
|
||||
try {
|
||||
await changePasswordOnFirstLogin({
|
||||
userId: userId,
|
||||
newPassword: encryptWithRsa(values.newPassword, false),
|
||||
confirmPassword: encryptWithRsa(values.confirmPassword, false)
|
||||
}).then((res) => {
|
||||
if(res.data) {
|
||||
setShowChangePwd(false);
|
||||
message.success('修改成功,请重新登录');
|
||||
} else {
|
||||
message.success('修改密码失败');
|
||||
}
|
||||
})
|
||||
} catch (e: any) {
|
||||
message.error(e?.message || '修改密码失败');
|
||||
}
|
||||
};
|
||||
|
||||
// 修改密码确认回调
|
||||
const handleChangePwd = async (values: { userId: string; newPassword: string; confirmPassword: string; }) => {
|
||||
try {
|
||||
await changePasswordOnFirstLogin({
|
||||
userId: userId,
|
||||
newPassword: encryptWithRsa(values.newPassword, false),
|
||||
confirmPassword: encryptWithRsa(values.confirmPassword, false)
|
||||
}).then((res) => {
|
||||
if (res.data) {
|
||||
setShowChangePwd(false);
|
||||
message.success('修改成功,请重新登录');
|
||||
} else {
|
||||
message.success('修改密码失败');
|
||||
}
|
||||
})
|
||||
} catch (e: any) {
|
||||
message.error(e?.message || '修改密码失败');
|
||||
}
|
||||
};
|
||||
const onFinish = async (values: any) => {
|
||||
setLoading(true);
|
||||
try {
|
||||
@ -100,34 +100,29 @@ const LoginPage: React.FC = () => {
|
||||
//存入供应商用户id
|
||||
if (activeKey === 'supplierLogin') {
|
||||
sessionStorage.setItem('userId', loginRes.data.supplierUser.userId);
|
||||
if (loginRes.data?.supplierUser?.firstLogin === 1) {
|
||||
setUserId(loginRes.data.supplierUser.userId)
|
||||
setShowChangePwd(true);
|
||||
return
|
||||
}
|
||||
} else if (activeKey === 'expertLogin') {
|
||||
//存入专家用户id
|
||||
// sessionStorage.setItem('userId', loginRes.data.expertUser.userId);
|
||||
} else if (activeKey === 'accountLogin') {
|
||||
//存入招标代理用户id
|
||||
sessionStorage.setItem('userId', loginRes.data.user.userId);
|
||||
//部门
|
||||
// queryUserOrgAll().then((res) => {
|
||||
// const { code, data } = res;
|
||||
// if (code == 200) {
|
||||
// sessionStorage.setItem('userOrgAll', JSON.stringify(data) );
|
||||
// }
|
||||
// })
|
||||
}
|
||||
sessionStorage.setItem('currentUser', JSON.stringify(loginRes.data));
|
||||
|
||||
await getUserinfo().then(async (res) => {
|
||||
const roleIdList = res.authorityList.map((item: any) => item.roleId);
|
||||
console.log(res);
|
||||
|
||||
setUserId(res.userId)
|
||||
sessionStorage.setItem('Userinfo', JSON.stringify(res));
|
||||
const menuList: any = await findMenuList({ roleIdList });
|
||||
sessionStorage.setItem('menuList', JSON.stringify(menuList.data));
|
||||
//新用户需要修改一次密码
|
||||
if (loginRes.data?.supplierUser?.firstLogin === 1) {
|
||||
setShowChangePwd(true);
|
||||
message.success('登录成功');
|
||||
if (activeKey === 'supplierLogin') {
|
||||
history.push('/backend/workbenches');
|
||||
} else {
|
||||
message.success('登录成功');
|
||||
history.push('/index');
|
||||
}
|
||||
});
|
||||
@ -191,99 +186,99 @@ const LoginPage: React.FC = () => {
|
||||
|
||||
return (
|
||||
<>
|
||||
<ChangePasswordModal
|
||||
<ChangePasswordModal
|
||||
visible={showChangePwd}
|
||||
onOk={handleChangePwd}
|
||||
/>
|
||||
|
||||
<div className='login-page'>
|
||||
<div className='login-container'>
|
||||
{/* <div className='back-home'>
|
||||
|
||||
<div className='login-page'>
|
||||
<div className='login-container'>
|
||||
{/* <div className='back-home'>
|
||||
<a onClick={() => history.push('/index')}>
|
||||
<HomeOutlined /> {intl.formatMessage({ id: 'login.back.home' })}
|
||||
</a>
|
||||
</div> */}
|
||||
|
||||
<div className='login-title'>{intl.formatMessage({ id: 'login.title' })}</div>
|
||||
<div className='login-title'>{intl.formatMessage({ id: 'login.title' })}</div>
|
||||
|
||||
<div className="login-tab-container">
|
||||
<Tabs activeKey={activeKey} onChange={handleTabChange} className='login-tabs'>
|
||||
<TabPane tab={intl.formatMessage({ id: 'login.tab.supplier' })} key="supplierLogin" />
|
||||
{/* <TabPane tab={intl.formatMessage({ id: 'login.tab.expert' })} key="expertLogin" /> */}
|
||||
<TabPane tab={intl.formatMessage({ id: 'login.tab.agent' })} key="accountLogin" />
|
||||
</Tabs>
|
||||
</div>
|
||||
<div className="login-tab-container">
|
||||
<Tabs activeKey={activeKey} onChange={handleTabChange} className='login-tabs'>
|
||||
<TabPane tab={intl.formatMessage({ id: 'login.tab.supplier' })} key="supplierLogin" />
|
||||
{/* <TabPane tab={intl.formatMessage({ id: 'login.tab.expert' })} key="expertLogin" /> */}
|
||||
<TabPane tab={intl.formatMessage({ id: 'login.tab.agent' })} key="accountLogin" />
|
||||
</Tabs>
|
||||
</div>
|
||||
|
||||
<Form
|
||||
form={form}
|
||||
name="login"
|
||||
className='login-form'
|
||||
initialValues={{ remember: false }}
|
||||
onFinish={onFinish}
|
||||
>
|
||||
<Form.Item
|
||||
name="account"
|
||||
rules={[{ required: true, message: intl.formatMessage({ id: 'login.username.placeholder' }) + '!' }]}
|
||||
<Form
|
||||
form={form}
|
||||
name="login"
|
||||
className='login-form'
|
||||
initialValues={{ remember: false }}
|
||||
onFinish={onFinish}
|
||||
>
|
||||
<Input
|
||||
prefix={<UserOutlined className="site-form-item-icon" />}
|
||||
placeholder={intl.formatMessage({ id: 'login.username.placeholder' })}
|
||||
size="large"
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name="account"
|
||||
rules={[{ required: true, message: intl.formatMessage({ id: 'login.username.placeholder' }) + '!' }]}
|
||||
>
|
||||
<Input
|
||||
prefix={<UserOutlined className="site-form-item-icon" />}
|
||||
placeholder={intl.formatMessage({ id: 'login.username.placeholder' })}
|
||||
size="large"
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item
|
||||
name="password"
|
||||
rules={[{ required: true, message: intl.formatMessage({ id: 'login.password.placeholder' }) + '!' }]}
|
||||
>
|
||||
<Input.Password
|
||||
prefix={<LockOutlined className="site-form-item-icon" />}
|
||||
placeholder={intl.formatMessage({ id: 'login.password.placeholder' })}
|
||||
iconRender={visible => (visible ? <EyeTwoTone /> : <EyeInvisibleOutlined />)}
|
||||
size="large"
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name="identifying"
|
||||
rules={[{ required: true, message: intl.formatMessage({ id: 'login.captcha.placeholder' }) + '!' }]}
|
||||
>
|
||||
<Input
|
||||
placeholder={intl.formatMessage({ id: 'login.captcha.placeholder' })}
|
||||
size="large"
|
||||
maxLength={6}
|
||||
autoComplete="off"
|
||||
prefix={null}
|
||||
suffix={
|
||||
<img
|
||||
src={`data:image/png;base64,${captchaImg}`}
|
||||
alt="验证码"
|
||||
style={{ cursor: 'pointer', height: 32, verticalAlign: 'middle' }}
|
||||
onClick={fetchCaptcha}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name="password"
|
||||
rules={[{ required: true, message: intl.formatMessage({ id: 'login.password.placeholder' }) + '!' }]}
|
||||
>
|
||||
<Input.Password
|
||||
prefix={<LockOutlined className="site-form-item-icon" />}
|
||||
placeholder={intl.formatMessage({ id: 'login.password.placeholder' })}
|
||||
iconRender={visible => (visible ? <EyeTwoTone /> : <EyeInvisibleOutlined />)}
|
||||
size="large"
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name="identifying"
|
||||
rules={[{ required: true, message: intl.formatMessage({ id: 'login.captcha.placeholder' }) + '!' }]}
|
||||
>
|
||||
<Input
|
||||
placeholder={intl.formatMessage({ id: 'login.captcha.placeholder' })}
|
||||
size="large"
|
||||
maxLength={6}
|
||||
autoComplete="off"
|
||||
prefix={null}
|
||||
suffix={
|
||||
<img
|
||||
src={`data:image/png;base64,${captchaImg}`}
|
||||
alt="验证码"
|
||||
style={{ cursor: 'pointer', height: 32, verticalAlign: 'middle' }}
|
||||
onClick={fetchCaptcha}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item>
|
||||
<div className='login-options'>
|
||||
<Form.Item name="remember" valuePropName="checked" noStyle>
|
||||
<Checkbox>{intl.formatMessage({ id: 'login.remember' })}</Checkbox>
|
||||
</Form.Item>
|
||||
<Button type="link" onClick={() => onForgot()} className="login-form-forgot" href="">
|
||||
{intl.formatMessage({ id: 'login.forgot' })}
|
||||
<Form.Item>
|
||||
<div className='login-options'>
|
||||
<Form.Item name="remember" valuePropName="checked" noStyle>
|
||||
<Checkbox>{intl.formatMessage({ id: 'login.remember' })}</Checkbox>
|
||||
</Form.Item>
|
||||
<Button type="link" onClick={() => onForgot()} className="login-form-forgot" href="">
|
||||
{intl.formatMessage({ id: 'login.forgot' })}
|
||||
</Button>
|
||||
</div>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item>
|
||||
<Button type="primary" htmlType="submit" className="login-form-button" loading={loading} size="large">
|
||||
{intl.formatMessage({ id: 'login.button' })}
|
||||
</Button>
|
||||
</div>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item>
|
||||
<Button type="primary" htmlType="submit" className="login-form-button" loading={loading} size="large">
|
||||
{intl.formatMessage({ id: 'login.button' })}
|
||||
</Button>
|
||||
{activeKey !== 'accountLogin' && renderRegisterLink()}
|
||||
</Form.Item>
|
||||
</Form>
|
||||
{activeKey !== 'accountLogin' && renderRegisterLink()}
|
||||
</Form.Item>
|
||||
</Form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
Reference in New Issue
Block a user