Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-3
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
office
haoban-3
Commits
1df43de9
Commit
1df43de9
authored
Aug 04, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 新建活码
parent
bb71c406
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
59 additions
and
101 deletions
+59
-101
setActCode.vue
...alesleads/actCodeManage/staffActCode/views/setActCode.vue
+30
-69
act-code-set.vue
src/views/salesleads/components/act-code-set.vue
+29
-32
No files found.
src/views/salesleads/actCodeManage/staffActCode/views/setActCode.vue
View file @
1df43de9
<
template
>
<div>
<setActCode
ref=
"setActCodePage"
@
sumbit=
"onSubmit"
:actCodeData=
"form
"
>
<setActCode
ref=
"setActCodePage"
:actCodeData=
"form"
@
sumbit=
"onSubmit
"
>
<template
#
typeCode
>
<el-form-item
label=
"活码类型"
:rules=
"[
{ required: true, message: '请选择活码类型', trigger: 'blur' }]">
<el-radio-group
v-model=
"form.hmType"
@
change=
"
changeEvent"
:disabled=
"$route.query
.hmId"
>
<el-radio-group
v-model=
"form.hmType"
@
change=
"
form.name = ''"
:disabled=
"!!form
.hmId"
>
<el-radio
:label=
"1"
>
单人活码
</el-radio>
<el-radio
:label=
"2"
>
多人活码
</el-radio>
</el-radio-group>
...
...
@@ -15,10 +15,10 @@
</el-form-item>
</
template
>
<
template
#
member
>
<el-form-item
label=
"关联导购"
prop=
"clerk
Id
List"
:rules=
"[
{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<el-form-item
label=
"关联导购"
prop=
"clerkList"
:rules=
"[
{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<p
class=
"tabs"
v-if=
"form.hmType == 1"
>
单人活码仅可选择一名成员
</p>
<p
class=
"tabs"
v-if=
"form.hmType == 2"
>
若选择多名成员,则随机分配企微员工
</p>
<select-clerk
:is-simple=
"form.hmType == 1"
:multiple=
"
multiple"
:data=
"data"
@
change=
"onChange"
:disabled=
"clerkDisable
d"
></select-clerk>
<select-clerk
:is-simple=
"form.hmType == 1"
:multiple=
"
form.hmType == 2"
:data=
"form.clerkList"
@
change=
"onChange"
:disabled=
"form.hmType == 1 && !!form.hmI
d"
></select-clerk>
</el-form-item>
</
template
>
</setActCode>
...
...
@@ -34,102 +34,69 @@ export default {
return
{
loading
:
false
,
form
:
{
hmId
:
''
,
hmGroupId
:
''
,
passFlag
:
1
,
welcomeId
:
''
,
hmType
:
1
,
name
:
''
,
clerkIdList
:
[],
memberLabelId
:
''
,
memberLabelName
:
''
,
memberLabelStatus
:
-
1
,
clerkList
:
[],
welcomeType
:
1
,
hmUserNum
:
null
//多人活码人数
},
multiple
:
false
,
data
:
[],
dataArr
:
[],
clerkDisabled
:
false
}
};
},
created
()
{
if
(
this
.
$route
.
query
.
hmId
)
{
this
.
form
.
hmId
=
this
.
$route
.
query
.
hmId
;
this
.
getActCodeInfo
();
}
},
methods
:
{
changeEvent
(
e
)
{
this
.
data
=
[];
this
.
dataArr
=
[];
if
(
e
==
2
)
{
this
.
multiple
=
1
;
this
.
clerkDisabled
=
false
;
}
else
if
(
e
==
1
)
{
this
.
multiple
=
false
;
}
},
onChange
(
data
)
{
this
.
data
=
data
;
this
.
form
.
hmUserNum
=
data
.
length
;
this
.
form
.
clerkIdList
=
data
.
map
(
item
=>
{
return
item
.
clerkId
;
});
this
.
dataArr
=
data
.
map
(
item
=>
{
return
item
.
clerkName
;
});
this
.
form
.
clerkList
=
data
;
if
(
this
.
form
.
name
==
''
)
{
this
.
form
.
name
=
this
.
dataArr
.
toString
();
this
.
form
.
name
=
data
.
map
(
el
=>
el
.
clerkName
)
.
toString
()
.
slice
(
0
,
20
);
}
this
.
$nextTick
(()
=>
{
this
.
$refs
.
setActCodePage
.
getForm
().
validateField
([
'name'
,
'clerk
Id
List'
]);
this
.
$refs
.
setActCodePage
.
getForm
().
validateField
([
'name'
,
'clerkList'
]);
});
},
async
getActCodeInfo
()
{
const
that
=
this
;
that
.
loading
=
true
;
if
(
this
.
$route
.
query
.
hmId
)
{
await
getRequest
(
'/haoban-manage3-web/hm/qrcode/detail'
,
{
hmId
:
this
.
$route
.
query
.
hmId
}).
then
(
res
=>
{
getActCodeInfo
()
{
this
.
loading
=
true
;
getRequest
(
'/haoban-manage3-web/hm/qrcode/detail'
,
{
hmId
:
this
.
form
.
hmId
})
.
then
(
res
=>
{
this
.
form
=
res
.
data
.
result
;
if
(
this
.
form
.
welcomeId
)
{
this
.
form
.
welcomeType
=
1
;
}
else
{
this
.
form
.
welcomeType
=
2
;
}
this
.
form
.
passFlag
=
this
.
form
.
passFlag
==
1
?
true
:
false
;
this
.
form
.
clerkIdList
=
this
.
form
.
clerkList
.
map
(
i
=>
i
.
clerkId
);
this
.
form
.
hmUserNum
=
this
.
form
.
clerkIdList
.
length
;
this
.
data
=
res
.
data
.
result
.
clerkList
;
if
(
this
.
form
.
hmType
==
1
)
{
this
.
clerkDisabled
=
true
;
this
.
multiple
=
false
;
}
else
if
(
this
.
form
.
hmType
==
2
)
{
this
.
multiple
=
true
;
this
.
clerkDisabled
=
false
;
}
that
.
loading
=
false
;
});
}
this
.
form
.
hmUserNum
=
this
.
form
.
clerkList
.
length
;
})
.
finally
(()
=>
(
this
.
loading
=
false
));
},
async
onSubmit
(
event
)
{
onSubmit
(
event
)
{
let
obj
=
{
...
event
,
...
this
.
form
};
obj
.
passFlag
=
obj
.
passFlag
?
1
:
0
;
if
(
this
.
$route
.
query
.
hmId
)
{
obj
=
{
...
obj
,
hmId
:
this
.
$route
.
query
.
hmId
};
obj
.
clerkIdList
=
obj
.
clerkList
.
map
(
el
=>
el
.
clerkId
);
if
(
this
.
form
.
hmId
)
{
// 编辑
await
postJsonRequest
(
'/haoban-manage3-web/hm/qrcode/update'
,
obj
).
then
(
res
=>
{
postJsonRequest
(
'/haoban-manage3-web/hm/qrcode/update'
,
obj
).
then
(
res
=>
{
if
(
res
.
data
.
code
==
0
)
{
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
this
.
$refs
.
setActCodePage
.
btnLoading
=
false
;
this
.
$refs
.
setActCodePage
.
saveLoading
=
false
;
this
.
form
=
{
hmType
:
1
,
name
:
''
,
clerkIdList
:
[],
hmUserNum
:
null
//多人活码人数
};
},
1000
);
}
else
{
this
.
$refs
.
setActCodePage
.
btnLoading
=
false
;
...
...
@@ -139,19 +106,13 @@ export default {
});
}
else
{
// 新增
await
postJsonRequest
(
'/haoban-manage3-web/hm/qrcode/add'
,
obj
).
then
(
res
=>
{
postJsonRequest
(
'/haoban-manage3-web/hm/qrcode/add'
,
obj
).
then
(
res
=>
{
if
(
res
.
data
.
code
==
0
)
{
setTimeout
(()
=>
{
this
.
$route
.
meta
.
refresh
=
true
;
this
.
$refs
.
setActCodePage
.
btnLoading
=
false
;
this
.
$refs
.
setActCodePage
.
saveLoading
=
false
;
this
.
$router
.
go
(
-
1
);
this
.
form
=
{
hmType
:
1
,
name
:
''
,
clerkIdList
:
[],
hmUserNum
:
null
//多人活码人数
};
},
1000
);
}
else
{
this
.
$refs
.
setActCodePage
.
btnLoading
=
false
;
...
...
src/views/salesleads/components/act-code-set.vue
View file @
1df43de9
...
...
@@ -6,19 +6,22 @@
<slot
name=
"typeCode"
></slot>
<slot
name=
"codeName"
></slot>
<el-form-item
label=
"活码分组"
prop=
"hmGroupId"
class=
"code-group"
>
<el-select
class=
"w340"
v-model=
"form.hmGroupId"
v-loadmore=
"onLoadmore"
clearable
filterable
:filter-method=
"remoteMethod"
@
change=
"$refs.form.validateField('hmGroupId')"
>
<el-select
class=
"w340"
v-model=
"form.hmGroupId"
v-loadmore=
"onLoadmore"
clearable
filterable
:filter-method=
"remoteMethod"
@
visible-change=
"visibleChange"
@
change=
"$refs.form.validateField('hmGroupId')"
>
<el-option
v-for=
"item in groupList"
:key=
"item.groupId"
:label=
"item.groupName"
:value=
"item.groupId"
></el-option>
</el-select>
</el-form-item>
<slot
name=
"member"
></slot>
<el-form-item
label=
"自动通过好友"
>
<el-switch
v-model=
"form.passFlag"
class=
"mr15"
></el-switch>
<el-switch
v-model=
"form.passFlag"
:active-value=
"1"
:inactive-value=
"0"
class=
"mr15"
></el-switch>
<span
class=
"tabs"
>
开启后,客户添加该企业微信时,无需好友验证,将会自动添加成功
</span>
</el-form-item>
<el-form-item
label=
"活码标签"
prop=
"memberLabelId"
class=
"memberTag-form-item"
>
<el-button
v-if=
"!form.memberLabelId || !form.memberLabelName"
plain
class=
"ylbtn"
@
click=
"tagsDialogVisible = true"
><i
class=
"iconfont-components3 icon-cp-PlusOutlined addPic"
></i>
添加标签
</el-button>
<el-tooltip
:disabled=
"form.memberLabelStatus != 0"
content=
"已删除"
placement=
"top"
v-else
>
<el-tag
closable
@
close=
"handleTagCloseTag"
:type=
"isEdit && form.memberLabelStatus == 0 ? 'warning' : ''"
>
{{
form
.
memberLabelName
}}
</el-tag>
<el-button
v-if=
"!form.memberLabelId"
plain
class=
"ylbtn"
@
click=
"tagsDialogVisible = true"
>
<i
class=
"iconfont-components3 icon-cp-PlusOutlined addPic"
></i>
添加标签
</el-button>
<el-tooltip
:disabled=
"form.hmId && form.memberLabelStatus != 0"
content=
"已删除"
placement=
"top"
v-else
>
<el-tag
closable
@
close=
"handleTagCloseTag"
:type=
"form.hmId && form.memberLabelStatus == 0 ? 'warning' : ''"
>
{{
form
.
memberLabelName
}}
</el-tag>
</el-tooltip>
<dm-memberTag-group
isHb
:visiable
.
sync=
"tagsDialogVisible"
projectName=
"haobao-3"
@
save=
"saveTagPop"
></dm-memberTag-group>
</el-form-item>
...
...
@@ -27,7 +30,7 @@
</el-form>
</div>
<div
class=
"saveBtn"
>
<el-button
type=
"primary"
@
click=
"save"
:loading=
"
btn
Loading"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"save"
:loading=
"
save
Loading"
>
保存
</el-button>
</div>
</div>
</
template
>
...
...
@@ -59,21 +62,20 @@ export default {
},
data
()
{
return
{
btnLoading
:
false
,
saveLoading
:
false
,
form
:
{
// hmType: 1, //1单人 2多人
// name: '', // 名称
hmGroupId
:
''
,
//活码分组id
passFlag
:
true
,
// 1自动通过 0否
memberLabelId
:
''
,
//会员活动标签id
memberLabelName
:
''
,
welcomeId
:
''
,
// 欢迎语id
//
hmGroupId: '', //活码分组id
//
passFlag: true, // 1自动通过 0否
//
memberLabelId: '', //会员活动标签id
//
memberLabelName: '',
//
welcomeId: '', // 欢迎语id
// clerkIdList: '', // 选择导购id
// storeId: '' //门店id
// hmUserNum: null //多人活码人数
memberLabelStatus
:
-
1
,
welcomeType
:
1
//
memberLabelStatus: -1,
//
welcomeType: 1
},
rules
:
{
hmGroupId
:
[{
required
:
true
,
message
:
'请选择活码分组'
,
trigger
:
'blur'
}]
...
...
@@ -100,6 +102,7 @@ export default {
handleTagCloseTag
()
{
this
.
form
.
memberLabelName
=
''
;
this
.
form
.
memberLabelId
=
''
;
this
.
form
.
memberLabelStatus
=
0
;
},
saveTagPop
(
data
)
{
const
{
tagItemId
,
tagItemName
}
=
data
;
...
...
@@ -111,17 +114,15 @@ export default {
this
.
pageParam
.
pageNum
++
;
this
.
searchGroup
();
},
async
searchGroup
()
{
searchGroup
()
{
if
(
this
.
pageParam
.
pageNum
==
1
)
{
this
.
groupList
=
[];
}
await
getRequest
(
'/haoban-manage3-web/hm/group/list'
,
this
.
pageParam
).
then
(
res
=>
{
getRequest
(
'/haoban-manage3-web/hm/group/list'
,
this
.
pageParam
).
then
(
res
=>
{
if
(
res
.
data
.
code
==
0
)
{
const
{
result
,
pages
}
=
res
.
data
.
result
||
{};
this
.
total
=
pages
||
1
;
if
(
this
.
pageParam
.
groupName
!=
''
)
{
this
.
groupList
=
result
;
}
else
if
(
Array
.
isArray
(
result
))
{
if
(
Array
.
isArray
(
result
))
{
this
.
groupList
=
this
.
groupList
.
concat
(
result
);
}
}
...
...
@@ -129,14 +130,10 @@ export default {
},
// 远程搜索
remoteMethod
(
query
)
{
if
(
query
!==
''
)
{
this
.
pageParam
.
groupName
=
query
;
this
.
pageParam
.
pageNum
=
1
;
this
.
groupList
=
[];
this
.
searchGroup
();
}
else
{
this
.
groupList
=
[];
}
this
.
pageParam
.
groupName
=
query
;
this
.
pageParam
.
pageNum
=
1
;
this
.
groupList
=
[];
this
.
searchGroup
();
},
visibleChange
(
e
)
{
if
(
!
e
)
{
...
...
@@ -166,7 +163,7 @@ export default {
});
return
;
}
if
(
this
.
welcomeType
==
2
)
{
if
(
this
.
form
.
welcomeType
==
2
)
{
this
.
form
.
welcomeId
=
''
;
}
this
.
$refs
.
form
.
validate
(
async
valid
=>
{
...
...
@@ -175,7 +172,6 @@ export default {
}
if
(
valid
)
{
// this.form.passFlag = this.form.passFlag ? 1 : 0;
this
.
btnLoading
=
true
;
this
.
saveLoading
=
true
;
delete
this
.
form
.
welcomeType
;
this
.
$emit
(
'sumbit'
,
this
.
form
);
...
...
@@ -186,13 +182,14 @@ export default {
watch
:
{
actCodeData
:
{
deep
:
true
,
immediate
:
true
,
handler
:
function
(
val
)
{
this
.
form
=
val
;
if
(
val
)
{
this
.
form
=
val
;
// this.form.hmGroupId = val.hmGroupId;
// this.form.passFlag = val.passFlag == 1 ? true : false;
this
.
form
.
memberLabelId
=
val
.
memberLabelId
?
val
.
memberLabelId
:
''
;
this
.
form
.
memberLabelName
=
val
.
memberLabelName
?
val
.
memberLabelName
:
''
;
//
this.form.memberLabelId = val.memberLabelId ? val.memberLabelId : '';
//
this.form.memberLabelName = val.memberLabelName ? val.memberLabelName : '';
// this.welcomeType = this.form.welcomeType;
// this.form.welcomeId = val.welcomeId;
// if (this.form.welcomeId) {
...
...
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