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
f0e47084
Commit
f0e47084
authored
May 19, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 新建卡券
parent
76a232b2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
77 additions
and
59 deletions
+77
-59
newCard.vue
src/views/apps/card/newCard.vue
+77
-59
No files found.
src/views/apps/card/newCard.vue
View file @
f0e47084
...
...
@@ -10,7 +10,7 @@
<
template
>
<section
class=
"common-right-wrap"
v-loading=
"loadingPage"
>
<div
class=
"new-card-body border-box"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"
12
0px"
class=
"demo-ruleForm"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"
20
0px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"选择卡券"
prop=
"coupCardId"
>
<div
v-if=
"formData.coupCardId"
class=
"selected-card-body flex"
>
<div
class=
"selected-card font-14 color-909399"
>
{{
selectCoupCard
.
cardName
}}
|
{{
selectCoupCard
.
effectDateString
}}
| 限制
{{
selectCoupCard
.
cardLimit
}}
张/人 | 适用门店:
{{
selectCoupCard
.
storeMode
==
0
?
'所有门店'
:
selectCoupCard
.
storeMode
==
1
?
'部分分组'
:
'部分门店'
}}
| 库存:
{{
selectCoupCard
.
couponStock
}}
</div>
...
...
@@ -20,14 +20,26 @@
</el-form-item>
<el-form-item>
<span
slot=
"label"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"当导购将此卡券送给客户后,此领券页面总共可被领取的次数。比如限制此卡券的领券页面仅1次,则客户成功领取后,即使其将此领券页面转发分享给其他好友,也不可再被领取,因为此领券页面只能被领取一次"
placement=
"top-start"
><span
style=
"cursor: pointer;padding-bottom: 2px; border-bottom: 1px dashed #2F54EB;"
>
领券页面可被领取次数
</span></el-tooltip>
领券页面可被领取次数
<el-tooltip
class=
"item"
effect=
"dark"
content=
"当导购将此卡券送给客户后,此领券页面总共可被领取的次数。比如限制此卡券的领券页面仅1次,则客户成功领取后,即使其将此领券页面转发分享给其他好友,也不可再被领取,因为此领券页面只能被领取一次"
placement=
"top-start"
>
<i
class=
"iconfont-components3 icon-cp-QuestionCircleOutlined"
></i>
</el-tooltip>
</span>
<el-radio-group
v-model=
"formData.receiveTimes"
>
<el-radio
:label=
"0"
>
固定1次
</el-radio>
<el-radio
:label=
"1"
>
不限次数
</el-radio>
</el-radio-group>
</el-form-item>
<div
class=
"el-form-item el-form-item--large"
>
<el-form-item>
<span
slot=
"label"
>
选择发送范围
<el-tooltip
class=
"item"
effect=
"dark"
content=
"卡券的发送范围设置"
placement=
"top-start"
>
<i
class=
"iconfont-components3 icon-cp-QuestionCircleOutlined"
></i>
</el-tooltip>
</span>
<dm-store-selector
v-if=
"!addTag && formData.id"
:options=
"options"
:uuid
.
sync=
"formData.storeWidgetId"
></dm-store-selector>
</el-form-item>
<!--
<div
class=
"el-form-item el-form-item--large"
>
<label
for=
"name"
class=
"el-form-item__label"
style=
"width: 120px; cursor: pointer;"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"卡券的发送范围设置"
placement=
"top-start"
>
<span
style=
"cursor: pointer;padding-bottom: 2px; border-bottom: 1px dashed #2F54EB;"
>
选择发送范围
</span></el-tooltip>
</label>
...
...
@@ -47,7 +59,7 @@
</div>
<div
v-if=
"(formData.sendRange == '1' || formData.sendRange == '2' || formData.sendRange == '3') && !formData.selectList.length"
class=
"el-form-item__error"
>
请选择发送范围
</div>
</div>
</div>
</div>
-->
<!-- 卡券赠送调整:取消发放张数和发放总数的配置 -->
<!--
<div
class=
"el-form-item el-form-item--large"
>
<label
for=
"name"
class=
"el-form-item__label"
style=
"width: 120px; cursor: pointer;"
>
...
...
@@ -105,24 +117,24 @@ export default {
gicSelectTag
},
data
()
{
const
validateRange
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
==
''
)
{
return
callback
(
new
Error
(
'请选择发送范围'
));
}
else
if
((
value
==
'1'
||
value
==
'2'
)
&&
!
this
.
formData
.
selectList
.
length
)
{
return
callback
(
new
Error
(
'请选择发送范围'
));
}
else
{
callback
();
}
};
const
validateSendType
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
==
''
)
{
return
callback
(
new
Error
(
'请选择券发放总数'
));
}
else
if
(
value
==
'1'
&&
!
this
.
formData
.
totalSendTimes
)
{
return
callback
(
new
Error
(
'请选择券发放总数'
));
}
else
{
callback
();
}
};
//
const validateRange = (rule, value, callback) => {
//
if (value == '') {
//
return callback(new Error('请选择发送范围'));
//
} else if ((value == '1' || value == '2') && !this.formData.selectList.length) {
//
return callback(new Error('请选择发送范围'));
//
} else {
//
callback();
//
}
//
};
//
const validateSendType = (rule, value, callback) => {
//
if (value == '') {
//
return callback(new Error('请选择券发放总数'));
//
} else if (value == '1' && !this.formData.totalSendTimes) {
//
return callback(new Error('请选择券发放总数'));
//
} else {
//
callback();
//
}
//
};
/* const validateReceiveType = (rule, value, callback) => {
if (value == '') {
return callback(new Error('请选择券领取总数'));
...
...
@@ -133,6 +145,7 @@ export default {
}
}; */
return
{
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
activeBrand
:
this
.
brandId
,
// 商户(品牌) id
activeId
:
'3'
,
wxEnterpriseId
:
sessionStorage
.
getItem
(
'userInfos'
)
?
JSON
.
parse
(
sessionStorage
.
getItem
(
'userInfos'
)).
wxEnterpriseId
:
''
,
...
...
@@ -141,19 +154,20 @@ export default {
formData
:
{
id
:
''
,
coupCardId
:
this
.
$route
.
query
.
coupCardId
?
this
.
$route
.
query
.
coupCardId
:
''
,
sendRange
:
'0'
,
selectList
:
[],
eachSendTimes
:
3
,
sendType
:
'0'
,
receiveTimes
:
0
,
totalSendTimes
:
0
storeWidgetId
:
''
,
// sendRange: '0',
// selectList: [],
// eachSendTimes: 3,
// sendType: '0',
receiveTimes
:
0
// totalSendTimes: 0
},
rules
:
{
coupCardId
:
[{
required
:
true
,
message
:
'请选择卡券'
,
trigger
:
'change'
}]
,
sendRange
:
[{
validator
:
validateRange
,
trigger
:
'change'
}],
sendType
:
[{
validator
:
validateSendType
,
trigger
:
'change'
}],
coupCardId
:
[{
required
:
true
,
message
:
'请选择卡券'
,
trigger
:
'change'
}]
//
sendRange: [{ validator: validateRange, trigger: 'change' }],
//
sendType: [{ validator: validateSendType, trigger: 'change' }],
// receiveType: [{ validator: validateReceiveType, trigger: 'change' }],
eachSendTimes
:
[{
required
:
true
,
message
:
'请输入券发放张数'
,
trigger
:
'blur'
}]
//
eachSendTimes: [{ required: true, message: '请输入券发放张数', trigger: 'blur' }]
},
cardSelectShow
:
false
,
addTag
:
true
,
// 默认是添加
...
...
@@ -212,12 +226,12 @@ export default {
*/
submitForm
:
_debounce
(
function
(
formName
,
flag
)
{
const
that
=
this
;
if
((
that
.
formData
.
sendRange
==
'1'
||
that
.
formData
.
sendRange
==
'2'
||
that
.
formData
.
sendRange
==
'3'
)
&&
!
that
.
formData
.
selectList
.
length
)
{
return
false
;
}
if
(
that
.
formData
.
sendType
==
'1'
&&
!
that
.
formData
.
totalSendTimes
)
{
return
false
;
}
//
if ((that.formData.sendRange == '1' || that.formData.sendRange == '2' || that.formData.sendRange == '3') && !that.formData.selectList.length) {
//
return false;
//
}
//
if (that.formData.sendType == '1' && !that.formData.totalSendTimes) {
//
return false;
//
}
/* if (that.formData.receiveType == '1' && !that.formData.totalReceiveTimes) {
return false;
} */
...
...
@@ -232,23 +246,24 @@ export default {
},
300
),
postSaveCard
(
flag
)
{
const
that
=
this
;
let
selectList
=
''
;
if
(
that
.
formData
.
sendRange
==
1
)
{
selectList
=
that
.
formData
.
selectList
.
map
(
item
=>
item
.
storeGroupId
).
join
(
','
);
}
else
if
(
that
.
formData
.
sendRange
==
2
)
{
selectList
=
that
.
formData
.
selectList
.
join
(
','
);
}
else
if
(
that
.
formData
.
sendRange
==
3
)
{
selectList
=
that
.
formData
.
selectList
.
map
(
item
=>
item
.
tagId
).
join
(
','
);
}
//
let selectList = '';
//
if (that.formData.sendRange == 1) {
//
selectList = that.formData.selectList.map(item => item.storeGroupId).join(',');
//
} else if (that.formData.sendRange == 2) {
//
selectList = that.formData.selectList.join(',');
//
} else if (that.formData.sendRange == 3) {
//
selectList = that.formData.selectList.map(item => item.tagId).join(',');
//
}
let
para
=
{
id
:
that
.
formData
.
id
,
coupCardId
:
that
.
formData
.
coupCardId
,
sendRange
:
that
.
formData
.
sendRange
,
selectList
:
selectList
,
//
sendRange: that.formData.sendRange,
//
selectList: selectList,
receiveTimes
:
this
.
formData
.
receiveTimes
,
storeWidgetId
:
this
.
formData
.
storeWidgetId
,
// eachSendTimes: that.formData.eachSendTimes || '0',
// sendType: that.formData.sendType,
totalSendTimes
:
that
.
formData
.
totalSendTimes
,
//
totalSendTimes: that.formData.totalSendTimes,
// receiveType: that.formData.receiveType,
// totalReceiveTimes: that.formData.totalReceiveTimes,
gicEnterpriseId
:
that
.
brandId
,
...
...
@@ -268,11 +283,13 @@ export default {
that
.
formData
=
{
id
:
''
,
coupCardId
:
''
,
sendRange
:
'0'
,
selectList
:
[],
eachSendTimes
:
3
,
sendType
:
'0'
,
totalSendTimes
:
0
receiveTimes
:
this
.
formData
.
receiveTimes
,
storeWidgetId
:
this
.
formData
.
storeWidgetId
// sendRange: '0',
// selectList: [],
// eachSendTimes: 3,
// sendType: '0',
// totalSendTimes: 0
// receiveType: '0',
// totalReceiveTimes: 0
};
...
...
@@ -350,11 +367,12 @@ export default {
that
.
formData
=
{
id
:
resData
.
result
.
detail
.
id
,
coupCardId
:
resData
.
result
.
detail
.
coupCardId
,
sendRange
:
String
(
resData
.
result
.
detail
.
sendRange
),
selectList
:
resData
.
result
.
detail
.
sendRange
!=
0
?
(
resData
.
result
.
detail
.
sendRange
==
2
?
resData
.
result
.
list
.
map
(
item
=>
item
.
id
)
:
resData
.
result
.
list
)
:
[],
eachSendTimes
:
resData
.
result
.
detail
.
eachSendTimes
,
sendType
:
String
(
resData
.
result
.
detail
.
sendType
),
totalSendTimes
:
resData
.
result
.
detail
.
totalSendTimes
,
storeWidgetId
:
resData
.
result
.
detail
.
storeWidgetId
,
// sendRange: String(resData.result.detail.sendRange),
// selectList: resData.result.detail.sendRange != 0 ? (resData.result.detail.sendRange == 2 ? resData.result.list.map(item => item.id) : resData.result.list) : [],
// eachSendTimes: resData.result.detail.eachSendTimes,
// sendType: String(resData.result.detail.sendType),
// totalSendTimes: resData.result.detail.totalSendTimes,
receiveTimes
:
resData
.
result
.
detail
.
receiveTimes
// receiveType: String(resData.result.detail.receiveType),
// totalReceiveTimes: resData.result.detail.totalReceiveTimes
...
...
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