From b016d1eb02dd09fd1ffcd24e4e6ddee72fd1b3d6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 28 二月 2024 10:27:25 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/account/setting/components/base.jsx | 167 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 106 insertions(+), 61 deletions(-)
diff --git a/zy-asrs-flow/src/pages/account/setting/components/base.jsx b/zy-asrs-flow/src/pages/account/setting/components/base.jsx
index 3c911a5..54b9c80 100644
--- a/zy-asrs-flow/src/pages/account/setting/components/base.jsx
+++ b/zy-asrs-flow/src/pages/account/setting/components/base.jsx
@@ -1,32 +1,41 @@
-import { UploadOutlined } from '@ant-design/icons';
import {
ProForm,
- ProFormDependency,
- ProFormFieldSet,
- ProFormSelect,
ProFormText,
ProFormTextArea,
+ ProFormSelect,
+ ProFormDigit
} from '@ant-design/pro-components';
-import { useRequest } from '@umijs/max';
-import { Button, Input, message, Upload } from 'antd';
+import { Button, Input, message, Upload, Form } from 'antd';
import React from 'react';
import useStyles from './index.style';
import Http from '@/utils/http';
import defaultAvat from '/public/img/defaultAva.png'
-const validatorPhone = (rule, value, callback) => {
- if (!value[0]) {
- callback('Please input your area code!');
+const handleUpdate = async (val) => {
+ const hide = message.loading('姝e湪鏇存柊');
+ try {
+ const resp = await Http.doPost('api/user/update', val);
+ if (resp.code === 200) {
+ message.success('鏇存柊鎴愬姛');
+ return true;
+ } else {
+ message.error(resp.msg);
+ return false;
+ }
+ } catch (error) {
+ message.error('閰嶇疆澶辫触璇烽噸璇曪紒');
+ return false;
+ } finally {
+ hide();
}
- if (!value[1]) {
- callback('Please input your phone number!');
- }
- callback();
};
const BaseView = () => {
const { styles } = useStyles();
+ const [loading, setLoading] = React.useState(false);
+ const [currentUser, setCurrentUser] = React.useState({});
+ const [form] = Form.useForm();
const AvatarView = ({ avatar }) => (
<>
@@ -45,29 +54,33 @@
</>
);
- const queryCurrent = async () => {
- await Http.doGet('api/auth/user');
+ const queryCurrent = () => {
+ setLoading(true);
+ Http.doGetPromise('api/auth/user', {}, (res) => {
+ setLoading(false);
+ setCurrentUser(res.data);
+ }).catch((err) => {
+ console.error(err);
+ setLoading(false);
+ })
}
-
-
- const { data: currentUser, loading } = useRequest(() => {
- return queryCurrent();
- });
+ React.useEffect(() => {
+ queryCurrent();
+ }, []);
const getAvatarURL = () => {
if (currentUser) {
if (currentUser.avatar) {
return currentUser.avatar;
}
- const url = { defaultAvat };
- return url;
}
return defaultAvat;
};
- const handleFinish = async () => {
- message.success('鏇存柊鍩烘湰淇℃伅鎴愬姛');
+ const handleFinish = async (values) => {
+ // console.log(values); return
+ handleUpdate(values);
};
return (
@@ -76,6 +89,7 @@
<>
<div className={styles.left}>
<ProForm
+ form={form}
layout="vertical"
onFinish={handleFinish}
submitter={{
@@ -86,71 +100,102 @@
}}
initialValues={{
...currentUser,
- phone: currentUser?.phone.split('-'),
}}
hideRequiredMark
>
+ <ProFormDigit
+ name="id"
+ disabled
+ hidden={true}
+ />
+ <ProFormText
+ width="md"
+ name="username"
+ label="璐﹀彿"
+ disabled
+ rules={[
+ {
+ required: true,
+ message: '璇疯緭鍏ユ偍鐨勮处鍙�!',
+ },
+ ]}
+ />
+ <ProFormText
+ width="md"
+ name="nickname"
+ label="鍚嶇О"
+ rules={[
+ {
+ required: true,
+ message: '璇疯緭鍏ユ偍鐨勫悕绉�!',
+ },
+ ]}
+ />
+ <ProFormSelect
+ width="md"
+ name="sex"
+ label="鎬у埆"
+ colProps={{ md: 12, xl: 12 }}
+ options={[
+ { label: '鏈煡', value: 0 },
+ { label: '鐢�', value: 1 },
+ { label: '濂�', value: 2 },
+ ]}
+ />
+ <ProFormText
+ width="md"
+ name="phone"
+ label="鎵嬫満鍙�"
+ rules={[
+ {
+ required: false,
+ message: '璇疯緭鍏ユ偍鐨勬墜鏈哄彿!',
+ },
+ ]}
+ />
<ProFormText
width="md"
name="email"
label="閭"
rules={[
{
- required: true,
+ required: false,
message: '璇疯緭鍏ユ偍鐨勯偖绠�!',
},
]}
/>
<ProFormText
width="md"
- name="name"
- label="鏄电О"
+ name="realName"
+ label="鐪熷疄濮撳悕"
rules={[
{
- required: true,
- message: '璇疯緭鍏ユ偍鐨勬樀绉�!',
+ required: false,
+ message: '璇疯緭鍏ユ偍鐨勭湡瀹炲鍚�!',
+ },
+ ]}
+ />
+ <ProFormText
+ width="md"
+ name="idCard"
+ label="韬唤璇佸彿"
+ rules={[
+ {
+ required: false,
+ message: '璇疯緭鍏ユ偍鐨勮韩浠借瘉鍙�!',
},
]}
/>
<ProFormTextArea
- name="profile"
+ name="introduction"
label="涓汉绠�浠�"
rules={[
{
- required: true,
+ required: false,
message: '璇疯緭鍏ヤ釜浜虹畝浠�!',
},
]}
- placeholder="涓汉绠�浠�"
/>
-
- <ProFormText
- width="md"
- name="address"
- label="鍦板潃"
- rules={[
- {
- required: true,
- message: '璇疯緭鍏ユ偍鐨勫湴鍧�!',
- },
- ]}
- />
- <ProFormFieldSet
- name="phone"
- label="鑱旂郴鐢佃瘽"
- rules={[
- {
- required: true,
- message: '璇疯緭鍏ユ偍鐨勮仈绯荤數璇�!',
- },
- {
- validator: validatorPhone,
- },
- ]}
- >
- <Input className={styles.area_code} />
- <Input className={styles.phone_number} />
- </ProFormFieldSet>
</ProForm>
</div>
<div className={styles.right}>
--
Gitblit v1.9.1