Skip to content
项目
群组
代码片段
帮助
正在加载...
登录/注册
切换导航
广
广东建设用地-前端
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
广东建设用地
广东建设用地-前端
Commits
5ab01049
提交
5ab01049
authored
11月 27, 2024
作者:
jinrongbin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改手机号码
上级
9fe8f82f
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
143 行增加
和
1 行删除
+143
-1
UpdatePhone.vue
...s/default/header/components/user-dropdown/UpdatePhone.vue
+128
-0
index.vue
...layouts/default/header/components/user-dropdown/index.vue
+13
-1
layout.ts
src/locales/lang/en/layout.ts
+1
-0
layout.ts
src/locales/lang/zh-CN/layout.ts
+1
-0
没有找到文件。
src/layouts/default/header/components/user-dropdown/UpdatePhone.vue
0 → 100644
浏览文件 @
5ab01049
<
template
>
<BasicModal
v-bind=
"$attrs"
@
register=
"registerModal"
title=
"修改手机号"
@
ok=
"handleSubmit"
width=
"600px"
>
<BasicForm
@
register=
"registerForm"
/>
</BasicModal>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
unref
,
defineExpose
}
from
'vue'
;
import
{
rules
}
from
'/@/utils/helper/validator'
;
import
{
defHttp
}
from
'/@/utils/http/axios'
;
import
{
BasicModal
,
useModalInner
}
from
'/@/components/Modal'
;
import
{
BasicForm
,
useForm
}
from
'/@/components/Form/index'
;
import
{
useMessage
}
from
'/@/hooks/web/useMessage'
;
// 声明Emits
const
emit
=
defineEmits
([
'register'
]);
const
$message
=
useMessage
();
const
formRef
=
ref
();
const
username
=
ref
(
''
);
//表单配置
const
[
registerForm
,
{
resetFields
,
validate
,
clearValidate
}]
=
useForm
({
schemas
:
[
// {
// label: '旧密码',
// field: 'oldphone',
// component: 'Input',
// //动态自定义正则,values: 当前表单的所有值
// dynamicRules: ({ values }) => {
// console.log('values:', values);
// //需要return
// return [
// {
// //默认开启表单检验
// required: true,
// // value 当前手机号输入的值
// validator: (_, value) => {
// //需要return 一个Promise对象
// return new Promise((resolve, reject) => {
// if (!value) {
// reject('请输入手机号!');
// }
// //验证手机号是否正确
// let reg = /^1[3456789]\d{9}$/;
// if (!reg.test(value)) {
// reject('请输入正确手机号!');
// }
// resolve();
// });
// },
// },
// ];
// },
// },
{
label
:
'新手机号'
,
field
:
'phone'
,
component
:
'Input'
,
componentProps
:
{
placeholder
:
'请输入新手机号'
,
},
//动态自定义正则,values: 当前表单的所有值
dynamicRules
:
({
values
})
=>
{
console
.
log
(
'values:'
,
values
);
//需要return
return
[
{
//默认开启表单检验
required
:
true
,
// value 当前手机号输入的值
validator
:
(
_
,
value
)
=>
{
//需要return 一个Promise对象
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
!
value
)
{
reject
(
'请输入手机号!'
);
}
//验证手机号是否正确
let
reg
=
/^1
[
3456789
]\d{9}
$/
;
if
(
!
reg
.
test
(
value
))
{
reject
(
'请输入正确手机号!'
);
}
resolve
();
});
},
},
];
},
},
],
showActionButtonGroup
:
false
,
});
//表单赋值
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
();
//表单提交事件
async
function
handleSubmit
()
{
try
{
const
values
=
await
validate
();
setModalProps
({
confirmLoading
:
true
});
//提交表单
let
params
=
Object
.
assign
({
id
:
unref
(
username
)
},
values
);
defHttp
.
post
({
url
:
'/sys/user/changePhone'
,
params
},
{
isTransformResponse
:
false
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
$message
.
createMessage
.
success
(
res
.
message
);
//关闭弹窗
closeModal
();
}
else
{
$message
.
createMessage
.
warning
(
res
.
message
);
}
});
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
async
function
show
(
name
)
{
if
(
!
name
)
{
$message
.
createMessage
.
warning
(
'当前系统无登录用户!'
);
return
;
}
else
{
username
.
value
=
name
;
await
setModalProps
({
visible
:
true
});
await
resetFields
();
await
clearValidate
();
}
}
defineExpose
({
show
,
});
</
script
>
src/layouts/default/header/components/user-dropdown/index.vue
浏览文件 @
5ab01049
...
...
@@ -29,6 +29,7 @@
<MenuDivider
v-if=
"getShowDoc"
/>
<!--
<MenuItem
key=
"account"
:text=
"t('layout.header.dropdownItemSwitchAccount')"
icon=
"ant-design:setting-outlined"
/>
-->
<MenuItem
key=
"password"
:text=
"t('layout.header.dropdownItemSwitchPassword')"
icon=
"ant-design:edit-outlined"
/>
<MenuItem
key=
"phone"
:text=
"t('layout.header.dropdownItemSwitchPhone')"
icon=
"ant-design:edit-outlined"
/>
<!--
<MenuItem
key=
"depart"
:text=
"t('layout.header.dropdownItemSwitchDepart')"
icon=
"ant-design:cluster-outlined"
/>
-->
<!--
<MenuItem
key=
"cache"
:text=
"t('layout.header.dropdownItemRefreshCache')"
icon=
"ion:sync-outline"
/>
-->
<!--
<MenuItem
...
...
@@ -44,6 +45,7 @@
<LockAction
@
register=
"register"
/>
<DepartSelect
ref=
"loginSelectRef"
/>
<UpdatePassword
ref=
"updatePasswordRef"
/>
<UpdatePhone
ref=
"updatePhoneRef"
/>
</template>
<
script
lang=
"ts"
>
// components
...
...
@@ -70,7 +72,7 @@
import
{
removeAuthCache
,
setAuthCache
}
from
'/src/utils/auth'
;
import
{
getFileAccessHttpUrl
}
from
'/@/utils/common/compUtils'
;
type
MenuEvent
=
'logout'
|
'doc'
|
'lock'
|
'cache'
|
'depart'
;
type
MenuEvent
=
'logout'
|
'doc'
|
'lock'
|
'cache'
|
'depart'
|
'phone'
|
'password'
|
'account'
;
const
{
createMessage
}
=
useMessage
();
export
default
defineComponent
({
name
:
'UserDropdown'
,
...
...
@@ -83,6 +85,7 @@
LockAction
:
createAsyncComponent
(()
=>
import
(
'../lock/LockModal.vue'
)),
DepartSelect
:
createAsyncComponent
(()
=>
import
(
'./DepartSelect.vue'
)),
UpdatePassword
:
createAsyncComponent
(()
=>
import
(
'./UpdatePassword.vue'
)),
UpdatePhone
:
createAsyncComponent
(()
=>
import
(
'./UpdatePhone.vue'
)),
},
props
:
{
theme
:
propTypes
.
oneOf
([
'dark'
,
'light'
]),
...
...
@@ -191,6 +194,11 @@
updatePasswordRef
.
value
.
show
(
userStore
.
getUserInfo
.
username
);
}
const
updatePhoneRef
=
ref
();
function
updatePhone
()
{
updatePhoneRef
.
value
.
show
(
userStore
.
getUserInfo
.
id
);
}
function
handleMenuClick
(
e
:
{
key
:
MenuEvent
})
{
switch
(
e
.
key
)
{
case
'logout'
:
...
...
@@ -211,6 +219,9 @@
case
'password'
:
updatePassword
();
break
;
case
'phone'
:
updatePhone
();
break
;
case
'account'
:
//update-begin---author:wangshuai ---date:20221125 for:进入用户设置页面------------
go
(
`/system/usersetting`
);
...
...
@@ -233,6 +244,7 @@
getUseLockPage
,
loginSelectRef
,
updatePasswordRef
,
updatePhoneRef
,
};
},
});
...
...
src/locales/lang/en/layout.ts
浏览文件 @
5ab01049
...
...
@@ -5,6 +5,7 @@ export default {
dropdownItemDoc
:
'Document'
,
dropdownItemLoginOut
:
'Login Out'
,
dropdownItemSwitchPassword
:
'Password Change'
,
dropdownItemSwitchPhone
:
'Phone Change'
,
dropdownItemSwitchDepart
:
'Switch Department'
,
dropdownItemRefreshCache
:
'Clean cache'
,
dropdownItemSwitchAccount
:
'Account Setting'
,
...
...
src/locales/lang/zh-CN/layout.ts
浏览文件 @
5ab01049
...
...
@@ -5,6 +5,7 @@ export default {
dropdownItemDoc
:
'官网'
,
dropdownItemLoginOut
:
'退出系统'
,
dropdownItemSwitchPassword
:
'密码修改'
,
dropdownItemSwitchPhone
:
'密码手机号'
,
dropdownItemSwitchDepart
:
'切换部门'
,
dropdownItemRefreshCache
:
'刷新缓存'
,
dropdownItemSwitchAccount
:
'账户设置'
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论