Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_admin
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_admin
Commits
0f8699bb
Commit
0f8699bb
authored
Jul 25, 2023
by
yaya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:修改输入小数点
parent
c9f84579
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
7 deletions
+17
-7
src/views/goods/edit.vue
src/views/goods/edit.vue
+0
-4
src/views/goods/infoSet.vue
src/views/goods/infoSet.vue
+17
-3
No files found.
src/views/goods/edit.vue
View file @
0f8699bb
...
@@ -157,13 +157,9 @@ export default {
...
@@ -157,13 +157,9 @@ export default {
methods
:
{
methods
:
{
limitInput
(
value
)
{
limitInput
(
value
)
{
this
.
goods
.
price
=
(
''
+
value
)
// 第一步:转成字符串
this
.
goods
.
price
=
(
''
+
value
)
// 第一步:转成字符串
.
replace
(
/
[^\d
^
\.]
+/g
,
''
)
// 第二步:把不是数字,不是小数点的过滤掉
.
replace
(
/
[^\d
^
\.]
+/g
,
''
)
// 第二步:把不是数字,不是小数点的过滤掉
.
replace
(
/^0+
(\d)
/
,
'
$1
'
)
// 第三步:第一位0开头,0后面为数字,则过滤掉,取后面的数字
.
replace
(
/^0+
(\d)
/
,
'
$1
'
)
// 第三步:第一位0开头,0后面为数字,则过滤掉,取后面的数字
.
replace
(
/^
\.
/
,
'
0.
'
)
// 第四步:如果输入的第一位为小数点,则替换成 0. 实现自动补全
.
replace
(
/^
\.
/
,
'
0.
'
)
// 第四步:如果输入的第一位为小数点,则替换成 0. 实现自动补全
.
match
(
/^
\d
*
(\.?\d{0,2})
/g
)[
0
]
||
''
// 第五步:最终匹配得到结果 以数字开头,只有一个小数点, 而且小数点后面只能有0到2位小数
.
match
(
/^
\d
*
(\.?\d{0,2})
/g
)[
0
]
||
''
// 第五步:最终匹配得到结果 以数字开头,只有一个小数点, 而且小数点后面只能有0到2位小数
},
},
init
:
function
()
{
init
:
function
()
{
...
...
src/views/goods/infoSet.vue
View file @
0f8699bb
...
@@ -171,13 +171,13 @@
...
@@ -171,13 +171,13 @@
@change="handleCategoryChange"/>
@change="handleCategoryChange"/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"直径(mm):"
prop=
"name"
>
<el-form-item
label=
"直径(mm):"
prop=
"name"
>
<el-input
v-model=
"goodsParams.diameter"
:style=
"
{ 'width':'300px' }" placeholder="请输入直径(mm)" />
<el-input
v-model=
"goodsParams.diameter"
:style=
"
{ 'width':'300px' }" placeholder="请输入直径(mm)"
type="number" @input="limitInput($event, 1)"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"厚度(mm):"
prop=
"name"
>
<el-form-item
label=
"厚度(mm):"
prop=
"name"
>
<el-input
v-model=
"goodsParams.thickness"
:style=
"
{ 'width':'300px' }" placeholder="请输入厚度(mm)" />
<el-input
v-model=
"goodsParams.thickness"
:style=
"
{ 'width':'300px' }" placeholder="请输入厚度(mm)"
type="number" @input="limitInput($event, 2)"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"质量(g):"
prop=
"name"
>
<el-form-item
label=
"质量(g):"
prop=
"name"
>
<el-input
v-model=
"goodsParams.weight"
:style=
"
{ 'width':'300px' }" placeholder="请输入质量(g)" />
<el-input
v-model=
"goodsParams.weight"
:style=
"
{ 'width':'300px' }" placeholder="请输入质量(g)"
type="number" @input="limitInput($event, 3)"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否作为标准货币:"
prop=
"isOnSale"
>
<el-form-item
label=
"是否作为标准货币:"
prop=
"isOnSale"
>
<el-radio-group
v-model=
"goodsParams.isStd"
>
<el-radio-group
v-model=
"goodsParams.isStd"
>
...
@@ -302,6 +302,20 @@ export default {
...
@@ -302,6 +302,20 @@ export default {
window
.
addEventListener
(
'
scroll
'
,
this
.
handleScroll
)
window
.
addEventListener
(
'
scroll
'
,
this
.
handleScroll
)
},
},
methods
:
{
methods
:
{
limitInput
(
value
,
type
)
{
const
newValue
=
(
''
+
value
)
// 第一步:转成字符串
.
replace
(
/
[^\d
^
\.]
+/g
,
''
)
// 第二步:把不是数字,不是小数点的过滤掉
.
replace
(
/^0+
(\d)
/
,
'
$1
'
)
// 第三步:第一位0开头,0后面为数字,则过滤掉,取后面的数字
.
replace
(
/^
\.
/
,
'
0.
'
)
// 第四步:如果输入的第一位为小数点,则替换成 0. 实现自动补全
.
match
(
/^
\d
*
(\.?\d{0,2})
/g
)[
0
]
||
''
// 第五步:最终匹配得到结果 以数字开头,只有一个小数点, 而且小数点后面只能有0到2位小数
if
(
type
===
1
)
{
this
.
goodsParams
.
diameter
=
newValue
}
else
if
(
type
===
2
)
{
this
.
goodsParams
.
thickness
=
newValue
}
else
if
(
type
===
3
)
{
this
.
goodsParams
.
weight
=
newValue
}
},
handleScroll
()
{
handleScroll
()
{
const
scrollTop
=
window
.
pageYOffset
||
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
const
scrollTop
=
window
.
pageYOffset
||
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
const
testEle
=
this
.
$refs
.
top
const
testEle
=
this
.
$refs
.
top
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment