Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
memberTag-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
memberTag
memberTag-web
Commits
ac171eb8
Commit
ac171eb8
authored
Apr 22, 2022
by
liuchenxi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 标签规则限制以及分组调整
parent
53ab996e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
70 additions
and
32 deletions
+70
-32
tag-config-options.vue
src/components/tag/tag-config-options.vue
+55
-27
memberGroupEdit.vue
src/view/memberGroup/memberGroupEdit.vue
+2
-0
memberGroupList.vue
src/view/memberGroup/memberGroupList.vue
+13
-5
No files found.
src/components/tag/tag-config-options.vue
View file @
ac171eb8
...
...
@@ -20,9 +20,9 @@
<!-- 2.数字范围 -->
<
template
v-if=
"parent.templateCode == 'tag003'"
>
<div
class=
"m-b-20"
:key=
"'tag2' + pindex"
>
<el-input
:value=
"parent.numRange[0]"
@
input=
"v => $set(parent.numRange, 0, onInputNum(v
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
@
blur=
"e => $set(parent.numRange, 0, onInputBlur(e
))"
></el-input>
<el-input
:value=
"parent.numRange[0]"
@
input=
"v => $set(parent.numRange, 0, onInputNum(v
, parent.expandParams))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
@
blur=
"e => $set(parent.numRange, 0, onInputBlur(e, parent.expandParams
))"
></el-input>
<label>
-
</label>
<el-input
:value=
"parent.numRange[1]"
@
input=
"v => $set(parent.numRange, 1, onInputNum(v
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
@
blur=
"e => $set(parent.numRange, 1, onInputBlur(e
))"
></el-input>
<el-input
:value=
"parent.numRange[1]"
@
input=
"v => $set(parent.numRange, 1, onInputNum(v
, parent.expandParams))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
@
blur=
"e => $set(parent.numRange, 1, onInputBlur(e, parent.expandParams
))"
></el-input>
</div>
</
template
>
...
...
@@ -39,12 +39,12 @@
</el-select>
<div
style=
"display: inline-block"
v-if=
"parent.symbol == '区间'"
>
<el-input
:value=
"parent.numRange[0]"
@
input=
"v => $set(parent.numRange, 0, onInputNum(v
))"
@
keyup
.
native=
"handleNumRangeEnd($event)"
@
blur=
"e => $set(parent.numRange, 0, onInputBlur(e
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
<el-input
:value=
"parent.numRange[0]"
@
input=
"v => $set(parent.numRange, 0, onInputNum(v
, parent.expandParams))"
@
keyup
.
native=
"handleNumRangeEnd($event, parent.expandParams)"
@
blur=
"e => $set(parent.numRange, 0, onInputBlur(e, parent.expandParams
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
<label>
-
</label>
<el-input
:value=
"parent.numRange[1]"
@
input=
"v => $set(parent.numRange, 1, onInputNum(v
))"
@
keyup
.
native=
"handleNumRangeEnd($event)"
@
blur=
"e => $set(parent.numRange, 1, onInputBlur(e
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
<el-input
:value=
"parent.numRange[1]"
@
input=
"v => $set(parent.numRange, 1, onInputNum(v
, parent.expandParams))"
@
keyup
.
native=
"handleNumRangeEnd($event, parent.expandParams)"
@
blur=
"e => $set(parent.numRange, 1, onInputBlur(e, parent.expandParams
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
</div>
<div
style=
"display: inline-block"
v-if=
"parent.symbol != '区间'"
>
<el-input
:value=
"parent.num"
@
input=
"v => $set(parent, 'num', onInputNum(v
))"
@
keyup
.
native=
"handleNumRangeEnd($event)"
@
blur=
"e => $set(parent, 'num', onInputBlur(e
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
<el-input
:value=
"parent.num"
@
input=
"v => $set(parent, 'num', onInputNum(v
, parent.expandParams))"
@
keyup
.
native=
"handleNumRangeEnd($event, parent.expandParams)"
@
blur=
"e => $set(parent, 'num', onInputBlur(e, parent.expandParams
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
</div>
<!--
<label
class=
"label-tip"
>
注:如果起始值为空则视为小于等于最大输入值;如果最大值为空则视为大于等于最小输入值!
</label>
-->
...
...
@@ -758,12 +758,12 @@
</el-select>
<div
style=
"display: inline-block"
v-if=
"parent.symbol == '区间'"
>
<el-input
:value=
"parent.numRange[0]"
@
input=
"v => $set(parent.numRange, 0, onInputNum(v
))"
@
keyup
.
native=
"handleNumRangeEnd($event)"
@
blur=
"e => $set(parent.numRange, 0, onInputBlur(e
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
<el-input
:value=
"parent.numRange[0]"
@
input=
"v => $set(parent.numRange, 0, onInputNum(v
, parent.expandParams))"
@
keyup
.
native=
"handleNumRangeEnd($event, parent.expandParams)"
@
blur=
"e => $set(parent.numRange, 0, onInputBlur(e, parent.expandParams
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 0;"
placeholder=
"请输入数字"
></el-input>
<label>
-
</label>
<el-input
:value=
"parent.numRange[1]"
@
input=
"v => $set(parent.numRange, 1, onInputNum(v
))"
@
keyup
.
native=
"handleNumRangeEnd($event)"
@
blur=
"e => $set(parent.numRange, 1, onInputBlur(e
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 10px;"
placeholder=
"请输入数字"
></el-input>
<el-input
:value=
"parent.numRange[1]"
@
input=
"v => $set(parent.numRange, 1, onInputNum(v
, parent.expandParams))"
@
keyup
.
native=
"handleNumRangeEnd($event, parent.expandParams)"
@
blur=
"e => $set(parent.numRange, 1, onInputBlur(e, parent.expandParams
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 10px;"
placeholder=
"请输入数字"
></el-input>
</div>
<div
style=
"display: inline-block"
v-if=
"parent.symbol != '区间'"
>
<el-input
:value=
"parent.num"
@
input=
"v => $set(parent, 'num', onInputNum(v
))"
@
keyup
.
native=
"handleNumRangeEnd($event)"
@
blur=
"e => $set(parent, 'num', onInputBlur(e
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 10px;"
placeholder=
"请输入数字"
></el-input>
<el-input
:value=
"parent.num"
@
input=
"v => $set(parent, 'num', onInputNum(v
, parent.expandParams))"
@
keyup
.
native=
"handleNumRangeEnd($event, parent.expandParams)"
@
blur=
"e => $set(parent, 'num', onInputBlur(e, parent.expandParams
))"
class=
"select-wrap-input"
style=
"width: 100px;margin-right: 10px;"
placeholder=
"请输入数字"
></el-input>
</div>
件
</div>
...
...
@@ -1350,8 +1350,9 @@ export default {
eve
.
target
.
value
=
''
;
}
},
handleNumRangeEnd
(
eve
)
{
handleNumRangeEnd
(
eve
,
controlJson
)
{
let
value
=
eve
.
target
.
value
;
if
(
controlJson
)
return
value
;
// 有后端限制就不需要以下控制
value
.
replace
(
RegNoC
,
(
str
,
p1
,
offset
)
=>
{
if
(
offset
>
-
1
)
{
this
.
$message
.
warning
({
...
...
@@ -2249,7 +2250,29 @@ export default {
}
}
},
onInputNum
(
v
)
{
// 远程校验数字类型
remoteControlNum
(
v
,
controlJson
)
{
const
{
type
,
maxNum
,
minNum
}
=
JSON
.
parse
(
controlJson
).
reduce
((
obj
,
cur
)
=>
{
obj
[
cur
.
key
]
=
cur
.
value
;
return
obj
;
},
{});
switch
(
type
)
{
case
'int'
:
v
=
parseInt
(
v
);
break
;
case
'double'
:
v
=
parseFloat
(
v
).
toFixed
(
2
);
break
;
}
if
(
Number
.
isNaN
(
v
))
return
''
;
// 是否为数字
if
(
v
>
maxNum
||
v
<
minNum
)
{
// 校验规则
this
.
$message
.
error
(
`仅支持输入
${
minNum
}
-
${
maxNum
}
的值`
);
return
''
;
}
return
v
;
},
onInputNum
(
v
,
controlJson
)
{
if
(
controlJson
)
return
v
;
v
=
v
+
''
;
// flag true:是负数,最后结果需要加上负号
const
flag
=
v
.
indexOf
(
'-'
)
==
0
;
...
...
@@ -2270,27 +2293,32 @@ export default {
v
=
typeof
v
[
1
]
==
'string'
?
`
${
v
[
0
]}
.
${
v
[
1
]}
`
:
v
[
0
];
return
flag
?
`-
${
v
}
`
:
v
;
},
onInputBlur
(
e
)
{
// 输入框失焦后,校验用户是否只输入了一个负号或者小数点
let
v
=
e
.
target
.
value
;
v
=
v
.
indexOf
(
'-'
)
==
v
.
length
-
1
?
''
:
v
;
v
=
v
.
indexOf
(
'.'
)
==
v
.
length
-
1
?
v
.
replace
(
'.'
,
''
)
:
v
;
if
(
this
.
tagData
.
tagId
==
'6fb8ab4ce2d64fd19ac22fcba722bd61'
)
{
v
=
Math
.
floor
(
v
);
if
(
v
<
0
)
{
v
=
0
onInputBlur
(
e
,
controlJson
)
{
// controlJson字段存在时,使用后端配置的校验规则。否则用当前默认规则
if
(
!
controlJson
)
{
// 输入框失焦后,校验用户是否只输入了一个负号或者小数点
let
v
=
e
.
target
.
value
;
v
=
v
.
indexOf
(
'-'
)
==
v
.
length
-
1
?
''
:
v
;
v
=
v
.
indexOf
(
'.'
)
==
v
.
length
-
1
?
v
.
replace
(
'.'
,
''
)
:
v
;
if
(
this
.
tagData
.
tagId
==
'6fb8ab4ce2d64fd19ac22fcba722bd61'
)
{
v
=
Math
.
floor
(
v
);
if
(
v
<
0
)
{
v
=
0
}
}
}
// 部分标签只允许输入整数
const
tags
=
[
'次数'
,
'天数'
,
'时长'
];
if
(
tags
.
some
((
el
)
=>
this
.
tagData
.
tagName
.
indexOf
(
el
)
!==
-
1
))
{
v
=
Math
.
floor
(
v
);
if
(
v
<
0
)
{
v
=
0
// 部分标签只允许输入整数
const
tags
=
[
'次数'
,
'天数'
,
'时长'
];
if
(
tags
.
some
((
el
)
=>
this
.
tagData
.
tagName
.
indexOf
(
el
)
!==
-
1
))
{
v
=
Math
.
floor
(
v
);
if
(
v
<
0
)
{
v
=
0
}
}
return
v
+
''
;
}
else
{
return
this
.
remoteControlNum
(
e
.
target
.
value
,
controlJson
);
}
return
v
+
''
;
},
onChangeTime
(
val
)
{
if
(
isNaN
(
val
))
{
...
...
src/view/memberGroup/memberGroupEdit.vue
View file @
ac171eb8
...
...
@@ -192,6 +192,7 @@
<div
class=
"page-box"
>
<dm-pagination
background
:pager-count=
"5"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"pageNum"
...
...
@@ -785,6 +786,7 @@ export default {
this
.
treeNodeId
=
''
;
this
.
pageNum
=
1
;
this
.
getTagsGroupList
();
this
.
pageSize
=
20
;
},
// 是否展示系统标签
getShowSystem
()
{
...
...
src/view/memberGroup/memberGroupList.vue
View file @
ac171eb8
<
template
>
<div
class=
"member-group"
>
<div
class=
"flex"
>
<el-tabs
v-model=
"activeType"
class=
"tabs"
>
<el-tabs
v-model=
"activeType"
class=
"tabs"
@
tab-click=
"onTabClick"
>
<el-tab-pane
label=
"我的客户分组"
name=
"1"
></el-tab-pane>
<el-tab-pane
label=
"固化人群"
name=
"2"
></el-tab-pane>
<el-tab-pane
label=
"金字塔客户分组"
name=
"3"
v-if=
"!($store.state.enableAccessControl && !$store.state.isSuperAdmin)"
></el-tab-pane>
...
...
@@ -294,7 +294,7 @@
<el-switch
:active-value=
"1"
:inactive-value=
"0"
v-model=
"scope.row.appStatus"
active-color=
"#2F54EB"
@
change=
"switchAppStatus(scope.row.appStatus, scope.row)"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"创建人"
prop=
"createUserName"
v-if=
"[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin"
>
<el-table-column
label=
"创建人"
min-width=
"110"
prop=
"createUserName"
v-if=
"[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
createUserName
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"recentUpdateDate"
min-width=
"100"
label=
"到期时间"
>
...
...
@@ -320,7 +320,7 @@
</el-table-column>
<el-table-column
label=
"操作"
width=
"2
1
0"
fixed=
"right"
v-if=
"setAuth"
>
<el-table-column
label=
"操作"
width=
"2
3
0"
fixed=
"right"
v-if=
"setAuth"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"`/memberGroupDetail?memberTagGroupId=$
{scope.row.memberTagGroupId}
&
type=1`"
...
...
@@ -889,6 +889,8 @@ export default {
},
// 会员分组二级
getsecondList
(
list
)
{
this
.
currentPage
=
1
;
this
.
params
.
pageNum
=
1
;
this
.
showFixedList
=
false
if
(
list
===
'showFixedList'
)
{
this
.
params
.
memberTagGroupClassifyId
=
''
;
...
...
@@ -904,6 +906,8 @@ export default {
this
.
isTagRecommend
=
true
;
this
.
memberTagGroupId
=
''
;
this
.
currentPage
=
1
;
this
.
params
.
pageNum
=
1
;
this
.
params
.
pageSize
=
20
;
this
.
pageSize
=
20
;
this
.
_gradeList
();
return
;
...
...
@@ -1330,9 +1334,7 @@ export default {
let
now
=
new
Date
().
toLocaleDateString
().
replace
(
/
(\d
+
)\/(\d
+
)\/(\d
+
)
/
,
(
match
,
p1
,
p2
,
p3
)
=>
{
return
[
p1
,
p2
.
padStart
(
2
,
'0'
),
p3
.
padStart
(
2
,
'0'
)].
join
(
'-'
);
});
console
.
log
(
lastDate
,
now
);
if
(
lastDate
!==
now
)
return
false
;
// if(new Date().getTime() > lastDate.getTime()) return false;
return
true
;
},
onExpandChange
(
row
,
expandedRows
)
{
...
...
@@ -1453,6 +1455,12 @@ export default {
});
})
}).
finally
(()
=>
this
.
reqLock
=
false
);
},
onTabClick
()
{
this
.
pageSize
=
20
;
this
.
params
.
pageSize
=
20
;
this
.
currentPage
=
1
;
this
.
params
.
pageNum
=
1
;
}
},
created
()
{
...
...
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