Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
welfare
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
达摩4.0重构
welfare
Commits
90e7e103
Commit
90e7e103
authored
Feb 05, 2021
by
chenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 卡券包
parent
df4f9179
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
200 additions
and
205 deletions
+200
-205
card-package.js
src/api/card-package.js
+9
-5
card-package.js
src/router/card-package.js
+5
-5
form.vue
src/views/card-package/form.vue
+0
-0
list.vue
src/views/card-package/list.vue
+40
-26
sync-stock-package.vue
src/views/card-package/module/sync-stock-package.vue
+1
-1
sync-stock.vue
src/views/card-package/module/sync-stock.vue
+1
-1
send-info.vue
src/views/card-package/send-info.vue
+1
-1
send-list.vue
src/views/card-package/send-list.vue
+134
-0
sync-stock-list.vue
src/views/card-package/sync-stock-list.vue
+0
-159
card-form.vue
src/views/gic-card/card-form.vue
+1
-1
card-list.vue
src/views/gic-card/card-list.vue
+8
-6
No files found.
src/api/card-package.js
View file @
90e7e103
...
...
@@ -8,18 +8,22 @@ import { welfarePrefix } from '@/config';
// 卡券包
let
packages
=
{
savePackages
:
{
// 新增、编辑卡券包 /coupon-package/save-package /coupon-package/edit-package
TODO:
// 新增、编辑卡券包 /coupon-package/save-package /coupon-package/edit-package
url
:
'/coupon-package/{type}-package'
,
// edit add
method
:
'post'
,
useFormData
:
true
,
rest
:
true
},
pageCouponPackage
:
'/page-package'
,
// 获取卡券包列表
pagePackageLog
:
'/coupon-package/page-package-log'
,
// 卡券包
领取记录 TODO:
pageCouponPackage
:
'/
coupon-package/
page-package'
,
// 获取卡券包列表
pagePackageLog
:
'/coupon-package/page-package-log'
,
// 卡券包
发放记录
packageCouponReceiveLog
:
'/coupon-package/package-coupon-receive-log'
,
// 卡券领取记录详情 TODO:
getPackageDetail
:
'/coupon-package/
get-package-detail'
,
// 获取卡券包详情 TODO:
deletePackage
:
'/coupon-package/
delete-package'
,
// 删除某个卡券包 TODO:
getPackageDetail
:
'/coupon-package/
package-detail'
,
// 获取卡券包详情
deletePackage
:
'/coupon-package/
batch-del-package'
,
// 删除某个卡券包
optPackageStock
:
'/coupon-package/opt-package-stock'
,
// 调整卡券包库存 TODO:
addPackageItem
:
'/coupon-package/add-package-item'
,
// 往卡券包里添加卡券
EditPackageItem
:
'/coupon-package/del-package-item'
,
// 往卡券包里删除卡券
listCouponByPackageId
:
'/coupon-package/list-coupon'
,
// 根据卡券包id获取卡券列表
};
packages
=
getFetch
(
packages
,
welfarePrefix
);
...
...
src/router/card-package.js
View file @
90e7e103
...
...
@@ -31,13 +31,13 @@ export default [
},
// 卡券包领取记录
{
path
:
'
recor
d-list'
,
component
:
()
=>
import
(
/* webpackChunkName: "card-package" */
'@/views/card-package/
recor
d-list.vue'
),
path
:
'
sen
d-list'
,
component
:
()
=>
import
(
/* webpackChunkName: "card-package" */
'@/views/card-package/
sen
d-list.vue'
),
},
// 卡券包
同步记录
// 卡券包
领取详情
{
path
:
's
ync-list
'
,
component
:
()
=>
import
(
/* webpackChunkName: "card-package" */
'@/views/card-package/s
ync-stock-list
.vue'
),
path
:
's
end-info
'
,
component
:
()
=>
import
(
/* webpackChunkName: "card-package" */
'@/views/card-package/s
end-info
.vue'
),
},
],
},
...
...
src/views/card-package/form.vue
View file @
90e7e103
This diff is collapsed.
Click to expand it.
src/views/card-package/list.vue
View file @
90e7e103
...
...
@@ -3,8 +3,9 @@
<div
class=
"clearfix flex-center pb20"
>
<span
class=
"gray01 fz16 mr20"
>
卡券包筛选
</span>
<el-select
v-model=
"listParams.useStatus"
class=
"w160 mr10"
placeholder=
"全部状态"
clearable
@
change=
"refresh"
>
<el-option
label=
"
使用中
"
:value=
"1"
></el-option>
<el-option
label=
"
已生效
"
:value=
"1"
></el-option>
<el-option
label=
"已过期"
:value=
"2"
></el-option>
<el-option
label=
"已失效"
:value=
"3"
></el-option>
</el-select>
<el-input
prefix-icon=
"el-icon-search"
placeholder=
"请输入卡券名称/备注名"
class=
"w300 mrAuto"
v-model=
"listParams.search"
clearable
@
change=
"refresh"
/>
<dm-perm-button
:disabled=
"$itemPerm($itemCode.gicAddPackage)"
type=
"primary"
@
click=
"$router.push('/card-package/add')"
>
新建卡券包
</dm-perm-button>
...
...
@@ -67,31 +68,43 @@
</el-table-column>
<el-table-column
label=
"卡券包状态"
min-width=
"120"
>
<
template
slot=
"header"
>
<el-tooltip
content=
"tooltip"
placement=
"top"
open-delay=
"200"
>
<el-tooltip
placement=
"top"
open-delay=
"200"
>
<div
slot=
"content"
>
使用中:在福利组件中展示;
<br/>
已过期:在福利组件中不展示;
</div>
<span
class=
"tooltip-icon"
>
卡券包状态
</span>
</el-tooltip>
</
template
>
<
template
slot-scope=
"scope"
>
<span
class=
"state-point state-point-loading-scale"
v-if=
"scope.row.useStatus == 1"
>
使用中
</span>
<span
class=
"state-point state-point-default
"
v-if=
"scope.row.useStatus == 2"
>
已过期
</span>
<template
v-if=
"scope.row.totalCouponSize
<
2
"
>
<span
class=
"state-point state-point-warning"
>
未生效
</span>
</
template
>
<
template
v-else
>
<span
class=
"state-point state-point-loading-scale"
v-if=
"scope.row.useStatus == 1"
>
已生效
</span>
<span
class=
"state-point state-point-default"
v-if=
"scope.row.useStatus == 2"
>
已过期
</span>
<span
class=
"state-point state-point-default"
v-if=
"scope.row.useStatus == 3"
>
已失效
</span>
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"操作"
align=
"left"
width=
"
13
0px"
fixed=
"right"
>
<el-table-column
label=
"操作"
align=
"left"
width=
"
21
0px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<!--
<dm-perm-button
type=
"text"
:disabled=
"$itemPerm($itemCode.gicSyncStockPack)"
@
click=
"showSyncStock(scope.row)"
>
同步
</dm-perm-button>
-->
<dm-perm-button
type=
"text"
:disabled=
"$itemPerm($itemCode.gicEditPackage)"
@
click=
"$router.push(`/card-package/edit?id=$
{scope.row.couponPackageId}`)">编辑
</dm-perm-button>
<dm-delete
@
confirm=
"delOne(scope.row)"
>
<dm-perm-button
type=
"text"
:disabled=
"$itemPerm($itemCode.gicDeletePackage)"
>
删除
</dm-perm-button>
</dm-delete>
<dm-perm-button
type=
"text"
@
click=
"$router.push(`/card-package/edit?id=$
{scope.row.couponPackageId}`)">编辑
</dm-perm-button>
<dm-perm-button
type=
"text"
@
click=
"$router.push(`/card-package/edit?id=$
{scope.row.couponPackageId}`)">发放记录
</dm-perm-button>
<el-popover
popper-class=
"option-dropdown"
trigger=
"hover"
>
<ul>
<li
v-if=
"scope.row._status == 2"
>
<dm-perm-button
@
click=
"$router.push(`/card-package/edit?id=$
{scope.row.couponPackageId}`)" type="text">库存记录
</dm-perm-button>
</li>
<li
:class=
"
{ disabled: $itemPerm($itemCode.gicDeletePackage) }">
<dm-perm-button
@
click=
"delOne(scope.row)"
:disabld=
"$itemPerm($itemCode.gicDeletePackage)"
type=
"text"
>
删除
</dm-perm-button>
</li>
</ul>
<el-button
type=
"text"
slot=
"reference"
class=
"ml20"
>
更多
<i
class=
"ml5 el-icon-arrow-down"
></i></el-button>
</el-popover>
</
template
>
</el-table-column>
</el-table>
<div
class=
"clearfix"
>
<dm-pagination
class=
"fr mb0"
v-if=
"tableList.length"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"listParams.currentPage"
:page-sizes=
"[20, 40, 60, 80]"
:page-size=
"listParams.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
</div>
<sync-stock
:visible
.
sync=
"syncStock.visible"
:coupon-package-id=
"syncStock.couponPackageId"
:type=
"1"
@
syncSuccess=
"getTableList"
/>
<!-- 同步库存 -->
<adjust-stock
ref=
"adjust"
:show
.
sync=
"adjust.stock"
:total-count=
"adjust.remainedStock"
@
handleSubmit=
"adjustStockBack"
/>
<!-- 调整库存 -->
</div>
</template>
...
...
@@ -99,8 +112,8 @@
<
script
>
import
sortBtn
from
'@/components/sort/btn.vue'
;
import
adjustStock
from
'@/components/libs/adjust-stock'
;
import
syncStock
from
'./module/sync-stock-package'
;
import
{
page
,
formate
}
from
'@/mixins/table.js'
;
import
{
showConfirm
}
from
'@/utils/common'
;
import
api
from
'@/api/card-package.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
const
{
pageCouponPackage
,
deletePackage
,
optPackageStock
}
=
api
;
...
...
@@ -108,7 +121,6 @@ export default {
name
:
'CardPackageList'
,
components
:
{
adjustStock
,
syncStock
,
sortBtn
},
mixins
:
[
page
,
formate
],
...
...
@@ -139,10 +151,6 @@ export default {
couponPackageId
:
''
,
stock
:
false
,
},
syncStock
:
{
// 同步dialog
visible
:
false
,
couponPackageId
:
''
,
},
};
},
created
()
{
...
...
@@ -159,17 +167,28 @@ export default {
this
.
refresh
();
},
// 删除
del
One
({
couponPackageId
}
)
{
del
(
couponPackageIds
)
{
this
.
loading
=
true
;
deletePackage
({
couponPackageId
}).
then
(
res
=>
{
deletePackage
({
couponPackageId
:
couponPackageIds
.
join
(
','
)
}).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
getTableList
();
}).
finally
(()
=>
{
this
.
loading
=
false
;
});
},
// 删除卡券
delOne
({
couponPackageId
})
{
showConfirm
(
'<div>删除卡券包后不可找回,确认删除该卡券包?</div>'
,
()
=>
{
this
.
del
([
couponPackageId
]);
});
},
// 批量删除
mutiDel
()
{
showConfirm
(
'<div>删除卡券包后不可找回,确认批量删除?</div>'
,
()
=>
{
this
.
del
(
this
.
multipleSelection
.
map
(
v
=>
v
.
couponPackageId
));
});
},
getTableList
()
{
return
;
if
(
this
.
loading
)
{
return
;
}
...
...
@@ -191,11 +210,6 @@ export default {
});
},
// *************子组件相关方法***************
// 同步
showSyncStock
({
couponPackageId
})
{
this
.
syncStock
.
visible
=
true
;
this
.
syncStock
.
couponPackageId
=
couponPackageId
;
},
// 编辑库存 前置
preAdjustStock
({
couponPackageId
,
remainedStock
})
{
this
.
adjust
.
stock
=
true
;
...
...
src/views/card-package/module/sync-stock-package.vue
View file @
90e7e103
...
...
@@ -24,7 +24,7 @@
<
script
>
// 卡券包同步
import
api
from
'@/api/
gic-card
'
;
import
api
from
'@/api/
card-package
'
;
const
{
syncStock
,
getWelfareStock
,
getCouponStockInfo
,
returnStock
}
=
api
;
export
default
{
name
:
'SyncStock'
,
...
...
src/views/card-package/module/sync-stock.vue
View file @
90e7e103
...
...
@@ -24,7 +24,7 @@
<
script
>
// 卡券同步
import
api
from
'@/api/
gic-card
'
;
import
api
from
'@/api/
card-package
'
;
const
{
syncStock
,
getWelfareStock
,
getCouponStockInfo
,
returnStock
}
=
api
;
export
default
{
name
:
'SyncStock'
,
...
...
src/views/card-package/
record-list
.vue
→
src/views/card-package/
send-info
.vue
View file @
90e7e103
...
...
@@ -43,7 +43,7 @@
<
script
>
import
{
page
,
formate
}
from
'@/mixins/table.js'
;
import
{
listTime
}
from
'@/utils/index.js'
;
import
api
from
'@/api/
gic-card
.js'
;
import
api
from
'@/api/
card-package
.js'
;
const
{
couponLogPage
,
packageCouponReceiveLog
}
=
api
;
export
default
{
name
:
'MergeRecordList'
,
...
...
src/views/card-package/send-list.vue
0 → 100644
View file @
90e7e103
<
template
>
<div
class=
"p20"
v-loading=
"loading"
>
<div
class=
"pb20 clearfix flex-center"
>
<el-select
v-model=
"listParams.sendStatus"
class=
"w250 mr10"
placeholder=
"全部发放状态"
clearable
@
change=
"refresh"
>
<el-option
label=
"成功"
:value=
"1"
></el-option>
<el-option
label=
"失败"
:value=
"0"
></el-option>
</el-select>
<el-input
placeholder=
"请输入关键字搜索"
class=
"w400 mr10"
v-model=
"listParams.search"
clearable
@
change=
"refresh"
>
<el-select
v-model=
"listParams.searchType"
slot=
"prepend"
style=
"width:120px;"
placeholder=
"请选择"
@
change=
"refresh"
>
<el-option
label=
"福利ID"
:value=
"1"
></el-option>
<el-option
label=
"卡券包名称"
:value=
"2"
></el-option>
<el-option
label=
"备注名"
:value=
"3"
></el-option>
<el-option
label=
"副标题"
:value=
"4"
></el-option>
<el-option
label=
"会员称呼"
:value=
"5"
></el-option>
<el-option
label=
"会员手机号"
:value=
"6"
></el-option>
</el-select>
</el-input>
<el-select
v-model=
"listParams.appCode"
class=
"w250 mr10"
placeholder=
"全部来源"
clearable
@
change=
"refresh"
>
<el-option
label=
"成功"
:value=
"1"
></el-option>
<el-option
label=
"失败"
:value=
"0"
></el-option>
</el-select>
<el-input
class=
"vertical-middle w300"
v-model=
"listParams.activityName"
clearable
placeholder=
"请输入活动名称搜索"
@
change=
"refresh"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
</div>
<div
class=
"table-search-head"
>
发放时间:
<el-date-picker
class=
"w350 mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"领取开始日期"
end-placeholder=
"领取结束日期"
@
change=
"refresh"
></el-date-picker>
</div>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
>
<el-table-column
label=
"会员信息"
fixed=
"left"
min-width=
"120px"
>
<template
slot-scope=
"scope"
>
<member-info
:member-name=
"scope.row.memberName"
:member-image=
"scope.row.memberImage"
:member-phone=
"scope.row.memberPhone || scope.row.memberCardNo"
></member-info>
</
template
>
</el-table-column>
<el-table-column
label=
"发放时间"
min-width=
"120px"
>
<
template
slot-scope=
"scope"
>
<div
v-html=
"listTime(scope.row.createTime)"
></div>
</
template
>
</el-table-column>
<el-table-column
prop=
"appName"
label=
"履约单号"
min-width=
"120px"
></el-table-column>
<el-table-column
prop=
"couponPackageName"
label=
"卡券包名称"
min-width=
"130px"
>
<
template
slot-scope=
"scope"
>
<span
:title=
"scope.row.couponPackageId"
p-key=
"couponPackageId"
>
{{
scope
.
row
.
couponPackageName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"couponPackageName"
label=
"卡券数量"
min-width=
"130px"
>
<
template
slot=
"header"
>
<el-tooltip
placement=
"top"
content=
"卡券包中会员真实领取的卡券数量"
open-delay=
"200"
>
<span
class=
"tooltip-icon"
>
卡券数量
</span>
</el-tooltip>
</
template
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"showDetail(scope.row)"
>
{{
scope
.
row
.
couponSize
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"来源"
min-width=
"150px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
>
{{
scope
.
row
.
appName
||
'--'
}}
</el-button>
<el-button
type=
"text"
>
{{
scope
.
row
.
activityName
||
'--'
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
class=
"clearfix"
>
<dm-pagination
class=
"fr mb0"
v-if=
"tableList.length"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"listParams.currentPage"
:page-sizes=
"[20, 40, 60, 80]"
:page-size=
"listParams.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
</div>
</div>
</template>
<
script
>
import
{
page
,
formate
}
from
'@/mixins/table.js'
;
import
{
listTime
}
from
'@/utils/index.js'
;
import
api
from
'@/api/card-package.js'
;
const
{
pagePackageLog
}
=
api
;
export
default
{
name
:
'MergeRecordList'
,
mixins
:
[
page
,
formate
],
data
()
{
return
{
loading
:
false
,
dateTime
:
[],
listParams
:
{
appCode
:
''
,
activityName
:
''
,
sendStatus
:
''
,
beginTime
:
''
,
endTime
:
''
,
packageName
:
''
,
search
:
''
,
searchType
:
2
,
currentPage
:
1
,
pageSize
:
20
},
tableList
:
[],
total
:
0
,
detail
:
''
,
mask
:
{
show
:
false
}
};
},
created
()
{
this
.
$emit
(
'updateBread'
,
[
{
breadName
:
'福利中心'
},
{
breadName
:
'GIC卡券包'
,
breadPath
:
'/card-package/list'
},
{
breadName
:
'卡券包发放记录'
}
]);
},
mounted
()
{
this
.
getTableList
();
},
methods
:
{
listTime
,
showDetail
({
packageLogId
})
{
return
;
},
getTableList
()
{
if
(
this
.
loading
)
{
return
;
}
this
.
loading
=
true
;
this
.
formatterTimeFunc
(
'beginTime'
,
'endTime'
,
'yyyy-MM-dd'
,
'dateTime'
);
let
params
=
{
...
this
.
listParams
,
memberCardId
:
this
.
currentAreaId
};
pagePackageLog
(
params
).
then
(
res
=>
{
this
.
loading
=
false
;
const
data
=
res
.
result
;
console
.
log
(
data
.
result
);
this
.
tableList
=
data
.
result
||
[];
this
.
total
=
data
.
totalCount
;
// 删除至最后一页没数据的情况,页码-1
if
(
this
.
tableList
.
length
===
0
&&
this
.
listParams
.
currentPage
!==
1
)
{
this
.
listParams
.
currentPage
-=
1
;
this
.
getTableList
();
}
}).
finally
(()
=>
{
this
.
loading
=
false
;
});
}
},
};
</
script
>
src/views/card-package/sync-stock-list.vue
deleted
100644 → 0
View file @
df4f9179
<
template
>
<div
class=
"p20"
v-loading=
"loading"
>
<div
class=
"pb20 clearfix flex-center"
>
<el-date-picker
class=
"w250 mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"refresh"
></el-date-picker>
<el-select
class=
"dm-select w140 mr10"
clearable
v-model=
"listParams.optType"
placeholder=
"所有操作类型"
@
change=
"refresh"
>
<el-option
v-for=
"(v, i) in optType"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-select
class=
"dm-select w140 mrAuto"
clearable
v-model=
"listParams.status"
placeholder=
"所有状态"
@
change=
"refresh"
>
<el-option
v-for=
"(v, i) in syncStatus"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-button
@
click=
"syncStock.type = 2; syncStock.visible = true;"
>
返还
</el-button>
<!--
<el-button
@
click=
"toWelfare"
>
查看
</el-button>
-->
<el-button
type=
"primary"
@
click=
"syncStock.type = 1; syncStock.visible = true;"
>
同步
</el-button>
</div>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
>
<template>
<el-table-column
v-for=
"(v, i) in tableHeader"
:fixed=
"v.fixed"
:show-overflow-tooltip=
"v.tooltip"
:width=
"v.width"
:min-width=
"v.minWidth"
:align=
"v.align"
:key=
"i"
:prop=
"v.prop"
:label=
"v.label"
:formatter=
"v.formatter"
:sortable=
"v.sortable"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"v.formatter"
v-html=
"v.formatter(scope.row)"
></span>
<span
v-else
>
{{
scope
.
row
[
v
.
prop
]
}}
</span>
</
template
>
</el-table-column>
</template>
</el-table>
<div
class=
"clearfix"
>
<dm-pagination
class=
"fr mb0"
v-if=
"tableList.length"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"listParams.currentPage"
:page-sizes=
"[20, 40, 60, 80]"
:page-size=
"listParams.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
</div>
<!-- 同步库存 -->
<sync-stock
:visible
.
sync=
"syncStock.visible"
:coupon-id=
"couponId"
:type=
"syncStock.type"
:show-link=
"false"
@
syncSuccess=
"getTableList"
/>
</div>
</template>
<
script
>
import
{
page
,
formate
}
from
'@/mixins/table.js'
;
import
{
listTime
}
from
'@/utils/index.js'
;
import
{
cardType
,
syncStatus
}
from
'@/config/mapping/gic-card'
;
import
fetch
from
'@/api/gic-card.js'
;
import
syncStock
from
'./module/sync-stock'
;
const
{
getSyncWelfareList
}
=
fetch
;
export
default
{
name
:
'SyncStockList'
,
components
:
{
syncStock
},
mixins
:
[
page
,
formate
],
props
:
{
dialogVisible
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
loading
:
false
,
couponId
:
this
.
$route
.
query
.
couponId
,
syncStock
:
{
visible
:
false
,
type
:
1
,
},
couponInfo
:
{},
// 卡券信息
dateTime
:
[
,
],
listParams
:
{
couponId
:
this
.
$route
.
query
.
couponId
,
optType
:
''
,
beginTime
:
''
,
endTime
:
''
,
status
:
''
,
currentPage
:
1
,
pageSize
:
20
},
optType
:
[
{
label
:
'同步'
,
value
:
1
},
{
label
:
'返还'
,
value
:
2
}
],
syncStatus
:
Object
.
keys
(
syncStatus
).
map
(
v
=>
{
return
syncStatus
[
v
];
}),
tableList
:
[],
total
:
0
,
tableHeader
:
[
{
label
:
'操作时间'
,
minWidth
:
'120'
,
align
:
'left'
,
fixed
:
'left'
,
formatter
:
function
(
row
)
{
return
listTime
(
row
.
modifyTime
);
}
},
{
label
:
'卡券'
,
minWidth
:
'120'
,
align
:
'left'
,
formatter
:
(
row
)
=>
{
const
_cardType
=
cardType
[
this
.
couponInfo
.
cardType
]
||
{};
return
`<p class="fz14">
${
this
.
couponInfo
.
cardName
}
</p><p class="fz12">
${
_cardType
.
label
}
</p>`
;
}
},
{
label
:
'操作类型'
,
align
:
'left'
,
minWidth
:
'120'
,
formatter
:
function
(
row
)
{
// 1: 同步; 2: 返还
return
row
.
modifyType
===
1
?
'同步'
:
'返还'
;
}
},
{
label
:
'调整库存'
,
minWidth
:
'120'
,
align
:
'left'
,
formatter
:
function
(
row
)
{
return
(
row
.
modifyType
===
1
?
'- '
:
'+ '
)
+
row
.
modifyStock
;
}
},
// { label: '操作人', prop: 'cardName', align: 'left', minWidth: '120' },
// {
// label: '状态',
// minWidth: '120',
// align: 'left',
// formatter: function(row) {
// return '??????';
// }
// }
]
};
},
created
()
{
this
.
$emit
(
'updateBread'
,
[
{
breadName
:
'福利中心'
},
{
breadName
:
'GIC卡券包'
,
breadPath
:
'/card-package/list'
},
{
breadName
:
'同步记录'
}
]);
},
mounted
()
{
if
(
this
.
currentAreaId
&&
this
.
couponId
)
{
this
.
getTableList
();
}
},
methods
:
{
toWelfare
()
{
window
.
open
(
`/welfare/stock/log/list?id=
${
this
.
couponInfo
.
welfareId
}
`
);
},
getTableList
()
{
if
(
this
.
loading
)
{
return
;
}
this
.
loading
=
true
;
this
.
formatterTimeFunc
(
'beginTime'
,
'endTime'
);
let
params
=
{
...
this
.
listParams
,
...{
memberCardId
:
this
.
currentAreaId
}
};
getSyncWelfareList
(
params
).
then
(
res
=>
{
this
.
loading
=
false
;
const
data
=
res
.
result
.
page
;
this
.
couponInfo
=
res
.
result
.
coupon
||
{};
this
.
tableList
=
data
.
result
||
[];
this
.
total
=
data
.
totalCount
;
// 删除至最后一页没数据的情况,页码-1
if
(
this
.
tableList
.
length
===
0
&&
this
.
listParams
.
currentPage
!==
1
)
{
this
.
listParams
.
currentPage
-=
1
;
this
.
getTableList
();
}
}).
finally
(()
=>
{
this
.
loading
=
false
;
});
}
},
};
</
script
>
src/views/gic-card/card-form.vue
View file @
90e7e103
...
...
@@ -9,7 +9,7 @@
<div
class=
"content"
v-show=
"active ===1"
>
<el-form
:model=
"ruleForm1"
:rules=
"rules1"
class=
"ruleForm1"
ref=
"ruleForm1"
label-width=
"200px"
>
<el-form-item>
<el-tooltip
open-delay=
"200"
slot=
"label"
content=
"请在
左上角切换子应用以更换适用
会员卡"
placement=
"top"
>
<el-tooltip
open-delay=
"200"
slot=
"label"
content=
"请在
应用左上角切换
会员卡"
placement=
"top"
>
<span
class=
"tooltip-icon"
>
适用会员卡
</span>
</el-tooltip>
{{
$store
.
state
.
currentAreaName
||
'--'
}}
...
...
src/views/gic-card/card-list.vue
View file @
90e7e103
...
...
@@ -13,7 +13,7 @@
<el-option
label=
"demo券号"
:value=
"4"
></el-option>
</el-select>
</el-input>
<el-select
v-model=
"listParams.
s
tatus"
class=
"w160 mrAuto"
placeholder=
"全部状态"
clearable
@
change=
"refresh"
>
<el-select
v-model=
"listParams.
couponS
tatus"
class=
"w160 mrAuto"
placeholder=
"全部状态"
clearable
@
change=
"refresh"
>
<el-option
label=
"使用中"
:value=
"1"
></el-option>
<el-option
label=
"已过期"
:value=
"2"
></el-option>
<el-option
label=
"已禁用"
:value=
"3"
></el-option>
...
...
@@ -165,7 +165,7 @@ export default {
dateTime
:
[
,
],
sortType1
:
''
,
listParams
:
{
s
tatus
:
''
,
couponS
tatus
:
''
,
searchType
:
1
,
search
:
''
,
cardType
:
''
,
...
...
@@ -359,17 +359,19 @@ export default {
// 删除卡券
delData
(
val
)
{
showConfirm
(
'<div>删除后卡券不可找回,确认删除该卡券?</div>'
,
()
=>
{
this
.
deleteCard
(
val
);
this
.
deleteCard
(
[
val
]
);
}
);
}
,
// 批量删除
mutiDel
()
{
showConfirm
(
'<div>已添加被删除卡券的活动将会失效,确认删除?</div>'
,
()
=>
{
}
);
showConfirm
(
'<div>已添加被删除卡券的活动将会失效,确认删除?</div>'
,
()
=>
{
this
.
deleteCard
(
this
.
multipleSelection
.
map
(
v
=>
v
.
couponId
));
}
);
}
,
// 删除卡券
deleteCard
(
couponId
)
{
deleteCard
(
couponId
s
)
{
this
.
loading
=
true
;
deleteCard
({
couponId
}
).
then
(
res
=>
{
deleteCard
({
couponId
s
:
couponIds
.
join
(
','
)
}
).
then
(
res
=>
{
this
.
$tips
({
type
:
'success'
,
message
:
'删除成功!'
}
);
this
.
loading
=
false
;
this
.
getTableList
();
...
...
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