Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
cc011ece
提交
cc011ece
编写于
11月 03, 2022
作者:
RedPig97
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:短信验证
上级
5d82654e
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
157 行增加
和
135 行删除
+157
-135
app-login-note-verify.less
...nt/login/app-login-note-verify/app-login-note-verify.less
+6
-3
app-login-note-verify.vue
...ent/login/app-login-note-verify/app-login-note-verify.vue
+151
-132
未找到文件。
src/components/layout-element/login/app-login-note-verify/app-login-note-verify.less
浏览文件 @
cc011ece
...
...
@@ -6,16 +6,19 @@
border: 1px solid #dcdee2;
margin-left: 10px;
color: #606266;
background-color: #fff;
&:hover {
border: 1px solid #dcdee2;
}
&.is-disabled {
background-color: #f5f5f5;
color: #00000040;
}
}
}
.code{
padding-top: 8px;
}
.error {
color: red
;
.
ivu-alert-
error {
background-color: rgb(255, 225, 225)
;
}
}
\ No newline at end of file
src/components/layout-element/login/app-login-note-verify/app-login-note-verify.vue
浏览文件 @
cc011ece
<
template
>
<div
class=
"app-login-note-verify"
>
<div
class=
"content"
>
<i-input
size=
"default"
type=
"text"
v-model=
"phoneNumber"
:placeholder=
"$t('components.login.phoneplaceholder')"
@
on-blur=
"veriPhoneNumber"
></i-input>
<el-button
:disabled=
"disabled"
size=
"mini"
type=
"primary"
@
click=
"getVeriCode()"
>
{{
disabled
?
`${countDown
}
s ${$t('components.login.getcodeafter')
}
`
:
`${$t('components.login.getcode')
}
`
}}
<
/el-butto
n
>
<div
:class=
"[model.sysCss, 'app-login-note-verify']"
:style=
"containerStyle"
>
<div
class=
"content"
>
<i-input
size=
"default"
type=
"text"
v-model=
"phoneNumber"
:placeholder=
"$t('components.login.phoneplaceholder')"
@
on-blur=
"veriPhoneNumber"
></i-input>
<el-button
:disabled=
"disabled"
size=
"mini"
@
click=
"getVeriCode()"
>
{{
disabled
?
`${delay
}
s ${$t("components.login.getcodeafter")
}
`
:
`${$t("components.login.getcode")
}
`
}}
<
/el-button
>
<
/div
>
<
alert
v
-
show
=
"phoneError"
type
=
"error"
>
电话号码格式错误
<
/alert
>
<
div
class
=
"code"
v
-
show
=
"this.show"
>
<
i
-
input
size
=
"default"
type
=
"text"
:
value
=
"currentValue"
@
input
=
"codeChange"
:
placeholder
=
"$t('components.login.codeplaceholder')"
><
/i-input
>
<
/div
>
<
/div
>
<
div
class
=
"code"
>
<
i
-
input
size
=
"default"
type
=
"text"
:
value
=
"currentValue"
@
input
=
"codeChange"
:
placeholder
=
"$t('components.login.codeplaceholder')"
><
/i-input
>
<
/div
>
<
/div
>
<
/template
>
<
script
lang
=
'ts'
>
<
script
lang
=
"ts"
>
import
{
PanelFieldModel
}
from
"@/model/panel-detail"
;
import
{
Vue
,
Component
,
Prop
}
from
"vue-property-decorator"
;
@
Component
({
}
)
export
default
class
AppPresetSmsVerification
extends
Vue
{
/**
*验证码值
*
* @type {string
}
* @memberof AppPresetSmsVerification
*/
@
Prop
()
public
value
!
:
string
;
/**
*验证码当前值
*
* @type {string
}
* @memberof AppPresetSmsVerification
*/
get
currentValue
():
string
{
return
this
.
value
;
}
/**
* 手机号
*
* @type {*
}
* @memberof AppPresetSmsVerification
*/
public
phoneNumber
:
string
=
''
;
/**
* 倒计时
*
* @type {*
}
* @memberof AppPresetSmsVerification
*/
public
countDown
:
number
=
60
;
/**
* 错误提示
* @type {*
}
* @memberof AppPresetSmsVerification
*/
public
phoneError
=
false
;
/**
* 是否禁用获取验证码按钮
*
* @type {*
}
* @memberof AppPresetSmsVerification
*/
public
disabled
:
boolean
=
false
;
/**
* 定时器
*
* @type {*
}
* @memberof AppPresetSmsVerification
*/
public
timer
:
any
;
/**
* @description 设置倒计时
* @memberof AppPresetSmsVerification
*/
public
setCountDown
()
{
if
(
this
.
countDown
>
0
)
{
this
.
countDown
--
;
}
else
{
this
.
countDown
=
60
;
this
.
disabled
=
false
;
clearInterval
(
this
.
timer
);
export
default
class
AppLoginNoteVerify
extends
Vue
{
/**
* 模型
*
* @type {string
}
* @memberof AppLoginInput
*/
@
Prop
()
public
model
!
:
PanelFieldModel
;
/**
* 值
*
* @type {string
}
* @memberof AppLoginInput
*/
@
Prop
()
public
value
!
:
string
;
/**
* 名称
*
* @type {string
}
* @memberof AppLoginInput
*/
@
Prop
()
public
name
!
:
string
;
/**
*验证码当前值
*
* @type {string
}
* @memberof AppLoginNoteVerify
*/
get
currentValue
():
string
{
return
this
.
value
;
}
this
.
$forceUpdate
();
}
/**
* @description 验证码输入变化
* @memberof AppPresetSmsVerification
*/
public
codeChange
(
value
:
string
)
{
this
.
$emit
(
"change"
,
value
);
}
/**
* @description 校验手机号
* @memberof AppPresetSmsVerification
*/
public
veriPhoneNumber
():
boolean
{
this
.
phoneError
=
!
/^1
[
3-9
]\d
{9
}
$/
.
test
(
this
.
phoneNumber
);
if
(
this
.
phoneError
)
{
this
.
$emit
(
"error"
,
this
.
$t
(
'components.login.phonefailed'
));
}
else
{
this
.
$emit
(
"error"
,
''
);
/**
* 手机号
*
* @type {*
}
* @memberof AppLoginNoteVerify
*/
public
phoneNumber
:
string
=
""
;
/**
* 错误提示
* @type {*
}
* @memberof AppLoginNoteVerify
*/
public
phoneError
=
false
;
/**
* 是否禁用获取验证码按钮
*
* @type {boolean
}
* @memberof AppLoginNoteVerify
*/
public
disabled
:
boolean
=
false
;
/**
* 显示验证码输入框
*
* @type {boolean
}
* @memberof AppLoginNoteVerify
*/
public
show
:
boolean
=
false
;
/**
* 延迟
*
* @type {number
}
* @memberof AppLoginNoteVerify
*/
public
delay
:
number
=
60
;
/**
* 定时器
*
* @type {any
}
* @memberof AppLoginNoteVerify
*/
public
timer
:
any
=
null
;
/**
* @description 验证码输入变化
* @memberof AppLoginNoteVerify
*/
public
codeChange
(
value
:
string
)
{
this
.
$emit
(
"valueChange"
,
{
name
:
this
.
name
,
value
:
value
}
);
}
/**
* @description 校验手机号
* @memberof AppLoginNoteVerify
*/
public
veriPhoneNumber
():
boolean
{
this
.
phoneError
=
!
/^1
[
3-9
]\d
{9
}
$/
.
test
(
this
.
phoneNumber
);
return
this
.
phoneError
;
}
/**
* @description 设置延迟时间
* @memberof AppLoginNoteVerify
*/
public
setDelay
()
{
this
.
timer
=
setInterval
(()
=>
{
if
(
this
.
delay
>
0
)
{
this
.
delay
--
;
}
else
{
this
.
delay
=
60
;
this
.
disabled
=
false
;
clearInterval
(
this
.
timer
);
}
}
,
1000
)
}
/**
* @description 获取验证码
* @memberof AppLoginNoteVerify
*/
public
getVeriCode
()
{
if
(
this
.
phoneError
)
return
;
// todo 获取验证码
this
.
show
=
true
;
this
.
disabled
=
true
;
this
.
setDelay
();
}
return
this
.
phoneError
;
}
/**
* @description 获取验证码
* @memberof AppPresetSmsVerification
*/
public
getVeriCode
()
{
if
(
this
.
phoneError
)
return
;
// todo 获取验证码
}
}
<
/script
>
<
style
lang
=
'less'
>
<
style
lang
=
"less"
>
@
import
"./app-login-note-verify.less"
;
<
/style>
\ No newline at end of file
<
/style
>
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录