parent
61d8605d43
commit
d8a7651709
44
src/api/account/card.js
Normal file
44
src/api/account/card.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员证件信息列表
|
||||
export function listCard(query) {
|
||||
return request({
|
||||
url: '/account/card/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员证件信息详细
|
||||
export function getCard(uid) {
|
||||
return request({
|
||||
url: '/account/card/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员证件信息
|
||||
export function addCard(data) {
|
||||
return request({
|
||||
url: '/account/card',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员证件信息
|
||||
export function updateCard(data) {
|
||||
return request({
|
||||
url: '/account/card',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员证件信息
|
||||
export function delCard(uid) {
|
||||
return request({
|
||||
url: '/account/card/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/fans.js
Normal file
44
src/api/account/fans.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员微信粉丝列表
|
||||
export function listFans(query) {
|
||||
return request({
|
||||
url: '/account/fans/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员微信粉丝详细
|
||||
export function getFans(uid) {
|
||||
return request({
|
||||
url: '/account/fans/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员微信粉丝
|
||||
export function addFans(data) {
|
||||
return request({
|
||||
url: '/account/fans',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员微信粉丝
|
||||
export function updateFans(data) {
|
||||
return request({
|
||||
url: '/account/fans',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员微信粉丝
|
||||
export function delFans(uid) {
|
||||
return request({
|
||||
url: '/account/fans/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/group.js
Normal file
44
src/api/account/group.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员标签组列表
|
||||
export function listGroup(query) {
|
||||
return request({
|
||||
url: '/account/group/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员标签组详细
|
||||
export function getGroup(uid) {
|
||||
return request({
|
||||
url: '/account/group/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员标签组
|
||||
export function addGroup(data) {
|
||||
return request({
|
||||
url: '/account/group',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员标签组
|
||||
export function updateGroup(data) {
|
||||
return request({
|
||||
url: '/account/group',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员标签组
|
||||
export function delGroup(uid) {
|
||||
return request({
|
||||
url: '/account/group/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/locus.js
Normal file
44
src/api/account/locus.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员轨迹信息列表
|
||||
export function listLocus(query) {
|
||||
return request({
|
||||
url: '/account/locus/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员轨迹信息详细
|
||||
export function getLocus(uid) {
|
||||
return request({
|
||||
url: '/account/locus/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员轨迹信息
|
||||
export function addLocus(data) {
|
||||
return request({
|
||||
url: '/account/locus',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员轨迹信息
|
||||
export function updateLocus(data) {
|
||||
return request({
|
||||
url: '/account/locus',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员轨迹信息
|
||||
export function delLocus(uid) {
|
||||
return request({
|
||||
url: '/account/locus/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/member.js
Normal file
44
src/api/account/member.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员信息列表
|
||||
export function listMember(query) {
|
||||
return request({
|
||||
url: '/account/member/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员信息详细
|
||||
export function getMember(uid) {
|
||||
return request({
|
||||
url: '/account/member/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员信息
|
||||
export function addMember(data) {
|
||||
return request({
|
||||
url: '/account/member',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员信息
|
||||
export function updateMember(data) {
|
||||
return request({
|
||||
url: '/account/member',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员信息
|
||||
export function delMember(uid) {
|
||||
return request({
|
||||
url: '/account/member/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/relation.js
Normal file
44
src/api/account/relation.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员关系列表
|
||||
export function listRelation(query) {
|
||||
return request({
|
||||
url: '/account/relation/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员关系详细
|
||||
export function getRelation(uid) {
|
||||
return request({
|
||||
url: '/account/relation/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员关系
|
||||
export function addRelation(data) {
|
||||
return request({
|
||||
url: '/account/relation',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员关系
|
||||
export function updateRelation(data) {
|
||||
return request({
|
||||
url: '/account/relation',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员关系
|
||||
export function delRelation(uid) {
|
||||
return request({
|
||||
url: '/account/relation/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/sign.js
Normal file
44
src/api/account/sign.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员签到记录列表
|
||||
export function listSign(query) {
|
||||
return request({
|
||||
url: '/account/sign/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员签到记录详细
|
||||
export function getSign(uid) {
|
||||
return request({
|
||||
url: '/account/sign/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员签到记录
|
||||
export function addSign(data) {
|
||||
return request({
|
||||
url: '/account/sign',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员签到记录
|
||||
export function updateSign(data) {
|
||||
return request({
|
||||
url: '/account/sign',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员签到记录
|
||||
export function delSign(uid) {
|
||||
return request({
|
||||
url: '/account/sign/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/source.js
Normal file
44
src/api/account/source.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员微信来源信息列表
|
||||
export function listSource(query) {
|
||||
return request({
|
||||
url: '/account/source/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员微信来源信息详细
|
||||
export function getSource(uid) {
|
||||
return request({
|
||||
url: '/account/source/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员微信来源信息
|
||||
export function addSource(data) {
|
||||
return request({
|
||||
url: '/account/source',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员微信来源信息
|
||||
export function updateSource(data) {
|
||||
return request({
|
||||
url: '/account/source',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员微信来源信息
|
||||
export function delSource(uid) {
|
||||
return request({
|
||||
url: '/account/source/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
44
src/api/account/tag.js
Normal file
44
src/api/account/tag.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询会员标签列表
|
||||
export function listTag(query) {
|
||||
return request({
|
||||
url: '/account/tag/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询会员标签详细
|
||||
export function getTag(uid) {
|
||||
return request({
|
||||
url: '/account/tag/' + uid,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增会员标签
|
||||
export function addTag(data) {
|
||||
return request({
|
||||
url: '/account/tag',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改会员标签
|
||||
export function updateTag(data) {
|
||||
return request({
|
||||
url: '/account/tag',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除会员标签
|
||||
export function delTag(uid) {
|
||||
return request({
|
||||
url: '/account/tag/' + uid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 6.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 33 KiB |
@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 100 21" style="enable-background:new 0 0 100 21;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#6BB4AB;}
|
||||
.st1{fill:#168AFF;}
|
||||
.st2{fill:#FFFFFF;}
|
||||
.st3{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.25;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M12,0C5.4,0,0,4.6,0,10.2v0.1h3.2c0.1,4,3.9,7.4,8.7,7.4v2.7H12c6.6,0,12-4.6,12-10.2C24,4.5,18.6,0,12,0z
|
||||
M13.3,19.2v-2.7H12c-4,0-7.3-2.8-7.4-6.2h16.2v-0.1c0-4.1-4-7.6-8.8-7.6c-4.4,0-8.1,2.8-8.7,6.4H1.5C2.2,4.5,6.6,1.2,12,1.2
|
||||
c5.8,0,10.6,4,10.6,9C22.6,14.8,18.6,18.6,13.3,19.2z M4.7,9.1c0.7-3,3.7-5.1,7.3-5.1c3.6,0,6.6,2.2,7.3,5.1H4.7z"/>
|
||||
<path class="st2" d="M11.3,19.6L11.3,19.6c-2-0.1-3.8-0.6-5.3-1.5c-0.2-0.1-0.6-0.3-2.3,0.5c0.7-1.4,0.5-1.8,0.3-2
|
||||
c-1.6-1.6-2.5-3.5-2.6-5.5H0c0.1,2.3,1,4.4,2.8,6.2c-0.1,0.4-0.6,1.5-1.2,2.6c-0.1,0.2-0.1,0.5,0.2,0.7c0.2,0.2,0.5,0.2,0.8,0.1
|
||||
c1.2-0.6,2.5-1.2,2.9-1.3c1.6,0.9,3.4,1.4,5.2,1.6c0.4,0,0.6,0,0.6,0v-0.1l0,0l0,0v-0.4C11.3,20.5,11.3,19.6,11.3,19.6z"/>
|
||||
</g>
|
||||
<path class="st2" d="M38.5,7.3c-0.9,0-1.9,0.3-2.9,0.9l-0.1,0.1l0.6,1l0.1-0.1c0.7-0.5,1.4-0.7,2.1-0.7c0.9,0,1.3,0.5,1.3,1.6
|
||||
c-3.1,0.4-4.4,1.2-4.4,2.8c0,1.3,0.9,2.1,2.2,2.1c0.7,0,1.5-0.3,2.3-0.9l0.1,0.8H41v-4.5C41,8.4,40.1,7.3,38.5,7.3z M39.6,11.1v1.8
|
||||
c-0.7,0.6-1.2,0.9-1.8,0.9c-0.5,0-1.1-0.2-1.1-1C36.7,12.2,37,11.5,39.6,11.1z"/>
|
||||
<path class="st2" d="M45.4,10.5l-0.2-0.1c-0.7-0.3-1.4-0.5-1.4-1.1s0.4-0.9,1.2-0.9c0.7,0,1.1,0.3,1.6,0.6l0.1,0.1l0.7-1L47.3,8
|
||||
c-0.7-0.5-1.5-0.8-2.3-0.8c-1.5,0-2.6,0.9-2.6,2.1c0,1.4,1.4,1.9,2.2,2.2c0.7,0.3,1.5,0.6,1.5,1.2c0,0.6-0.5,1-1.3,1
|
||||
c-0.7,0-1.3-0.2-2-0.8l-0.1-0.1l-0.7,1l0.1,0.1c0.8,0.6,1.8,1,2.7,1c1.9,0,2.7-1.1,2.7-2.2C47.6,11.4,46.4,10.9,45.4,10.5z"/>
|
||||
<path class="st2" d="M51.9,11.5c-0.1,0.4-0.2,0.8-0.4,1.2c-0.1,0.2-0.1,0.4-0.2,0.5c-0.2-0.5-0.3-0.9-0.5-1.4l-1.6-4.3V7.4h-1.5
|
||||
l2.9,7.2l-0.1,0.5c-0.2,0.7-0.6,1.4-1.5,1.4c-0.1,0-0.3,0-0.5-0.1h-0.1l-0.3,1.2h0.1c0.2,0.1,0.5,0.2,0.9,0.2
|
||||
c1.7,0,2.4-1.5,2.8-2.6l2.7-7.8h-1.4L51.9,11.5z"/>
|
||||
<path class="st2" d="M63.3,10.3c-0.2,0.9-0.3,1.7-0.5,2.6c-0.2-0.8-0.4-1.7-0.6-2.6L60.8,5h-1.3l-1.3,5.3v0.2
|
||||
c-0.2,0.8-0.4,1.6-0.5,2.4c-0.1-0.4-0.1-0.7-0.2-1.1c-0.1-0.5-0.2-1-0.3-1.5l-1-5.3h-1.5l2.1,9.7v0.1h1.6l1.4-5.9
|
||||
c0.1-0.4,0.2-0.8,0.3-1.2c0-0.2,0.1-0.3,0.1-0.5v0.1c0.1,0.5,0.2,1,0.3,1.6l1.4,5.8v0.1h1.6l2-9.8h-1.4L63.3,10.3z"/>
|
||||
<path class="st2" d="M69.7,7.3c-2.2,0-3.3,2-3.3,3.9c0,2.3,1.4,3.8,3.5,3.8c0.9,0,1.6-0.2,2.4-0.8l0.1-0.1l-0.6-1l-0.1,0.1
|
||||
c-0.5,0.4-1.1,0.6-1.7,0.6c-1.2,0-2.1-0.9-2.2-2.2h4.8v-0.1c0-0.1,0.1-0.4,0.1-0.7C72.6,8.6,71.5,7.3,69.7,7.3z M71.3,10.5h-3.5
|
||||
c0.2-1.2,0.9-2,1.9-2C70.7,8.5,71.3,9.2,71.3,10.5z"/>
|
||||
<path class="st2" d="M31.2,7.3c-2.2,0-3.3,2-3.3,3.9c0,2.3,1.4,3.8,3.5,3.8c0.9,0,1.6-0.2,2.4-0.8l0.1-0.1l-0.6-1l-0.1,0.1
|
||||
c-0.5,0.4-1.1,0.6-1.7,0.6c-1.2,0-2.1-0.9-2.2-2.2h4.8v-0.1c0-0.1,0.1-0.4,0.1-0.7C34.1,8.6,33,7.3,31.2,7.3z M32.8,10.5h-3.5
|
||||
c0.2-1.2,0.9-2,1.9-2C32.2,8.5,32.8,9.2,32.8,10.5z"/>
|
||||
<path class="st2" d="M80,12.7c-0.6,0.7-1.3,1-2.1,1c-1.8,0-2.9-1.5-2.9-3.8s1.1-3.8,2.9-3.8c0.7,0,1.3,0.3,1.9,0.9l0.1,0.1l0.8-1
|
||||
L80.6,6c-0.3-0.3-1.2-1.2-2.7-1.2c-2.6,0-4.4,2-4.4,5.1c0,3,1.7,5.1,4.3,5.1c1.2,0,2.2-0.5,3-1.4l0.1-0.1L80,12.7L80,12.7z"/>
|
||||
<path class="st2" d="M85.1,7.3c-1.7,0-3.4,1.3-3.4,3.9c0,2.5,1.7,3.8,3.4,3.8s3.4-1.3,3.4-3.8C88.5,8.6,86.8,7.3,85.1,7.3z
|
||||
M87,11.2c0,1.5-0.8,2.6-1.9,2.6c-1.2,0-1.9-1-1.9-2.6s0.8-2.6,1.9-2.6C86.2,8.6,87,9.6,87,11.2z"/>
|
||||
<path class="st2" d="M97.7,7.3c-0.9,0-1.7,0.6-2.3,1.3c-0.4-0.8-1-1.3-2-1.3c-0.7,0-1.4,0.4-2.1,1.1l-0.1-0.9H90v7.3h1.4V9.6
|
||||
c0.6-0.7,1.2-1,1.7-1c0.8,0,1.2,0.5,1.2,1.8v4.4h1.4V9.6c0.6-0.7,1.2-1,1.7-1c0.8,0,1.2,0.5,1.2,1.8v4.4h1.4v-4.6
|
||||
C100,8.3,99.2,7.3,97.7,7.3z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.8 KiB |
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#6BB4AB;}
|
||||
.st1{fill:#168AFF;}
|
||||
.st2{fill:#FFFFFF;}
|
||||
.st3{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.25;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<circle class="st0" cx="12" cy="12" r="12"/>
|
||||
<g>
|
||||
<path class="st2" d="M12,4.7c-4.6,0-8.4,3.2-8.4,7.2V12h2.2c0.1,2.8,2.8,5,6,5.1v1.8H12c4.6,0,8.4-3.2,8.4-7.2
|
||||
C20.4,7.8,16.6,4.7,12,4.7z M13,17.9V16h-1c-2.6,0-4.8-1.8-5-4h11.1v-0.2c0-2.9-2.8-5.3-6.2-5.3c-3,0-5.6,1.9-6.1,4.4h-1
|
||||
c0.5-3,3.5-5.2,7.1-5.2c3.9,0,7.2,2.7,7.2,6C19.2,14.8,16.5,17.4,13,17.9z M12,7.6c2.3,0,4.3,1.4,4.9,3.3H7.1C7.7,9,9.7,7.6,12,7.6
|
||||
z"/>
|
||||
<path class="st2" d="M7.9,17.1c-0.1-0.1-0.4-0.2-1.4,0.2c0.3-0.8,0.2-1,0-1.2c-1.1-1-1.7-2.4-1.8-3.7l0-0.1H3.6l0,0.1
|
||||
c0.1,1.6,0.7,3.1,1.9,4.3c-0.1,0.3-0.4,0.9-0.8,1.7c-0.1,0.2-0.1,0.5,0.2,0.6c0.2,0.2,0.4,0.2,0.7,0.1c0.9-0.4,1.6-0.8,1.9-0.9
|
||||
c1,0.6,2.2,0.9,3.6,1.1c0.1,0,0.2,0,0.2,0c0.1,0,0.2,0,0.2,0l0.1,0v-1.2l-0.2,0C10.1,18.1,8.9,17.7,7.9,17.1z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.3 KiB |
@ -9,13 +9,6 @@
|
||||
<template v-if="device!=='mobile'">
|
||||
<search id="header-search" class="right-menu-item" />
|
||||
|
||||
<el-tooltip content="源码地址" effect="dark" placement="bottom">
|
||||
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
|
||||
</el-tooltip>
|
||||
|
||||
<el-tooltip content="文档地址" effect="dark" placement="bottom">
|
||||
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
||||
</el-tooltip>
|
||||
|
||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||
|
||||
|
311
src/views/account/card/index.vue
Normal file
311
src/views/account/card/index.vue
Normal file
@ -0,0 +1,311 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberUid"
|
||||
placeholder="请输入会员ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="证件号码" prop="cardId">
|
||||
<el-input
|
||||
v-model="queryParams.cardId"
|
||||
placeholder="请输入证件号码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:card:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:card:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:card:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:card:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="cardList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="证件ID" align="center" prop="uid" />
|
||||
<el-table-column label="会员ID" align="center" prop="memberUid" />
|
||||
<el-table-column label="证件类型" align="center" prop="cardType" />
|
||||
<el-table-column label="证件号码" align="center" prop="cardId" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:card:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:card:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员证件信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input v-model="form.memberUid" placeholder="请输入会员ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="证件号码" prop="cardId">
|
||||
<el-input v-model="form.cardId" placeholder="请输入证件号码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1失效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1失效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listCard, getCard, delCard, addCard, updateCard } from "@/api/account/card";
|
||||
|
||||
export default {
|
||||
name: "Card",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员证件信息表格数据
|
||||
cardList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
memberUid: null,
|
||||
cardType: null,
|
||||
cardId: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "修改时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1失效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员证件信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listCard(this.queryParams).then(response => {
|
||||
this.cardList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
memberUid: null,
|
||||
cardType: null,
|
||||
cardId: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员证件信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getCard(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员证件信息";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateCard(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addCard(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员证件信息编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delCard(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/card/export', {
|
||||
...this.queryParams
|
||||
}, `card_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
453
src/views/account/fans/index.vue
Normal file
453
src/views/account/fans/index.vue
Normal file
@ -0,0 +1,453 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberUid"
|
||||
placeholder="请输入会员ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="公众号ID" prop="appId">
|
||||
<el-input
|
||||
v-model="queryParams.appId"
|
||||
placeholder="请输入公众号ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="公众号名称" prop="appName">
|
||||
<el-input
|
||||
v-model="queryParams.appName"
|
||||
placeholder="请输入公众号名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="绑定时间" prop="bindTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.bindTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择绑定时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信昵称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入微信昵称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信头像URL" prop="imageUrl">
|
||||
<el-input
|
||||
v-model="queryParams.imageUrl"
|
||||
placeholder="请输入微信头像URL"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信unionID" prop="unionId">
|
||||
<el-input
|
||||
v-model="queryParams.unionId"
|
||||
placeholder="请输入微信unionID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信openID" prop="openId">
|
||||
<el-input
|
||||
v-model="queryParams.openId"
|
||||
placeholder="请输入微信openID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="订阅时间" prop="subscribeTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.subscribeTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择订阅时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="取消订阅时间" prop="unsubscribeTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.unsubscribeTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择取消订阅时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:fans:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:fans:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:fans:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:fans:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="fansList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="会员微信粉丝ID" align="center" prop="uid" />
|
||||
<el-table-column label="会员ID" align="center" prop="memberUid" />
|
||||
<el-table-column label="公众号ID" align="center" prop="appId" />
|
||||
<el-table-column label="公众号名称" align="center" prop="appName" />
|
||||
<el-table-column label="绑定时间" align="center" prop="bindTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.bindTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="微信昵称" align="center" prop="name" />
|
||||
<el-table-column label="微信头像URL" align="center" prop="imageUrl" />
|
||||
<el-table-column label="微信unionID" align="center" prop="unionId" />
|
||||
<el-table-column label="微信openID" align="center" prop="openId" />
|
||||
<el-table-column label="订阅状态,0订阅,1未订阅" align="center" prop="subscribeStatus" />
|
||||
<el-table-column label="订阅时间" align="center" prop="subscribeTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.subscribeTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="取消订阅时间" align="center" prop="unsubscribeTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.unsubscribeTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:fans:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:fans:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员微信粉丝对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input v-model="form.memberUid" placeholder="请输入会员ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="公众号ID" prop="appId">
|
||||
<el-input v-model="form.appId" placeholder="请输入公众号ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="公众号名称" prop="appName">
|
||||
<el-input v-model="form.appName" placeholder="请输入公众号名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="绑定时间" prop="bindTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.bindTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择绑定时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信昵称" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入微信昵称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="微信头像URL" prop="imageUrl">
|
||||
<el-input v-model="form.imageUrl" placeholder="请输入微信头像URL" />
|
||||
</el-form-item>
|
||||
<el-form-item label="微信unionID" prop="unionId">
|
||||
<el-input v-model="form.unionId" placeholder="请输入微信unionID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="微信openID" prop="openId">
|
||||
<el-input v-model="form.openId" placeholder="请输入微信openID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订阅时间" prop="subscribeTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.subscribeTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择订阅时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="取消订阅时间" prop="unsubscribeTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.unsubscribeTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择取消订阅时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listFans, getFans, delFans, addFans, updateFans } from "@/api/account/fans";
|
||||
|
||||
export default {
|
||||
name: "Fans",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员微信粉丝表格数据
|
||||
fansList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
memberUid: null,
|
||||
appId: null,
|
||||
appName: null,
|
||||
bindTime: null,
|
||||
name: null,
|
||||
imageUrl: null,
|
||||
unionId: null,
|
||||
openId: null,
|
||||
subscribeStatus: null,
|
||||
subscribeTime: null,
|
||||
unsubscribeTime: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
subscribeStatus: [
|
||||
{ required: true, message: "订阅状态,0订阅,1未订阅不能为空", trigger: "change" }
|
||||
],
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员微信粉丝列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listFans(this.queryParams).then(response => {
|
||||
this.fansList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
memberUid: null,
|
||||
appId: null,
|
||||
appName: null,
|
||||
bindTime: null,
|
||||
name: null,
|
||||
imageUrl: null,
|
||||
unionId: null,
|
||||
openId: null,
|
||||
subscribeStatus: null,
|
||||
subscribeTime: null,
|
||||
unsubscribeTime: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员微信粉丝";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getFans(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员微信粉丝";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateFans(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addFans(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员微信粉丝编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delFans(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/fans/export', {
|
||||
...this.queryParams
|
||||
}, `fans_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
308
src/views/account/group/index.vue
Normal file
308
src/views/account/group/index.vue
Normal file
@ -0,0 +1,308 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="标签组名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入标签组名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签组备注" prop="mark">
|
||||
<el-input
|
||||
v-model="queryParams.mark"
|
||||
placeholder="请输入标签组备注"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:group:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:group:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:group:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:group:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="groupList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="标签组ID" align="center" prop="uid" />
|
||||
<el-table-column label="标签组名称" align="center" prop="name" />
|
||||
<el-table-column label="标签组备注" align="center" prop="mark" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:group:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:group:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员标签组对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="标签组名称" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入标签组名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签组备注" prop="mark">
|
||||
<el-input v-model="form.mark" placeholder="请输入标签组备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listGroup, getGroup, delGroup, addGroup, updateGroup } from "@/api/account/group";
|
||||
|
||||
export default {
|
||||
name: "Group",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员标签组表格数据
|
||||
groupList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: null,
|
||||
mark: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员标签组列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listGroup(this.queryParams).then(response => {
|
||||
this.groupList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
name: null,
|
||||
mark: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员标签组";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getGroup(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员标签组";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateGroup(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addGroup(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员标签组编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delGroup(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/group/export', {
|
||||
...this.queryParams
|
||||
}, `group_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
326
src/views/account/locus/index.vue
Normal file
326
src/views/account/locus/index.vue
Normal file
@ -0,0 +1,326 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberUid"
|
||||
placeholder="请输入会员ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="处理日期" prop="createDate">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.createDate"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择处理日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:locus:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:locus:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:locus:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:locus:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="locusList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="会员轨迹ID" align="center" prop="uid" />
|
||||
<el-table-column label="会员ID" align="center" prop="memberUid" />
|
||||
<el-table-column label="轨迹类型(1:信息动态;2:社交动态;3:活动规则;4:待办动态)" align="center" prop="trajectoryType" />
|
||||
<el-table-column label="文案内容" align="center" prop="content" />
|
||||
<el-table-column label="处理日期" align="center" prop="createDate" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createDate, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:locus:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:locus:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员轨迹信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input v-model="form.memberUid" placeholder="请输入会员ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="文案内容">
|
||||
<editor v-model="form.content" :min-height="192"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="处理日期" prop="createDate">
|
||||
<el-date-picker clearable
|
||||
v-model="form.createDate"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择处理日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listLocus, getLocus, delLocus, addLocus, updateLocus } from "@/api/account/locus";
|
||||
|
||||
export default {
|
||||
name: "Locus",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员轨迹信息表格数据
|
||||
locusList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
memberUid: null,
|
||||
trajectoryType: null,
|
||||
content: null,
|
||||
createDate: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员轨迹信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listLocus(this.queryParams).then(response => {
|
||||
this.locusList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
memberUid: null,
|
||||
trajectoryType: null,
|
||||
content: null,
|
||||
createDate: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员轨迹信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getLocus(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员轨迹信息";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateLocus(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addLocus(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员轨迹信息编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delLocus(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/locus/export', {
|
||||
...this.queryParams
|
||||
}, `locus_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
495
src/views/account/member/index.vue
Normal file
495
src/views/account/member/index.vue
Normal file
@ -0,0 +1,495 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-input
|
||||
v-model="queryParams.birthday"
|
||||
placeholder="请输入生日"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input
|
||||
v-model="queryParams.email"
|
||||
placeholder="请输入邮箱"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input
|
||||
v-model="queryParams.address"
|
||||
placeholder="请输入地址"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input
|
||||
v-model="queryParams.phone"
|
||||
placeholder="请输入手机号码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="会员卡号" prop="memberId">
|
||||
<el-input
|
||||
v-model="queryParams.memberId"
|
||||
placeholder="请输入会员卡号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="会员等级" prop="memberLevel">
|
||||
<el-input
|
||||
v-model="queryParams.memberLevel"
|
||||
placeholder="请输入会员等级"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="城市" prop="city">
|
||||
<el-input
|
||||
v-model="queryParams.city"
|
||||
placeholder="请输入城市"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="area">
|
||||
<el-input
|
||||
v-model="queryParams.area"
|
||||
placeholder="请输入地区"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="渠道来源" prop="source">
|
||||
<el-input
|
||||
v-model="queryParams.source"
|
||||
placeholder="请输入渠道来源"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="注销时间" prop="logoutTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.logoutTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择注销时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="冻结时间" prop="freezeTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.freezeTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择冻结时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="发卡时间" prop="cardTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.cardTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择发卡时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:member:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:member:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:member:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:member:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="memberList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="会员ID" align="center" prop="uid" />
|
||||
<el-table-column label="姓名" align="center" prop="name" />
|
||||
<el-table-column label="生日" align="center" prop="birthday" />
|
||||
<el-table-column label="性别" align="center" prop="sex" />
|
||||
<el-table-column label="邮箱" align="center" prop="email" />
|
||||
<el-table-column label="地址" align="center" prop="address" />
|
||||
<el-table-column label="手机号码" align="center" prop="phone" />
|
||||
<el-table-column label="会员卡号" align="center" prop="memberId" />
|
||||
<el-table-column label="会员等级" align="center" prop="memberLevel" />
|
||||
<el-table-column label="城市" align="center" prop="city" />
|
||||
<el-table-column label="地区" align="center" prop="area" />
|
||||
<el-table-column label="渠道来源" align="center" prop="source" />
|
||||
<el-table-column label="会员状态" align="center" prop="status" />
|
||||
<el-table-column label="注销时间" align="center" prop="logoutTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.logoutTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="冻结时间" align="center" prop="freezeTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.freezeTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发卡时间" align="center" prop="cardTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.cardTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:member:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:member:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-input v-model="form.birthday" placeholder="请输入生日" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input v-model="form.email" placeholder="请输入邮箱" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input v-model="form.address" placeholder="请输入地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input v-model="form.phone" placeholder="请输入手机号码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="会员卡号" prop="memberId">
|
||||
<el-input v-model="form.memberId" placeholder="请输入会员卡号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="会员等级" prop="memberLevel">
|
||||
<el-input v-model="form.memberLevel" placeholder="请输入会员等级" />
|
||||
</el-form-item>
|
||||
<el-form-item label="城市" prop="city">
|
||||
<el-input v-model="form.city" placeholder="请输入城市" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="area">
|
||||
<el-input v-model="form.area" placeholder="请输入地区" />
|
||||
</el-form-item>
|
||||
<el-form-item label="渠道来源" prop="source">
|
||||
<el-input v-model="form.source" placeholder="请输入渠道来源" />
|
||||
</el-form-item>
|
||||
<el-form-item label="注销时间" prop="logoutTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.logoutTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择注销时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="冻结时间" prop="freezeTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.freezeTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择冻结时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="发卡时间" prop="cardTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.cardTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择发卡时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMember, getMember, delMember, addMember, updateMember } from "@/api/account/member";
|
||||
|
||||
export default {
|
||||
name: "Member",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员信息表格数据
|
||||
memberList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: null,
|
||||
birthday: null,
|
||||
sex: null,
|
||||
email: null,
|
||||
address: null,
|
||||
phone: null,
|
||||
memberId: null,
|
||||
memberLevel: null,
|
||||
city: null,
|
||||
area: null,
|
||||
source: null,
|
||||
status: null,
|
||||
logoutTime: null,
|
||||
freezeTime: null,
|
||||
cardTime: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listMember(this.queryParams).then(response => {
|
||||
this.memberList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
name: null,
|
||||
birthday: null,
|
||||
sex: null,
|
||||
email: null,
|
||||
address: null,
|
||||
phone: null,
|
||||
memberId: null,
|
||||
memberLevel: null,
|
||||
city: null,
|
||||
area: null,
|
||||
source: null,
|
||||
status: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
logoutTime: null,
|
||||
freezeTime: null,
|
||||
cardTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getMember(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员信息";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateMember(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addMember(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员信息编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delMember(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/member/export', {
|
||||
...this.queryParams
|
||||
}, `member_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
336
src/views/account/relation/index.vue
Normal file
336
src/views/account/relation/index.vue
Normal file
@ -0,0 +1,336 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberUid"
|
||||
placeholder="请输入会员ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关系" prop="relation">
|
||||
<el-input
|
||||
v-model="queryParams.relation"
|
||||
placeholder="请输入关系"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关系会员ID" prop="memberRelationUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberRelationUid"
|
||||
placeholder="请输入关系会员ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="mark">
|
||||
<el-input
|
||||
v-model="queryParams.mark"
|
||||
placeholder="请输入备注"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:relation:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:relation:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:relation:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:relation:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="relationList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="会员关系ID" align="center" prop="uid" />
|
||||
<el-table-column label="会员ID" align="center" prop="memberUid" />
|
||||
<el-table-column label="关系" align="center" prop="relation" />
|
||||
<el-table-column label="关系会员ID" align="center" prop="memberRelationUid" />
|
||||
<el-table-column label="备注" align="center" prop="mark" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:relation:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:relation:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员关系对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="会员ID" prop="memberUid">
|
||||
<el-input v-model="form.memberUid" placeholder="请输入会员ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关系" prop="relation">
|
||||
<el-input v-model="form.relation" placeholder="请输入关系" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关系会员ID" prop="memberRelationUid">
|
||||
<el-input v-model="form.memberRelationUid" placeholder="请输入关系会员ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="mark">
|
||||
<el-input v-model="form.mark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listRelation, getRelation, delRelation, addRelation, updateRelation } from "@/api/account/relation";
|
||||
|
||||
export default {
|
||||
name: "Relation",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员关系表格数据
|
||||
relationList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
memberUid: null,
|
||||
relation: null,
|
||||
memberRelationUid: null,
|
||||
mark: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员关系列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listRelation(this.queryParams).then(response => {
|
||||
this.relationList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
memberUid: null,
|
||||
relation: null,
|
||||
memberRelationUid: null,
|
||||
mark: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员关系";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getRelation(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员关系";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateRelation(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addRelation(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员关系编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delRelation(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/relation/export', {
|
||||
...this.queryParams
|
||||
}, `relation_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
320
src/views/account/sign/index.vue
Normal file
320
src/views/account/sign/index.vue
Normal file
@ -0,0 +1,320 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="用户ID" prop="memberUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberUid"
|
||||
placeholder="请输入用户ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="签到日期" prop="createDay">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.createDay"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择签到日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:sign:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:sign:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:sign:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:sign:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="signList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="签到记录ID" align="center" prop="uid" />
|
||||
<el-table-column label="用户ID" align="center" prop="memberUid" />
|
||||
<el-table-column label="签到日期" align="center" prop="createDay" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createDay, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:sign:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:sign:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员签到记录对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户ID" prop="memberUid">
|
||||
<el-input v-model="form.memberUid" placeholder="请输入用户ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="签到日期" prop="createDay">
|
||||
<el-date-picker clearable
|
||||
v-model="form.createDay"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择签到日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSign, getSign, delSign, addSign, updateSign } from "@/api/account/sign";
|
||||
|
||||
export default {
|
||||
name: "Sign",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员签到记录表格数据
|
||||
signList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
memberUid: null,
|
||||
createDay: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createDay: [
|
||||
{ required: true, message: "签到日期不能为空", trigger: "blur" }
|
||||
],
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "修改时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员签到记录列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSign(this.queryParams).then(response => {
|
||||
this.signList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
memberUid: null,
|
||||
createDay: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员签到记录";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getSign(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员签到记录";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateSign(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addSign(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员签到记录编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delSign(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/sign/export', {
|
||||
...this.queryParams
|
||||
}, `sign_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
423
src/views/account/source/index.vue
Normal file
423
src/views/account/source/index.vue
Normal file
@ -0,0 +1,423 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="微信unionID" prop="unionId">
|
||||
<el-input
|
||||
v-model="queryParams.unionId"
|
||||
placeholder="请输入微信unionID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信openID" prop="openId">
|
||||
<el-input
|
||||
v-model="queryParams.openId"
|
||||
placeholder="请输入微信openID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="头像url" prop="imageUrl">
|
||||
<el-input
|
||||
v-model="queryParams.imageUrl"
|
||||
placeholder="请输入头像url"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-input
|
||||
v-model="queryParams.birthday"
|
||||
placeholder="请输入生日"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input
|
||||
v-model="queryParams.email"
|
||||
placeholder="请输入邮箱"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input
|
||||
v-model="queryParams.address"
|
||||
placeholder="请输入地址"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input
|
||||
v-model="queryParams.phone"
|
||||
placeholder="请输入手机号码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="城市" prop="city">
|
||||
<el-input
|
||||
v-model="queryParams.city"
|
||||
placeholder="请输入城市"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="area">
|
||||
<el-input
|
||||
v-model="queryParams.area"
|
||||
placeholder="请输入地区"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:source:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:source:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:source:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:source:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="sourceList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="会员来源ID" align="center" prop="uid" />
|
||||
<el-table-column label="微信unionID" align="center" prop="unionId" />
|
||||
<el-table-column label="微信openID" align="center" prop="openId" />
|
||||
<el-table-column label="姓名" align="center" prop="name" />
|
||||
<el-table-column label="头像url" align="center" prop="imageUrl" />
|
||||
<el-table-column label="生日" align="center" prop="birthday" />
|
||||
<el-table-column label="性别,0未知,1男,2女,3保密" align="center" prop="sex" />
|
||||
<el-table-column label="邮箱" align="center" prop="email" />
|
||||
<el-table-column label="地址" align="center" prop="address" />
|
||||
<el-table-column label="手机号码" align="center" prop="phone" />
|
||||
<el-table-column label="城市" align="center" prop="city" />
|
||||
<el-table-column label="地区" align="center" prop="area" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:source:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:source:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员微信来源信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="微信unionID" prop="unionId">
|
||||
<el-input v-model="form.unionId" placeholder="请输入微信unionID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="微信openID" prop="openId">
|
||||
<el-input v-model="form.openId" placeholder="请输入微信openID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="头像url" prop="imageUrl">
|
||||
<el-input v-model="form.imageUrl" placeholder="请输入头像url" />
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-input v-model="form.birthday" placeholder="请输入生日" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input v-model="form.email" placeholder="请输入邮箱" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input v-model="form.address" placeholder="请输入地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input v-model="form.phone" placeholder="请输入手机号码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="城市" prop="city">
|
||||
<el-input v-model="form.city" placeholder="请输入城市" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="area">
|
||||
<el-input v-model="form.area" placeholder="请输入地区" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSource, getSource, delSource, addSource, updateSource } from "@/api/account/source";
|
||||
|
||||
export default {
|
||||
name: "Source",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员微信来源信息表格数据
|
||||
sourceList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
unionId: null,
|
||||
openId: null,
|
||||
name: null,
|
||||
imageUrl: null,
|
||||
birthday: null,
|
||||
sex: null,
|
||||
email: null,
|
||||
address: null,
|
||||
phone: null,
|
||||
city: null,
|
||||
area: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员微信来源信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSource(this.queryParams).then(response => {
|
||||
this.sourceList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
unionId: null,
|
||||
openId: null,
|
||||
name: null,
|
||||
imageUrl: null,
|
||||
birthday: null,
|
||||
sex: null,
|
||||
email: null,
|
||||
address: null,
|
||||
phone: null,
|
||||
city: null,
|
||||
area: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员微信来源信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getSource(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员微信来源信息";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateSource(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addSource(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员微信来源信息编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delSource(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/source/export', {
|
||||
...this.queryParams
|
||||
}, `source_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
322
src/views/account/tag/index.vue
Normal file
322
src/views/account/tag/index.vue
Normal file
@ -0,0 +1,322 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="标签名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入标签名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签备注" prop="mark">
|
||||
<el-input
|
||||
v-model="queryParams.mark"
|
||||
placeholder="请输入标签备注"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签组ID" prop="tagGroupUid">
|
||||
<el-input
|
||||
v-model="queryParams.tagGroupUid"
|
||||
placeholder="请输入标签组ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:tag:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:tag:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:tag:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:tag:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="tagList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="标签ID" align="center" prop="uid" />
|
||||
<el-table-column label="标签名称" align="center" prop="name" />
|
||||
<el-table-column label="标签备注" align="center" prop="mark" />
|
||||
<el-table-column label="标签组ID" align="center" prop="tagGroupUid" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:tag:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:tag:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员标签对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="标签名称" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入标签名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签备注" prop="mark">
|
||||
<el-input v-model="form.mark" placeholder="请输入标签备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签组ID" prop="tagGroupUid">
|
||||
<el-input v-model="form.tagGroupUid" placeholder="请输入标签组ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listTag, getTag, delTag, addTag, updateTag } from "@/api/account/tag";
|
||||
|
||||
export default {
|
||||
name: "Tag",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员标签表格数据
|
||||
tagList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: null,
|
||||
mark: null,
|
||||
tagGroupUid: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员标签列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listTag(this.queryParams).then(response => {
|
||||
this.tagList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
name: null,
|
||||
mark: null,
|
||||
tagGroupUid: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员标签";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getTag(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员标签";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateTag(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addTag(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员标签编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delTag(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/tag/export', {
|
||||
...this.queryParams
|
||||
}, `tag_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
1012
src/views/index.vue
1012
src/views/index.vue
File diff suppressed because it is too large
Load Diff
320
src/views/sign/index.vue
Normal file
320
src/views/sign/index.vue
Normal file
@ -0,0 +1,320 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="用户ID" prop="memberUid">
|
||||
<el-input
|
||||
v-model="queryParams.memberUid"
|
||||
placeholder="请输入用户ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="签到日期" prop="createDay">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.createDay"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择签到日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:sign:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:sign:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:sign:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:sign:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="signList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="签到记录ID" align="center" prop="uid" />
|
||||
<el-table-column label="用户ID" align="center" prop="memberUid" />
|
||||
<el-table-column label="签到日期" align="center" prop="createDay" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createDay, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:sign:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:sign:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员签到记录对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户ID" prop="memberUid">
|
||||
<el-input v-model="form.memberUid" placeholder="请输入用户ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="签到日期" prop="createDay">
|
||||
<el-date-picker clearable
|
||||
v-model="form.createDay"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择签到日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSign, getSign, delSign, addSign, updateSign } from "@/api/account/sign";
|
||||
|
||||
export default {
|
||||
name: "Sign",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员签到记录表格数据
|
||||
signList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
memberUid: null,
|
||||
createDay: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createDay: [
|
||||
{ required: true, message: "签到日期不能为空", trigger: "blur" }
|
||||
],
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "修改时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员签到记录列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSign(this.queryParams).then(response => {
|
||||
this.signList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
memberUid: null,
|
||||
createDay: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员签到记录";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getSign(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员签到记录";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateSign(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addSign(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员签到记录编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delSign(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/sign/export', {
|
||||
...this.queryParams
|
||||
}, `sign_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
423
src/views/source/index.vue
Normal file
423
src/views/source/index.vue
Normal file
@ -0,0 +1,423 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="微信unionID" prop="unionId">
|
||||
<el-input
|
||||
v-model="queryParams.unionId"
|
||||
placeholder="请输入微信unionID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="微信openID" prop="openId">
|
||||
<el-input
|
||||
v-model="queryParams.openId"
|
||||
placeholder="请输入微信openID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="头像url" prop="imageUrl">
|
||||
<el-input
|
||||
v-model="queryParams.imageUrl"
|
||||
placeholder="请输入头像url"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-input
|
||||
v-model="queryParams.birthday"
|
||||
placeholder="请输入生日"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input
|
||||
v-model="queryParams.email"
|
||||
placeholder="请输入邮箱"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input
|
||||
v-model="queryParams.address"
|
||||
placeholder="请输入地址"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input
|
||||
v-model="queryParams.phone"
|
||||
placeholder="请输入手机号码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="城市" prop="city">
|
||||
<el-input
|
||||
v-model="queryParams.city"
|
||||
placeholder="请输入城市"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="area">
|
||||
<el-input
|
||||
v-model="queryParams.area"
|
||||
placeholder="请输入地区"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:source:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:source:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:source:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:source:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="sourceList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="会员来源ID" align="center" prop="uid" />
|
||||
<el-table-column label="微信unionID" align="center" prop="unionId" />
|
||||
<el-table-column label="微信openID" align="center" prop="openId" />
|
||||
<el-table-column label="姓名" align="center" prop="name" />
|
||||
<el-table-column label="头像url" align="center" prop="imageUrl" />
|
||||
<el-table-column label="生日" align="center" prop="birthday" />
|
||||
<el-table-column label="性别,0未知,1男,2女,3保密" align="center" prop="sex" />
|
||||
<el-table-column label="邮箱" align="center" prop="email" />
|
||||
<el-table-column label="地址" align="center" prop="address" />
|
||||
<el-table-column label="手机号码" align="center" prop="phone" />
|
||||
<el-table-column label="城市" align="center" prop="city" />
|
||||
<el-table-column label="地区" align="center" prop="area" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:source:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:source:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员微信来源信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="微信unionID" prop="unionId">
|
||||
<el-input v-model="form.unionId" placeholder="请输入微信unionID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="微信openID" prop="openId">
|
||||
<el-input v-model="form.openId" placeholder="请输入微信openID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="头像url" prop="imageUrl">
|
||||
<el-input v-model="form.imageUrl" placeholder="请输入头像url" />
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-input v-model="form.birthday" placeholder="请输入生日" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input v-model="form.email" placeholder="请输入邮箱" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input v-model="form.address" placeholder="请输入地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input v-model="form.phone" placeholder="请输入手机号码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="城市" prop="city">
|
||||
<el-input v-model="form.city" placeholder="请输入城市" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地区" prop="area">
|
||||
<el-input v-model="form.area" placeholder="请输入地区" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSource, getSource, delSource, addSource, updateSource } from "@/api/account/source";
|
||||
|
||||
export default {
|
||||
name: "Source",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员微信来源信息表格数据
|
||||
sourceList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
unionId: null,
|
||||
openId: null,
|
||||
name: null,
|
||||
imageUrl: null,
|
||||
birthday: null,
|
||||
sex: null,
|
||||
email: null,
|
||||
address: null,
|
||||
phone: null,
|
||||
city: null,
|
||||
area: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员微信来源信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSource(this.queryParams).then(response => {
|
||||
this.sourceList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
unionId: null,
|
||||
openId: null,
|
||||
name: null,
|
||||
imageUrl: null,
|
||||
birthday: null,
|
||||
sex: null,
|
||||
email: null,
|
||||
address: null,
|
||||
phone: null,
|
||||
city: null,
|
||||
area: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员微信来源信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getSource(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员微信来源信息";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateSource(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addSource(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员微信来源信息编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delSource(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/source/export', {
|
||||
...this.queryParams
|
||||
}, `source_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
322
src/views/tag/index.vue
Normal file
322
src/views/tag/index.vue
Normal file
@ -0,0 +1,322 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="标签名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入标签名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签备注" prop="mark">
|
||||
<el-input
|
||||
v-model="queryParams.mark"
|
||||
placeholder="请输入标签备注"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签组ID" prop="tagGroupUid">
|
||||
<el-input
|
||||
v-model="queryParams.tagGroupUid"
|
||||
placeholder="请输入标签组ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input
|
||||
v-model="queryParams.createUserId"
|
||||
placeholder="请输入创建人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input
|
||||
v-model="queryParams.updateUserId"
|
||||
placeholder="请输入修改人ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['account:tag:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['account:tag:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['account:tag:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['account:tag:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="tagList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="标签ID" align="center" prop="uid" />
|
||||
<el-table-column label="标签名称" align="center" prop="name" />
|
||||
<el-table-column label="标签备注" align="center" prop="mark" />
|
||||
<el-table-column label="标签组ID" align="center" prop="tagGroupUid" />
|
||||
<el-table-column label="创建人ID" align="center" prop="createUserId" />
|
||||
<el-table-column label="修改人ID" align="center" prop="updateUserId" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['account:tag:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['account:tag:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改会员标签对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="标签名称" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入标签名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签备注" prop="mark">
|
||||
<el-input v-model="form.mark" placeholder="请输入标签备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签组ID" prop="tagGroupUid">
|
||||
<el-input v-model="form.tagGroupUid" placeholder="请输入标签组ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="有效标识,0有效,1无效" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入有效标识,0有效,1无效" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人ID" prop="createUserId">
|
||||
<el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="修改人ID" prop="updateUserId">
|
||||
<el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listTag, getTag, delTag, addTag, updateTag } from "@/api/account/tag";
|
||||
|
||||
export default {
|
||||
name: "Tag",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 会员标签表格数据
|
||||
tagList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: null,
|
||||
mark: null,
|
||||
tagGroupUid: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
createTime: [
|
||||
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||
],
|
||||
updateTime: [
|
||||
{ required: true, message: "更新时间不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "有效标识,0有效,1无效不能为空", trigger: "blur" }
|
||||
],
|
||||
createUserId: [
|
||||
{ required: true, message: "创建人ID不能为空", trigger: "blur" }
|
||||
],
|
||||
updateUserId: [
|
||||
{ required: true, message: "修改人ID不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询会员标签列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listTag(this.queryParams).then(response => {
|
||||
this.tagList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: null,
|
||||
name: null,
|
||||
mark: null,
|
||||
tagGroupUid: null,
|
||||
createTime: null,
|
||||
updateTime: null,
|
||||
delFlag: null,
|
||||
createUserId: null,
|
||||
updateUserId: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.uid)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加会员标签";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const uid = row.uid || this.ids
|
||||
getTag(uid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改会员标签";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.uid != null) {
|
||||
updateTag(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addTag(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const uids = row.uid || this.ids;
|
||||
this.$modal.confirm('是否确认删除会员标签编号为"' + uids + '"的数据项?').then(function() {
|
||||
return delTag(uids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('account/tag/export', {
|
||||
...this.queryParams
|
||||
}, `tag_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user