Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
杨炀
/
ztx_wx_gzt
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
e17cf320
authored
2023-12-18 10:29:39 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
bb678af5
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
940 additions
and
319 deletions
common/api.js
common/mystyle.scss
common/request.js
config.js
group/apply/applyList.vue
group/apply/merge.vue
group/apply/mergeUp.vue
group/apply/mergeUpDetail.vue
group/feeBillDetail.vue
group/groupInfo.vue
group/list.vue
group/payDetail.vue
level/applyDetail.vue
level/approval.vue
level/merge.vue
level/mergeUp.vue
level/mergeUpDetail.vue
level/ztx/examList.vue
login/login.vue
manifest.json
pages.json
pages/index/index.vue
pages/rank/applyDetail.vue
personalVip/addVip.vue
personalVip/detail.vue
personalVip/feeBillDetail.vue
personalVip/list.vue
personalVip/mobilize.vue
personalVip/mobilizeDetail.vue
personalVip/sheng/mergeUpDetail.vue
uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue
common/api.js
View file @
e17cf32
...
...
@@ -236,7 +236,7 @@ function commit(rangeIds) {
// 调动审批
function
mobilizeAudit
(
data
)
{
return
request
({
url
:
`/person/transferRange/audit/
${
data
.
rangeIds
}
`
,
url
:
`/person/transferRange/audit/
${
data
.
rangeIds
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
,
params
:
data
})
...
...
@@ -639,7 +639,12 @@ function getMySonList(data) {
params
:
data
})
}
function
getGroupMemberInfoById
(
memId
)
{
return
request
({
url
:
'/member/info/'
+
memId
,
method
:
'get'
})
}
function
addGroupPaymentGroup
(
data
)
{
return
request
({
url
:
`/member/certifiedRange/addRangeMulti/
${
data
.
memIds
}
/
${
data
.
rangeId
}
`
,
...
...
@@ -949,6 +954,14 @@ function extractInfoFromChinaIdCard(data) {
params
:
data
})
}
function
getRemindCount
(
params
)
{
return
request
({
url
:
'/system/remindCount/getCounts'
,
method
:
'get'
,
params
:
params
})
}
export
{
getMessage
,
...
...
@@ -1045,5 +1058,5 @@ export {
getMemberInfoModRange
,
commitGroupChange
,
delGroupChange
,
getChangeGroupByRangeId
,
groupInfoMod
,
addGroupInfoModeToRange
,
groupChangeEditMod
,
groupChangeAudit
,
extractInfoFromChinaIdCard
,
certifiedwithDraw
,
certifiedunMerge
,
certifiedwithDraw
,
certifiedunMerge
,
getRemindCount
,
getGroupMemberInfoById
}
\ No newline at end of file
...
...
common/mystyle.scss
View file @
e17cf32
page
{
height
:
100vh
;
overflow
:
auto
;
background
:
#
f5f7f9
;
background
:
#
ecf0f6
;
}
.wBox
{
box-sizing
:
border-box
;}
.h3
{
font-weight
:
bold
;
line-height
:
2
;}
...
...
@@ -52,7 +52,7 @@ page {
.nodata
{
padding
:
10vh
0
;
box-sizing
:
border-box
;
text-align
:
center
;
image
{
width
:
300rpx
;
height
:
300rpx
;
display
:
block
;
margin
:
0
auto
40rpx
;}
image
{
width
:
300rpx
;
height
:
300rpx
;
display
:
block
;
margin
:
0
auto
;}
text
{
font-size
:
24rpx
;
text-align
:
center
;
display
:
inline-block
;
color
:
#a8b3c7
;}
button
{
display
:
inline
;
border-radius
:
35rpx
;
padding
:
10rpx
30rpx
;
box-sizing
:
border-box
;
font-size
:
30rpx
;
border
:
none
!
important
;}
...
...
@@ -382,9 +382,9 @@ background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAOsCAYAAABQx3
background-size
:
cover
;
position
:
relative
;}
.girdBox
{
display
:
flex
;
flex-wrap
:
wrap
;
padding
:
20rpx
0
;
box-sizing
:
border-box
;
background
:
#FFFFFF
;
position
:
relative
;
top
:
-30rpx
;
border-radius
:
20rpx
20rpx
0rpx
0rpx
;
view
{
width
:
25%
;
text-align
:
center
;
box-sizing
:
border-box
;
padding
:
2%
0
;
view
{
width
:
25%
;
text-align
:
center
;
box-sizing
:
border-box
;
padding
:
2%
0
;
position
:
relative
;
font-size
:
24rpx
;
color
:
#
434343
;
color
:
#
777
;
image
{
width
:
70rpx
;
height
:
70rpx
;
display
:
block
;
margin
:
auto
;}
}
}
...
...
common/request.js
View file @
e17cf32
...
...
@@ -3,7 +3,7 @@ import {
h5LoginAuto
}
from
'./login'
const
excludeUrls
=
[
'
pages/index/login'
,
'pages/index
/register'
]
const
excludeUrls
=
[
'
login/login'
,
'login
/register'
]
// 获取Token
function
getToken
()
{
...
...
@@ -25,6 +25,7 @@ function getHeaders() {
const
header
=
{
'Authorization'
:
token
,
'Content-Type'
:
'application/json'
,
// 根据自己的数据类型
'Content-Language'
:
'zh_CN'
,
// "Content-Type":"application/x-www-form-urlencoded",
'Ztx-Per-Id'
:
uni
.
getStorageSync
(
'perId'
)
||
'-1'
}
...
...
config.js
View file @
e17cf32
...
...
@@ -5,14 +5,11 @@
// staging 会员系统
// const baseUrl_api = "http://22yidpjzjifv.ngrok.xiaomiqiu123.top/stage-api/";
// const baseUrl_api = "http://123.60.96.243/stage-api/";
const
baseUrl_api
=
'http://192.168.1.1
1:8787'
// const baseUrl_api = 'http://192.168.1.13
1:8787'
// const baseUrl_api = 'https://ztx.itechtop.cn/stage-api'
// const baseUrl_api = 'https://tkcn.19wk.cn:8001/stage-api'
// const baseUrl_api = 'https://newsystem.taekwondo.org.cn/stage-api/'
// const baseUrl_api = 'https://tkcn.19wk.cn:8443/stage-api'
// train
// const baseUrl_api = 'http://192.168.1.25:8686'
const
baseUrl_api
=
'https://newsystem.taekwondo.org.cn/stage-api'
export
default
{
baseUrl_api
}
...
...
group/apply/applyList.vue
View file @
e17cf32
<
template
>
<view>
<view
class=
"text-center"
v-if=
"userType=='2'"
>
<view
class=
"text-center
whitebg
"
v-if=
"userType=='2'"
>
<view
class=
"cardNav"
>
<view
class=
"active"
>
会员审核
</view>
<view
@
click=
"goMerge"
>
审核合并
</view>
...
...
group/apply/merge.vue
View file @
e17cf32
<
template
>
<view
class=
"hasfixedbottom"
>
<view
class=
"text-center"
>
<view
class=
"text-center
whitebg
"
>
<view
class=
"cardNav"
>
<view
@
click=
"goApply"
>
会员审核
</view>
<view
class=
"active"
>
审核合并
</view>
...
...
group/apply/mergeUp.vue
View file @
e17cf32
<
template
>
<view>
<view
class=
"text-center"
>
<view
class=
"text-center
whitebg
"
>
<view
class=
"cardNav"
>
<view
@
click=
"goApply"
>
会员审核
</view>
<view
@
click=
"goMerge"
>
审核合并
</view>
...
...
group/apply/mergeUpDetail.vue
View file @
e17cf32
<
template
>
<view
class=
"hasfixedbottom"
>
<view
class=
"wBox"
>
<view
class=
"tt"
>
{{
form
.
content
.
certName
}}
</view>
<view
class=
"tt"
>
{{
form
.
content
?
.
certName
}}
</view>
<view>
<view
class=
"date"
v-if=
"form.content
.commitTime"
>
提交日期:
<text>
{{
form
.
content
.
commitTime
}}
</text>
<view
class=
"date"
v-if=
"form.content
?.commitTime"
>
提交日期:
<text>
{{
form
.
content
?
.
commitTime
}}
</text>
</view>
<view
class=
"date"
>
提交单位:
<text>
{{
form
.
content
.
memberName
}}
</text>
</view>
<view
class=
"date"
>
提交单位:
<text>
{{
form
.
content
?
.
memberName
}}
</text>
</view>
</view>
<view
class=
"vipData mt30"
style=
"flex-wrap: wrap;"
>
<view
class=
"w50"
>
团队会员合计:
<text>
{{
form
.
content
.
allCount
}}
个
</text>
<text>
{{
form
.
content
?
.
allCount
}}
个
</text>
</view>
<view
class=
"w50"
>
新会员合计:
<text>
{{
form
.
content
.
newCount
}}
个
</text>
<text>
{{
form
.
content
?
.
newCount
}}
个
</text>
</view>
<view
class=
"w50"
>
年限合计:
<text>
{{
form
.
content
.
renewYear
}}
年
</text>
<text>
{{
form
.
content
?
.
renewYear
}}
年
</text>
</view>
<view
class=
"w50"
>
费用合计:
<text>
{{
(
form
.
content
.
allFee
*
1
).
toFixed
(
2
)
}}
元
</text>
<text>
{{
(
form
.
content
?
.
allFee
*
1
).
toFixed
(
2
)
}}
元
</text>
</view>
</view>
<!-- 成员 -->
<view
class=
"userlist"
>
<view
class=
"item"
v-for=
"(n,index) in list"
:key=
"n.index"
>
<view
class=
"item"
v-for=
"(n,index) in list"
:key=
"n.index"
@
click=
"goGroupInfo(n)"
>
<view
style=
"width: 100%"
>
<view
class=
"name"
>
{{
n
.
memberName
}}
</view>
<view
class=
"date"
>
单位类型:
...
...
@@ -54,7 +54,7 @@
<text>
{{
n
.
renewYear
}}
</text>
<view
v-if=
"deptType==1"
>
会员证
<text
v-if=
"form.content.sendJiaoFeiFlag==1"
class=
"text-success"
>
已下发
</text>
<text
v-if=
"form.content
?
.sendJiaoFeiFlag==1"
class=
"text-success"
>
已下发
</text>
<text
v-else
class=
"text-warning"
>
未下发
</text>
</view>
</view>
...
...
@@ -225,6 +225,11 @@
})
uni
.
navigateBack
()
})
}
function
goGroupInfo
(
row
){
uni
.
navigateTo
({
url
:
`/group/groupInfo?memId=
${
row
.
memId
}
`
})
}
</
script
>
...
...
group/feeBillDetail.vue
View file @
e17cf32
...
...
@@ -12,7 +12,7 @@
</view>
<!-- 成员 -->
<view
class=
"userlist"
>
<view
class=
"item"
v-for=
"n in list"
>
<view
class=
"item"
v-for=
"n in list"
:key=
"n.rangeId"
>
<view
class=
"w100"
>
<view
class=
"name"
>
{{
n
.
certName
}}
</view>
<view
class=
"date"
v-if=
"n.validityTime"
>
{{
n
.
validityTime
?.
slice
(
0
,
10
)
}}
</view>
...
...
group/groupInfo.vue
0 → 100644
View file @
e17cf32
<
template
>
<view>
<view
class=
"mainbox"
>
<uni-list>
<uni-list-item
title=
"所属协会"
>
<template
v-slot:footer
>
<view
style=
"width: 60%;text-align: right;"
>
{{
form
.
firstName
}}
{{
form
.
parentDeptName
}}
</view>
</
template
>
</uni-list-item>
<uni-list-item
title=
"会员编号"
v-if=
"form.menCode"
:rightText=
"form.menCode"
/>
<uni-list-item
title=
"机构名称"
:rightText=
"form.name"
/>
<uni-list-item
title=
"所属省份"
>
<
template
v-slot:footer
>
{{
form
.
provinceStr
}}
</
template
>
</uni-list-item>
<uni-list-item
title=
"社会信用代码"
:rightText=
"form.creditCode"
/>
<uni-list-item
v-if=
"form.siteContact"
title=
"联系人"
:rightText=
"form.siteContact"
/>
<uni-list-item
v-else
title=
"联系人"
:rightText=
"form.contact"
/>
<uni-list-item
v-if=
"form.siteTel"
title=
"联系方式"
:rightText=
"form.siteTel"
/>
<uni-list-item
v-else
title=
"联系方式"
:rightText=
"form.phone"
/>
<uni-list-item
v-if=
"form.validityDate"
title=
"有效期"
:rightText=
"form.validityDate?.slice(0,10)"
/>
<uni-list-item
title=
"认证地址"
>
<
template
v-slot:footer
>
{{
form
.
provinceStr
}}{{
form
.
cityName
}}{{
form
.
regionStr
}}
</
template
>
</uni-list-item>
<uni-list-item
title=
"认证详细地址"
:rightText=
"form.adress"
/>
<uni-list-item
title=
"法人姓名"
:rightText=
"form.legal||'--'"
/>
<uni-list-item
v-if=
"form.deptType==6"
title=
"是否为考点"
:rightText=
"form.applyPoints==1?'是':'否'"
/>
<uni-list-item
title=
"法人身份证"
clickable
>
<
template
v-slot:footer
>
<view
v-if=
"form.legalIdcPhotoArr&&form.legalIdcPhotoArr?.length>0"
>
<image
class=
"ylImage"
mode=
"aspectFit"
@
click=
"showImage(form.legalIdcPhotoArr,index)"
v-for=
"(item,index) in form.legalIdcPhotoArr"
:key=
"item"
:src=
"item"
>
</image>
</view>
</
template
>
</uni-list-item>
<uni-list-item
title=
"营业执照"
clickable
>
<
template
v-slot:footer
>
<view
@
click=
"download(form.businessLicenseArr[0]?.url)"
v-if=
"form.businessLicenseArr&&form.businessLicenseArr?.length>0"
>
<text
class=
"text-primary"
>
{{
form
.
businessLicenseArr
[
0
]?.
name
}}
</text>
</view>
</
template
>
</uni-list-item>
<uni-list-item
title=
"机构照片"
clickable
>
<
template
v-slot:footer
>
<view
v-if=
"form.picturesArr&&form.picturesArr?.length>0"
class=
"photoBook"
@
click=
"showImage(form.picturesArr,0)"
>
<image
mode=
"aspectFit"
class=
"ylImage"
:src=
"form.picturesArr[0]"
>
</image>
<text>
共
{{
form
.
picturesArr
?.
length
}}
张
</text>
</view>
</
template
>
</uni-list-item>
</uni-list>
</view>
<view
class=
"height1"
></view>
</view>
</template>
<
script
setup
>
import
*
as
api
from
'@/common/api.js'
import
config
from
'@/config.js'
import
_
from
'lodash'
import
{
onMounted
,
ref
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
const
app
=
getApp
()
const
form
=
ref
({
legalIdcPhotoArr
:
[],
picturesArr
:
[],
businessLicenseArr
:[]
})
onLoad
(
option
=>
{
console
.
log
(
option
)
if
(
'form'
in
option
)
{
form
.
value
=
JSON
.
parse
(
decodeURIComponent
(
option
.
form
))
getForm
()
}
if
(
option
.
memId
)
{
getForm
(
option
.
memId
)
}
})
function
getForm
(
memId
){
if
(
memId
){
api
.
getGroupMemberInfoById
(
memId
).
then
(
res
=>
{
form
.
value
=
res
.
data
init
()
})
}
else
{
init
()
}
}
function
init
()
{
console
.
log
(
form
.
value
)
if
(
form
.
value
.
businessLicense
)
{
form
.
value
.
businessLicenseArr
=
[]
try
{
form
.
value
.
businessLicenseArr
=
JSON
.
parse
(
form
.
value
.
businessLicense
)
||
[]
}
catch
(
e
){
form
.
value
.
businessLicenseArr
=
[{
url
:
form
.
value
.
businessLicense
,
name
:
'营业执照'
}]
}
console
.
log
(
'营业执照'
,
form
.
value
.
businessLicenseArr
)
}
if
(
form
.
value
.
certLegalIdcPhoto
&&
form
.
value
.
certLegalIdcPhoto
!=
null
)
{
form
.
value
.
legalIdcPhotoArr
=
[]
var
arr
=
form
.
value
.
certLegalIdcPhoto
?.
split
(
','
)
||
[]
if
(
arr
.
length
>
0
)
{
arr
=
_
.
map
(
arr
,
(
p
)
=>
{
if
(
p
.
indexOf
(
'http'
)
==-
1
){
console
.
log
(
p
)
p
=
config
.
baseUrl_api
+
p
}
return
p
})
form
.
value
.
legalIdcPhotoArr
=
arr
}
console
.
log
(
'法人身份证'
,
form
.
value
.
legalIdcPhotoArr
)
}
if
(
form
.
value
.
certPictures
)
{
form
.
value
.
picturesArr
=
[]
var
arr
=
form
.
value
.
certPictures
.
split
(
','
)
||
[]
if
(
arr
.
length
>
0
)
{
arr
=
_
.
map
(
arr
,
(
p
)
=>
{
if
(
p
.
indexOf
(
'http'
)
==-
1
){
p
=
config
.
baseUrl_api
+
p
}
return
p
})
form
.
value
.
picturesArr
=
arr
}
console
.
log
(
form
.
value
.
picturesArr
)
}
}
function
showImage
(
arr
,
index
)
{
uni
.
previewImage
({
urls
:
arr
,
current
:
index
,
success
:
function
(
res
)
{
}
})
}
function
download
(
url
)
{
console
.
log
(
url
)
if
(
url
.
indexOf
(
'.png'
)
>
-
1
||
url
.
indexOf
(
'.jpg'
)
>
-
1
)
{
if
(
url
.
indexOf
(
'http'
)
>-
1
){
uni
.
previewImage
({
urls
:
[
url
],
success
:
function
(
res
)
{
}
})
}
else
{
uni
.
previewImage
({
urls
:
[
config
.
baseUrl_api
+
url
],
success
:
function
(
res
)
{
}
})
}
}
else
{
if
(
url
.
indexOf
(
'http'
)
>-
1
){
goWebView
(
url
)
}
else
{
goWebView
(
config
.
baseUrl_api
+
url
)
}
}
}
function
goWebView
(
url
)
{
url
=
url
.
replace
(
"http://"
,
"https://"
)
uni
.
showLoading
({
title
:
'下载中'
});
uni
.
downloadFile
({
url
:
url
,
success
:
function
(
res
)
{
uni
.
hideLoading
();
var
filePath
=
res
.
tempFilePath
;
uni
.
showLoading
({
title
:
'正在打开'
});
uni
.
openDocument
({
filePath
:
filePath
,
showMenu
:
true
,
success
:
function
(
res
)
{
uni
.
hideLoading
();
},
fail
:
function
(
err
)
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
err
,
icon
:
'none'
,
duration
:
2000
});
}
});
},
fail
:
function
(
error
)
{
uni
.
hideLoading
();
uni
.
showToast
({
title
:
`下载失败`
,
icon
:
'none'
,
duration
:
2000
});
}
});
}
</
script
>
<
style
scoped
lang=
"scss"
>
.height1
{
height
:
1
rpx
}
.ylImage
{
width
:
300
rpx
;
height
:
200
rpx
;
display
:
block
;
box-shadow
:
0
0
10
rpx
#ddd
;
border-radius
:
8
rpx
;
}
.mainbox
{
margin
:
30
rpx
25
rpx
60
rpx
;
padding
:
1px
;
background
:
#FFFFFF
;
border-radius
:
15
rpx
;
:deep(.uni-list-item__content-title)
{
color
:
#4C5359
;
font-size
:
30
rpx
;
font-weight
:
300
;
}
:deep
(
.uni-list-item__extra-text
)
{
color
:
#000
;
font-size
:
30
rpx
;
}
}
.photobox
{
position
:
relative
;
margin
:
30
rpx
auto
;
.photo
{
width
:
210
rpx
;
height
:
280
rpx
;
background-color
:
#f4f4f4
;
display
:
block
;
margin
:
auto
;
}
}
.colorful
{
background-color
:
#007BDA
;
width
:
200
rpx
;
margin
:
auto
;
height
:
200
rpx
;
line-height
:
200
rpx
;
font-size
:
44
rpx
;
color
:
#fff
;
text-align
:
center
;
border-radius
:
50%
;
}
:deep
(
.uni-list-item__extra
)
{
width
:
60%
;
}
.photoBook
{
position
:
relative
;
border-radius
:
10
rpx
;
overflow
:
hidden
;
&::after{
content
:
''
;
position
:
absolute
;
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
background
:
linear-gradient
(
180deg
,
rgba
(
0
,
0
,
0
,
0
),
rgba
(
0
,
0
,
0
,
0.7
));
}
text
{
position
:
absolute
;
z-index
:
1
;
font-size
:
24
rpx
;
color
:
#fff
;
bottom
:
4
rpx
;
right
:
8
rpx
;}
}
</
style
>
\ No newline at end of file
group/list.vue
View file @
e17cf32
<
template
>
<view>
<z-paging
ref=
"paging"
v-model=
"infoList"
@
query=
"getQuery"
emptyViewImg=
"/static/nodata.png"
>
<view
:slot=
"top"
>
<uni-segmented-control
class=
"whitebg"
:current=
"current"
:values=
"navs"
@
clickItem=
"onClickItem"
styleType=
"text"
activeColor=
"#AD181F"
></uni-segmented-control>
<view
class=
"searchbar"
>
<uni-easyinput
placeholderStyle=
"font-size:30rpx"
:input-border=
"false"
prefixIcon=
"search"
v-model=
"query.name"
placeholder=
"搜索团队会员名称"
@
blur=
"getList"
@
clear=
"getList"
>
</uni-easyinput>
<view>
<z-paging
ref=
"paging"
v-model=
"infoList"
@
query=
"getQuery"
emptyViewImg=
"/static/nodata.png"
>
<view
:slot=
"top"
>
<uni-segmented-control
class=
"whitebg"
:current=
"current"
:values=
"navs"
@
clickItem=
"onClickItem"
styleType=
"text"
activeColor=
"#AD181F"
></uni-segmented-control>
<view
class=
"searchbar"
>
<uni-easyinput
placeholderStyle=
"font-size:30rpx"
:input-border=
"false"
prefixIcon=
"search"
v-model=
"query.name"
placeholder=
"搜索团队会员名称"
@
blur=
"getList"
@
clear=
"getList"
>
</uni-easyinput>
</view>
<view
class=
"vipData"
>
<view>
共计
<text>
{{
forms
?.
total
}}
</text></view>
<view>
有效会员
<text>
{{
forms
?.
effective
}}
</text></view>
<view>
过期会员
<text>
{{
forms
?.
expired
}}
</text></view>
<view>
即将过期会员
<text>
{{
forms
?.
soon
}}
</text></view>
</view>
</view>
<view
class=
"vipData"
>
<view>
共计
<text>
{{
forms
?.
total
}}
</text></view>
<view>
有效会员
<text>
{{
forms
?.
effective
}}
</text></view>
<view>
过期会员
<text>
{{
forms
?.
expired
}}
</text></view>
<view>
即将过期会员
<text>
{{
forms
?.
soon
}}
</text></view>
</view>
</view>
<view
class=
"indexboxre"
>
<view
class=
"userlist mt30"
>
<view
class=
"item"
v-for=
"n in infoList"
:key=
"n.memId"
>
<view
@
click=
"handleInfo(n)"
>
<view
class=
"name"
>
{{
n
.
name
}}
<!--
<text
v-if=
"n.memCode"
>
(
{{
n
.
memCode
}}
)
</text>
-->
<view
class=
"indexboxre"
>
<view
class=
"userlist mt30"
>
<view
class=
"item"
v-for=
"n in infoList"
:key=
"n.memId"
>
<view
@
click=
"godetail(n)"
>
<view
class=
"name"
>
{{
n
.
name
}}
<!--
<text
v-if=
"n.memCode"
>
(
{{
n
.
memCode
}}
)
</text>
-->
</view>
<view
class=
"date"
>
到期时间:
{{
n
.
validityDate
?.
slice
(
0
,
10
)
||
'--'
}}
</view>
</view>
<view
class=
"status"
style=
"top: 10rpx;"
@
click=
"handleInfo(n)"
>
<text
class=
"text-success"
v-if=
"n.valiStr=='正常'"
>
{{
n
.
valiStr
}}
</text>
<text
class=
"text-warning"
v-if=
"n.valiStr=='已过期'"
>
{{
n
.
valiStr
}}
</text>
<text
class=
"text-primary"
v-if=
"n.valiStr=='即将过期'"
>
{{
n
.
valiStr
}}
</text>
</view>
<view
class=
"status"
style=
"bottom: 20rpx;"
@
click=
"handleInfo(n)"
>
<text
class=
"text-success"
>
{{
n
.
validityMemberCount
}}
</text>
/
{{
n
.
allMemberCount
}}
</view>
<view
class=
"date"
>
到期时间:
{{
n
.
validityDate
?.
slice
(
0
,
10
)
||
'--'
}}
</view>
</view>
<view
class=
"status"
style=
"top: 10rpx;"
>
<text
class=
"text-success"
v-if=
"n.valiStr=='正常'"
>
{{
n
.
valiStr
}}
</text>
<text
class=
"text-warning"
v-if=
"n.valiStr=='已过期'"
>
{{
n
.
valiStr
}}
</text>
<text
class=
"text-primary"
v-if=
"n.valiStr=='即将过期'"
>
{{
n
.
valiStr
}}
</text>
</view>
<view
class=
"status"
style=
"bottom: 20rpx;"
>
<text
class=
"text-success"
>
{{
n
.
validityMemberCount
}}
</text>
/
{{
n
.
allMemberCount
}}
</view>
</view>
<view
class=
"nodata"
v-if=
"infoList.length==0"
>
<image
mode=
"aspectFit"
src=
"/static/nodata.png"
></image>
<text>
暂无数据
</text>
</view>
</view>
<view
class=
"nodata"
v-if=
"infoList.length==0"
>
<image
mode=
"aspectFit"
src=
"/static/nodata.png"
></image>
<text>
暂无数据
</text>
</view>
</view>
</z-paging>
</view>
</
template
>
...
...
@@ -57,16 +57,16 @@
proxy
}
=
getCurrentInstance
()
const
app
=
getApp
();
const
query
=
ref
({
pageNum
:
1
,
pageSize
:
8
,
const
query
=
ref
({
pageNum
:
1
,
pageSize
:
8
,
fromList
:
1
,
dType
:
4
,
dType
:
4
,
status
:
2
})
const
navs
=
ref
([
'道馆'
,
'三级协会'
,
'二级协会'
,
'一级协会'
])
const
list
=
ref
([])
const
paging
=
ref
(
null
)
const
list
=
ref
([])
const
paging
=
ref
(
null
)
const
forms
=
ref
({})
const
infoList
=
ref
([])
const
total
=
ref
(
0
)
...
...
@@ -92,39 +92,46 @@
title
:
'加载中'
})
console
.
log
(
current
.
value
,
currentTabName
.
value
,
query
.
value
.
dType
)
api
.
getGroupVipList
(
query
.
value
).
then
(
res
=>
{
query
.
value
.
pageNum
=
1
infoList
.
value
=
[]
if
(
paging
.
value
)
{
paging
.
value
.
clear
()
}
api
.
getGroupVipList
(
query
.
value
).
then
(
res
=>
{
// infoList.value = res.rows
paging
.
value
.
complete
(
res
.
rows
);
total
.
value
=
res
.
total
uni
.
hideLoading
()
})
}
function
getQuery
(
pageNum
,
pageSize
){
query
.
value
.
pageNum
=
pageNum
query
.
value
.
pageSize
=
pageSize
api
.
getGroupVipList
(
query
.
value
).
then
(
res
=>
{
// infoList.value = res.rows
paging
.
value
.
complete
(
res
.
rows
);
total
.
value
=
res
.
total
uni
.
hideLoading
()
})
function
getQuery
(
pageNum
,
pageSize
)
{
query
.
value
.
pageNum
=
pageNum
query
.
value
.
pageSize
=
pageSize
api
.
getGroupVipList
(
query
.
value
).
then
(
res
=>
{
// infoList.value = res.rows
paging
.
value
.
complete
(
res
.
rows
);
total
.
value
=
res
.
total
uni
.
hideLoading
()
})
}
function
getGroupInfo
()
{
uni
.
showLoading
({
title
:
'加载中'
function
getGroupInfo
()
{
uni
.
showLoading
({
title
:
'加载中'
})
api
.
getMemberCountInfo
({
dType
:
query
.
value
.
dType
,
fromList
:
1
}).
then
(
res
=>
{
forms
.
value
=
res
forms
.
value
=
res
uni
.
hideLoading
()
})
}
function
onClickItem
(
e
)
{
uni
.
showLoading
({
title
:
'加载中'
function
onClickItem
(
e
)
{
uni
.
showLoading
({
title
:
'加载中'
})
current
.
value
=
e
.
currentIndex
currentTabName
.
value
=
navs
.
value
[
e
.
currentIndex
]
...
...
@@ -141,7 +148,20 @@
getGroupInfo
()
}
function
godetail
(
n
)
{
const
form
=
encodeURIComponent
(
JSON
.
stringify
(
n
))
// uni.navigateTo({
// url: `/group/groupInfo?form=${form}`
// })
uni
.
navigateTo
({
url
:
`/group/groupInfo?memId=
${
n
.
memId
}
`
})
}
function
handleInfo
(
n
)
{
if
(
n
.
allMemberCount
==
0
)
{
return
}
uni
.
navigateTo
({
url
:
`/group/detail?deptId=
${
n
.
deptId
}
`
})
...
...
group/payDetail.vue
View file @
e17cf32
<
template
>
<view
class=
"hasfixedbottom"
>
<view
class=
"h3-padding"
>
成员信息
</view>
<view
class=
"wBox"
>
<view
class=
"wBox"
style=
"padding: 0;"
>
<view
class=
"userlist"
>
<view
class=
"item"
v-for=
"
n in list
"
>
<view
class=
"item"
v-for=
"
(n,index) in list"
:key=
"index"
@
click=
"goGroupInfo(n)
"
>
<view
style=
"width: 100%"
>
<view
class=
"status"
>
<view
v-if=
"n.status==0"
class=
"text-primary"
>
...
...
@@ -34,7 +34,7 @@
续费年限
<text>
{{
n
.
renewYear
}}
</text>
</view>
<view>
<view
:class=
"n.validityTime?'':'w50'"
>
总价
<text>
¥
{{
n
.
allPrice
}}
</text>
</view>
...
...
@@ -126,6 +126,11 @@
uni
.
hideLoading
()
feelList
.
value
=
res
.
data
})
}
function
goGroupInfo
(
row
){
uni
.
navigateTo
({
url
:
`/group/groupInfo?memId=
${
row
.
memId
}
`
})
}
</
script
>
...
...
@@ -156,7 +161,7 @@
position
:
relative
;
.date
{
margin
-top
:
10
rpx
;
margin
:
10
rpx
0
;
}
.name
{
...
...
level/applyDetail.vue
View file @
e17cf32
...
...
@@ -239,7 +239,7 @@
font-size
:
30
rpx
;
}
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
margin
:
0
0
10
rpx
;
.lab{
color
:
#999
;
display
:
inline-block
;
text-align
:
justify
;}
}
}
...
...
level/approval.vue
View file @
e17cf32
<
template
>
<view>
<view
class=
"text-center"
v-if=
"userType=='2'"
>
<view
class=
"text-center
whitebg
"
v-if=
"userType=='2'"
>
<view
class=
"cardNav"
>
<view
class=
"active"
>
会员审核
</view>
<view
@
click=
"goMerge"
>
审核合并
</view>
...
...
level/merge.vue
View file @
e17cf32
<
template
>
<view
class=
"hasfixedbottom"
>
<view
class=
"text-center"
>
<view
class=
"text-center
whitebg
"
>
<view
class=
"cardNav"
>
<view
@
click=
"goApproval"
>
会员审核
</view>
<view
class=
"active"
>
审核合并
</view>
...
...
level/mergeUp.vue
View file @
e17cf32
<
template
>
<view>
<view
class=
"text-center"
>
<view
class=
"text-center
whitebg
"
>
<view
class=
"cardNav"
>
<view
@
click=
"goApproval"
>
会员审核
</view>
<view
@
click=
"goMerge"
>
审核合并
</view>
...
...
level/mergeUpDetail.vue
View file @
e17cf32
...
...
@@ -80,8 +80,8 @@
let
rangeId
=
''
onLoad
((
option
)
=>
{
if
(
'form'
in
option
)
{
form
.
value
=
JSON
.
parse
(
option
.
form
)
//
console.log(111,form.value)
form
.
value
=
JSON
.
parse
(
decodeURIComponent
(
option
.
form
)
)
console
.
log
(
111
,
form
.
value
)
}
type
.
value
=
option
.
type
// console.log(222,form.value)
...
...
@@ -142,7 +142,7 @@ function goDetail(item){
font-size
:
30
rpx
;
}
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
margin
:
0
0
10
rpx
;
.lab{
color
:
#999
;
display
:
inline-block
;
text-align
:
justify
;
text{
word-break
:
break-all
;}
}
...
...
level/ztx/examList.vue
View file @
e17cf32
...
...
@@ -28,7 +28,7 @@
<view>
{{
item
.
totalNum
}}
/
<text
class=
"text-danger"
>
{{
item
.
pass
}}
</text></view>
</view>
</view>
<view
class=
"func"
v-if=
"item.
certStatus
!= '2'"
>
<view
class=
"func"
v-if=
"item.
isCert
!= '2'"
>
<button
@
click=
"send(item)"
>
一键生成
</button>
</view>
</view>
...
...
login/login.vue
View file @
e17cf32
This diff could not be displayed because it is too large.
manifest.json
View file @
e17cf32
...
...
@@ -38,7 +38,7 @@
"quickapp"
:
{},
/*
小程序特有相关
*/
"mp-weixin"
:
{
"appid"
:
"wx523ee37fff4fea9d"
,
"appid"
:
"wx523ee37fff4fea9d"
,
"setting"
:
{
"urlCheck"
:
false
,
"minified"
:
false
,
...
...
@@ -62,5 +62,7 @@
"uniStatistics"
:
{
"enable"
:
false
},
"vueVersion"
:
"3"
"vueVersion"
:
"3"
,
"fallbackLocale"
:
"zh-Hans"
,
"locale"
:
"zh-Hans"
}
...
...
pages.json
View file @
e17cf32
...
...
@@ -427,6 +427,14 @@
"navigationBarTitleText"
:
"新建团体信息变更"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"groupInfo"
,
"style"
:
{
"navigationBarTitleText"
:
"机构资料"
,
"enablePullDownRefresh"
:
false
}
}]
},{
"root"
:
"level"
,
...
...
@@ -529,9 +537,6 @@
"enablePullDownRefresh"
:
false
}
}]
},{
"root"
:
"training"
,
"pages"
:[]
}],
"preloadRule"
:
{
"pages/index/index"
:
{
...
...
pages/index/index.vue
View file @
e17cf32
...
...
@@ -4,11 +4,11 @@
<view
class=
"loginOutIcon"
@
click=
"loginOut"
>
<image
src=
"@/static/switch.png"
></image>
</view>
<view
class=
"welcome"
>
您好!
{{
memberInfo
.
name
}}
<view
class=
"welcome"
>
<text>
您好!
{{
memberInfo
.
name
}}
</text>
<br
/>
欢迎使用中跆协会员管理系统
</view>
<view
class=
"flexbox"
>
<view
class=
"flexbox"
style=
"margin: 25rpx 0 0;"
>
<!-- userType 1:中跆协 2:省 3:市区 4:道馆-->
<!-- 4 -->
<view
v-if=
"userType=='4'"
@
click=
"goPath('/personalVip/addVip')"
>
...
...
@@ -45,86 +45,194 @@
<view
v-if=
"userType=='4'"
class=
"girdBox"
>
<view
@
click=
"goPath('/personalVip/mobilize')"
>
<uni-badge
class=
"potag"
:text=
"numData.personTransferCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/1.png'"
/>
会员调动
</view>
<view
@
click=
"goPath('/level/apply')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/3.png'"
/>
级位考试申请
<uni-badge
class=
"potag"
:text=
"numData.jiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/3.png'"
/>
级位考试申请
</view>
<!--
<view
@
click=
"goPath('/personalVip/changeVip')"
>
<image
/>
数据变更
</view>
-->
</view>
<view
v-if=
"userType=='3'"
class=
"girdBox"
>
<view
@
click=
"goPath('/group/apply/applyList')"
>
<uni-badge
class=
"potag"
:text=
"numData.memberJiaofeiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/4.png'"
/>
团体会员审核
</view>
<view
@
click=
"goPath('/level/approval')"
>
<uni-badge
class=
"potag"
:text=
"numData.jiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/3.png'"
/>
级位考试审核
</view>
</view>
<view
v-if=
"userType=='2'"
class=
"girdBox"
>
<view
@
click=
"goPath('/personalVip/mobilize')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/2.png'"
/>
会员调动审核
</view>
<view
@
click=
"goPath('/personalVip/feeBill')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/6.png'"
/>
会员缴费单
</view>
<view
@
click=
"goPath('/personalVip/changeVip')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/25.png'"
/>
会员数据变更
</view>
<view
@
click=
"goPath('/personalVip/changeLevel')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/26.png'"
/>
级位数据变更
<view
v-if=
"userType=='2'"
class=
"girdFather"
>
<view
class=
"ttt"
>
个人会员
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/personalVip/mobilize')"
>
<uni-badge
class=
"potag"
:text=
"numData.personTransferCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/2.png'"
/>
会员调动
</view>
<view
@
click=
"goPath('/personalVip/feeBill')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/6.png'"
/>
会员缴费单
</view>
<view
@
click=
"goPath('/personalVip/changeVip')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/25.png'"
/>
会员变更
</view>
</view>
<view
@
click=
"goPath('/group/apply/applyList')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/4.png'"
/>
团体会员审核
<view
class=
"ttt"
>
团体会员
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/group/pay')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/9.png'"
/>
会员认证
</view>
<view
@
click=
"goPath('/group/apply/applyList')"
>
<uni-badge
class=
"potag"
:text=
"numData.memberJiaofeiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/4.png'"
/>
会员审核
</view>
<view
@
click=
"goPath('/group/changeGroupInfo')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/27.png'"
/>
信息变更
</view>
<view
@
click=
"goPath('/group/feeBill')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/17.png'"
/>
会员缴费单
</view>
</view>
<view
@
click=
"goPath('/group/pay')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/9.png'"
/>
团体会员认证
<view
class=
"ttt"
>
级位管理
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/level/approval')"
>
<uni-badge
class=
"potag"
:text=
"numData.jiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/3.png'"
/>
考试审核
</view>
<view
@
click=
"goPath('/pages/exam/payment?type=1')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/10.png'"
/>
考试缴费单
</view>
<view
@
click=
"goPath('/personalVip/changeLevel')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/26.png'"
/>
级位变更
</view>
</view>
<view
@
click=
"goPath('/group/changeGroupInfo')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/27.png'"
/>
团体信息变更
<view
class=
"ttt"
>
段位管理
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/pages/rank/apply?type=2')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/11.png'"
/>
考试申请
</view>
<view
@
click=
"goPath('/pages/exam/payment?type=2')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/13.png'"
/>
缴费单
</view>
<view
@
click=
"goPath('/pages/exam/score?type=2')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/12.png'"
/>
成绩录入
</view>
</view>
<view
class=
"ttt"
>
越段考试
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/pages/rank/apply?type=3')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/14.png'"
/>
考试申请
</view>
<view
@
click=
"goPath('/pages/exam/payment?type=3')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/16.png'"
/>
缴费单
</view>
<view
@
click=
"goPath('/pages/exam/score?type=3')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/15.png'"
/>
成绩录入
</view>
<view
@
click=
"goPath('/pages/index/more?userType=2')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/m.png'"
/>
更多
</view>
</view>
<view
v-if=
"userType=='1'"
class=
"girdBox"
>
<view
@
click=
"goPath('/personalVip/mobilize')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/8.png'"
/>
会员调动审核
</view>
<view
@
click=
"goPath('/personalVip/changeVipAudit')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/25.png'"
/>
会员变更审核
</view>
<view
@
click=
"goPath('/group/apply/applyList')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/4.png'"
/>
团体会员审核
</view>
<view
@
click=
"goPath('/group/changeGroupAudit')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/27.png'"
/>
团体变更审核
<view
v-if=
"userType=='1'"
class=
"girdFather"
>
<view
class=
"ttt"
>
个人会员
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/personalVip/mobilize')"
>
<uni-badge
class=
"potag"
:text=
"numData.personTransferCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/8.png'"
/>
会员调动
</view>
<view
@
click=
"goPath('/personalVip/changeVipAudit')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/25.png'"
/>
会员变更审核
</view>
<!--
<view
@
click=
"goPath(`/pages/index/more?userType=1`)"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/m.png'"
/>
更多
</view>
-->
</view>
<view
@
click=
"goPath('/level/ztx/approval')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/2.png'"
/>
级位考试审核
<view
class=
"ttt"
>
团体会员
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/group/apply/applyList')"
>
<uni-badge
class=
"potag"
:text=
"numData.memberJiaofeiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/4.png'"
/>
会员审核
</view>
<view
@
click=
"goPath('/group/changeGroupAudit')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/27.png'"
/>
团体变更审核
</view>
</view>
<view
@
click=
"goPath('/level/ztx/cert?type=1')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/18.png'"
/>
级位证书发布
<view
class=
"ttt"
>
级位管理
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/level/ztx/approval')"
>
<uni-badge
class=
"potag"
:text=
"numData.jiCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/2.png'"
/>
考试审核
</view>
<view
@
click=
"goPath('/level/ztx/cert?type=1')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/18.png'"
/>
证书发布
</view>
<view
@
click=
"goPath('/personalVip/changeLevelAudit')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/26.png'"
/>
级位变更审核
</view>
</view>
<view
@
click=
"goPath('/personalVip/changeLevelAudit')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/26.png'"
/>
级位变更审核
<view
class=
"ttt"
>
段位管理
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/pages/rank/approval?type=2')"
>
<uni-badge
class=
"potag"
:text=
"numData.duanCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/19.png'"
/>
段位考试审核
</view>
<view
@
click=
"goPath('/pages/rank/scoreApproval?type=2')"
>
<uni-badge
class=
"potag"
:text=
"numData.duanCjCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/19.png'"
/>
考段成绩审核
</view>
<view
@
click=
"goPath('/level/ztx/cert?type=2')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/20.png'"
/>
考段证书发布
</view>
</view>
<view
@
click=
"goPath(`/pages/index/more?userType=1`)"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/m.png'"
/>
更多
<view
class=
"ttt"
>
越段考试
</view>
<view
class=
"girdBox"
>
<view
@
click=
"goPath('/pages/rank/approval?type=3')"
>
<uni-badge
class=
"potag"
:text=
"numData.yueduanCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/21.png'"
/>
越段考试审核
</view>
<view
@
click=
"goPath('/pages/rank/scoreApproval?type=3')"
>
<uni-badge
class=
"potag"
:text=
"numData.yueduanCjCount"
/>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/22.png'"
/>
越段成绩审核
</view>
<view
@
click=
"goPath('/level/ztx/cert?type=3')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/23.png'"
/>
越段证书发布
</view>
</view>
</view>
<uni-section
title=
"待办提醒"
padding
>
<template
v-slot:right
>
<text
@
click=
"goPath('/pages/index/msgList')"
class=
"more"
>
更多>
</text>
...
...
@@ -169,6 +277,7 @@
let
proId
;
const
svId
=
ref
(
null
);
const
numData
=
ref
({});
const
messageList
=
ref
([])
onShow
(()
=>
{
...
...
@@ -185,7 +294,11 @@
proId
=
decodeURIComponent
(
option
.
scene
);
}
else
{
proId
=
option
.
proId
;
}
}
uni
.
showShareMenu
({
withShareTicket
:
true
,
menus
:
[
'shareAppMessage'
,
'shareTimeline'
]
});
});
function
loginOut
()
{
...
...
@@ -251,7 +364,9 @@
uni
.
hideLoading
();
})
api
.
getRemindCount
().
then
(
res
=>
{
numData
.
value
=
res
.
data
})
}
function
getMes
()
{
...
...
@@ -342,8 +457,12 @@
.welcome
{
padding
:
30
rpx
55
rpx
;
line-height
:
55
rpx
;
font-size
:
36
rpx
;
line-height
:
48
rpx
;
font-size
:
30
rpx
;
text
{
font-size
:
28
rpx
;
}
}
.flexbox
{
...
...
@@ -407,4 +526,30 @@
:deep
(
.uni-section
.uni-section-header
)
{
padding
:
0
30
rpx
;
}
.potag
{
position
:
absolute
;
right
:
60
rpx
;
top
:
0
;
}
.girdFather
{
background
:
#fff
;
position
:
relative
;
top
:
-15
rpx
;
padding
:
1
rpx
0
0
;
border-radius
:
20
rpx
20
rpx
0
rpx
0
rpx
;
box-sizing
:
border-box
;
.girdBox
{
top
:
0
;
padding
:
0
0
15
rpx
;
border-bottom
:
20
rpx
solid
#ecf0f6
}
.ttt
{
margin
:
30
rpx
0
20
rpx
;
padding
:
0
20
rpx
0
;
}
}
</
style
>
\ No newline at end of file
...
...
pages/rank/applyDetail.vue
View file @
e17cf32
...
...
@@ -204,7 +204,7 @@ function getTablePersonInfo() {
font-size
:
30
rpx
;
}
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
margin
:
0
0
10
rpx
;
.lab{
color
:
#999
;
display
:
inline-block
;
text-align
:
justify
;}
}
}
...
...
personalVip/addVip.vue
View file @
e17cf32
...
...
@@ -13,9 +13,9 @@
v-model=
"baseFormData.name"
placeholder=
"请输入姓名"
/>
</uni-forms-item>
<uni-forms-item
label=
"证件类型"
required
name=
"idcType"
>
<uni-data-select
v-model=
"baseFormData.idcType"
:clearable=
"false"
:disabled=
"current === 0"
:localdata=
"idcTypeList"
></uni-data-select>
<uni-data-select
v-model=
"baseFormData.idcType"
@
change=
"changeIdcType"
:clearable=
"false"
:disabled=
"current === 0"
:localdata=
"idcTypeList"
></uni-data-select>
</uni-forms-item>
<uni-forms-item
label=
"证件照"
required
name=
"
picUrl
"
v-show=
"current === 1"
>
<uni-forms-item
label=
"证件照"
required
name=
"
card
"
v-show=
"current === 1"
>
<view
class=
"upCard"
>
<uni-file-picker
:class=
"baseFormData.card?'':'op0'"
v-model=
"baseFormData.cardObj"
@
delete=
"delimgFont"
return-type=
"object"
limit=
"1"
@
select=
"upIdCardImgFront"
...
...
@@ -52,7 +52,7 @@
:placeholderStyle=
"placeholderStyle"
v-model=
"baseFormData.address"
placeholder=
"请输入详细地址"
/></uni-forms-item>
<uni-forms-item
label=
"头像"
required
name=
"photo"
>
<uni-forms-item
label=
"头像"
required
>
<uni-file-picker
v-model=
"photoArr"
@
delete=
"delPhoto"
return-type=
"object"
limit=
"1"
@
select=
"upPhoto"
:del-ico=
"false"
:image-styles=
"imageStylesTx"
></uni-file-picker>
</uni-forms-item>
...
...
@@ -131,7 +131,7 @@
const
infoConfirm
=
ref
(
null
)
const
agree
=
ref
(
false
)
const
perId
=
ref
()
const
photoArr
=
ref
(
[]
)
const
photoArr
=
ref
(
{}
)
const
regionsList
=
ref
([])
const
baseFormData
=
ref
({
photo
:
''
,
...
...
@@ -201,6 +201,13 @@
if
(
current
.
value
!=
e
.
currentIndex
)
{
current
.
value
=
e
.
currentIndex
}
baseFormData
.
value
=
{
photo
:
''
,
sex
:
'0'
,
idcType
:
'0'
,
perType
:
'1'
}
photoArr
.
value
=
{}
if
(
current
.
value
==
0
){
baseFormData
.
value
.
idcType
=
'0'
}
...
...
@@ -222,8 +229,17 @@
baseFormData
.
value
.
birth
=
res
.
data
.
birth
baseFormData
.
value
.
idcCode
=
res
.
data
.
code
baseFormData
.
value
.
cityId
=
res
.
data
.
cityId
baseFormData
.
value
.
address
=
res
.
data
.
address
baseFormData
.
value
.
photo
=
res
.
data
.
photo
baseFormData
.
value
.
address
=
res
.
data
.
address
photoArr
.
value
=
{}
if
(
res
.
data
.
photo
){
baseFormData
.
value
.
photo
=
res
.
data
.
photo
let
obj
=
{
url
:
config
.
baseUrl_api
+
res
.
data
.
photo
,
name
:
'头像'
,
extname
:
'jpg'
}
photoArr
.
value
=
obj
}
baseFormData
.
value
.
name
=
res
.
data
.
name
baseFormData
.
value
.
picUUid
=
res
.
data
.
picUUid
})
...
...
@@ -232,10 +248,26 @@
// });
}
function
upPhoto
(
e
)
{
api
.
uploadImg
(
e
).
then
(
data
=>
{
baseFormData
.
value
.
photo
=
data
.
msg
;
});
function
upPhoto
(
e
)
{
const
tempFilePaths
=
e
.
tempFilePaths
;
const
imgUrl
=
tempFilePaths
[
0
]
wx
.
cropImage
({
src
:
imgUrl
,
cropScale
:
'4:5'
,
success
:
function
(
resp
)
{
uni
.
showLoading
({
title
:
'加载中'
});
api
.
uploadImg
(
e
).
then
(
data
=>
{
baseFormData
.
value
.
photo
=
data
.
msg
;
});
},
fail
:
function
(
err
)
{
photoArr
.
value
=
{}
}
})
}
function
delimgFont
(
n
)
{
...
...
@@ -243,7 +275,7 @@
}
function
delPhoto
(
n
)
{
photoArr
.
value
=
[]
;
photoArr
.
value
=
{}
;
baseFormData
.
value
.
photo
=
''
;
}
...
...
@@ -293,7 +325,7 @@
baseFormData
.
value
.
phone
=
res
.
data
.
phone
baseFormData
.
value
.
cityId
=
res
.
data
.
cityId
baseFormData
.
value
.
address
=
res
.
data
.
address
photoArr
.
value
=
[]
photoArr
.
value
=
{}
if
(
res
.
data
.
photo
){
baseFormData
.
value
.
photo
=
res
.
data
.
photo
let
obj
=
{
...
...
@@ -301,10 +333,11 @@
name
:
'头像'
,
extname
:
'jpg'
}
photoArr
.
value
.
push
(
obj
)
photoArr
.
value
=
obj
}
baseFormData
.
value
.
name
=
res
.
data
.
name
baseFormData
.
value
.
perId
=
res
.
data
.
perId
console
.
log
(
res
.
data
.
photo
,
baseFormData
.
value
.
photo
)
})
}
...
...
@@ -336,7 +369,16 @@
agree
.
value
=
true
popup
.
value
.
close
()
}
function
changeIdcType
(
e
){
console
.
log
(
e
)
// 切换证件照类型把当前页面数据清空
// baseFormData.value = {
// photo: '',
// sex: '0',
// idcType: '0',
// perType: '1',
// }
}
function
goSubmit
()
{
if
(
!
agree
.
value
)
{
uni
.
showToast
({
...
...
@@ -395,8 +437,11 @@
}
if
(
res
.
data
*
1
<
0
)
{
// 会员调入弹出
perId
.
value
=
res
.
data
.
slice
(
1
)
getUserInfo
()
uni
.
showModal
({
content
:
'该会员已存在其他道馆,如需添加,请发起会员调动'
,
title
:
'提示'
,
success
:
function
(
res
)
{}
})
return
}
let
msg
=
'保存成功'
...
...
@@ -423,8 +468,8 @@
function
getUserInfo
()
{
api
.
getInfo
(
perId
.
value
).
then
(
res
=>
{
forms
.
value
=
res
.
data
if
(
forms
.
areaAssName
)
forms
.
ancestorNameList
=
forms
.
value
.
ancestorNameList
.
join
(
','
).
replaceAll
(
','
,
baseFormData
.
value
=
res
.
data
if
(
baseFormData
.
areaAssName
)
baseFormData
.
ancestorNameList
=
baseFormData
.
value
.
ancestorNameList
.
join
(
','
).
replaceAll
(
','
,
'/'
)
})
}
...
...
personalVip/detail.vue
View file @
e17cf32
<
template
>
<view
class=
"mainbox"
>
<view
class=
"photobox"
>
<image
class=
"photo"
v-if=
"form.photo"
:src=
"form.photo"
mode=
'widthFix'
></image>
<view
class=
"colorful"
v-else
>
{{
form
.
name
?.
slice
(
0
,
1
)
}}
</view>
<view
class=
"mainbox"
>
<view
class=
"topBg"
>
<view
class=
"photobox"
>
<image
class=
"photo"
v-if=
"form.photo"
:src=
"form.photo"
mode=
'aspectFit'
></image>
<view
class=
"colorful"
v-else
>
{{
form
.
name
?.
slice
(
0
,
1
)
}}
</view>
</view>
<view
class=
"infoBox"
>
<view
class=
"name"
>
{{
form
.
name
}}
</view>
<view
class=
"flexbox"
>
<label>
证件号:
</label>
<text>
{{
form
.
idcCode
}}
</text>
</view>
<view
class=
"flexbox"
>
<label>
会员编号:
</label>
<text>
{{
form
.
perCode
}}
</text>
</view>
<view
class=
"flexbox"
>
<label>
有效期:
</label>
<text>
{{
form
.
idcType
==
3
?
'--'
:
form
.
validityDate
?.
slice
(
0
,
10
)
||
'--'
}}
</text>
</view>
</view>
</view>
<uni-list>
<uni-list-item
title=
"姓名"
:rightText=
"form.name"
/>
<uni-list-item
title=
"证件类型"
:rightText=
"cardType?.[form?.idcType]?.label"
/>
<uni-list-item
title=
"证件号"
:rightText=
"form.idcCode"
/>
<uni-list-item
title=
"性别"
:rightText=
"form.sex==0?'男':'女'"
/>
<uni-list-item
title=
"会员编号"
:rightText=
"form.perCode"
/>
<uni-list-item
title=
"所属一级协会"
:rightText=
"form.topAssName"
/>
<uni-list-item
title=
"所属地区协会"
:rightText=
"form.areaAssName"
/>
<uni-list-item
title=
"注册团体会员"
:rightText=
"form.memName"
/>
<uni-list-item
title=
"缴费日期"
:rightText=
"form.payDate||'--'"
/>
<uni-list-item
title=
"出生日期"
:rightText=
"form.birth?.slice(0,10)"
/>
<uni-list-item
title=
"手机号码"
:rightText=
"form.phone"
/>
<uni-list-item
title=
"所在地区"
:rightText=
"form.cityStr"
/>
<uni-list-item
title=
"详细地址"
:rightText=
"form.address||'--'"
/>
<uni-list-item
title=
"姓名"
:rightText=
"form.name"
/>
<uni-list-item
title=
"证件类型"
:rightText=
"cardType?.[form?.idcType]?.label"
/>
<uni-list-item
title=
"证件号"
:rightText=
"form.idcCode"
/>
<uni-list-item
title=
"性别"
:rightText=
"form.sex==0?'男':'女'"
/>
<uni-list-item
title=
"会员编号"
:rightText=
"form.perCode"
/>
<uni-list-item
title=
"所属一级协会"
:rightText=
"form.topAssName"
/>
<uni-list-item
title=
"所属地区协会"
:rightText=
"form.areaAssName"
/>
<uni-list-item
title=
"注册团体会员"
:rightText=
"form.memName"
/>
<uni-list-item
title=
"缴费日期"
:rightText=
"form.payDate||'--'"
/>
<uni-list-item
title=
"出生日期"
:rightText=
"form.birth?.slice(0,10)"
/>
<uni-list-item
title=
"手机号码"
:rightText=
"form.phone"
/>
<uni-list-item
title=
"所在地区"
:rightText=
"form.cityStr"
/>
<uni-list-item
title=
"详细地址"
:rightText=
"form.address||'--'"
/>
</uni-list>
</view>
</view>
<view
class=
"height1"
></view>
</
template
>
<
script
setup
>
import
*
as
api
from
'@/common/api.js'
import
config
from
'@/config.js'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
;
import
{
ref
}
from
'vue'
const
cardType
=
ref
([
{
label
:
'身份证'
,
value
:
'0'
},
{
label
:
'港澳台通行证 '
,
value
:
'1'
},
{
label
:
'中国护照'
,
value
:
'2'
},
{
label
:
'外国护照'
,
value
:
'3'
},
{
label
:
'其它'
,
value
:
'4'
}
<
script
setup
>
import
*
as
api
from
'@/common/api.js'
import
config
from
'@/config.js'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
;
import
{
ref
}
from
'vue'
const
cardType
=
ref
([{
label
:
'身份证'
,
value
:
'0'
},
{
label
:
'港澳台通行证 '
,
value
:
'1'
},
{
label
:
'中国护照'
,
value
:
'2'
},
{
label
:
'外国护照'
,
value
:
'3'
},
{
label
:
'其它'
,
value
:
'4'
}
])
const
form
=
ref
({})
onLoad
((
option
)
=>
{
console
.
log
(
option
)
api
.
getInfo
(
option
.
perId
).
then
(
res
=>
{
form
.
value
=
res
.
data
form
.
value
.
topAssName
=
form
.
value
?.
ancestorNameList
?.[
0
]
form
.
value
.
areaAssName
=
form
.
value
?.
ancestorNameList
?.[
1
]
form
.
value
.
memName
=
res
.
data
.
memName
if
(
form
.
value
.
cityId
){
getRegionsList
(
form
.
value
.
cityId
)
}
if
(
form
.
value
.
photo
&&
form
.
value
.
photo
.
indexOf
(
'http'
)
==-
1
){
form
.
value
.
photo
=
config
.
baseUrl_api
+
form
.
value
.
photo
}
})
})
function
getRegionsList
(
cityId
){
api
.
regionsList
().
then
(
res
=>
{
for
(
var
m
of
res
.
data
){
for
(
var
n
of
m
.
children
){
for
(
var
o
of
n
.
children
){
if
(
o
.
value
==
cityId
){
form
.
value
.
cityStr
=
m
.
text
+
n
.
text
+
o
.
text
}
}
}
}
})
const
form
=
ref
({})
onLoad
((
option
)
=>
{
console
.
log
(
option
)
api
.
getInfo
(
option
.
perId
).
then
(
res
=>
{
form
.
value
=
res
.
data
form
.
value
.
topAssName
=
form
.
value
?.
ancestorNameList
?.[
0
]
form
.
value
.
areaAssName
=
form
.
value
?.
ancestorNameList
?.[
1
]
form
.
value
.
memName
=
res
.
data
.
memName
if
(
form
.
value
.
cityId
)
{
getRegionsList
(
form
.
value
.
cityId
)
}
if
(
form
.
value
.
photo
&&
form
.
value
.
photo
.
indexOf
(
'http'
)
==
-
1
)
{
form
.
value
.
photo
=
config
.
baseUrl_api
+
form
.
value
.
photo
}
})
})
function
getRegionsList
(
cityId
)
{
api
.
regionsList
().
then
(
res
=>
{
for
(
var
m
of
res
.
data
)
{
for
(
var
n
of
m
.
children
)
{
for
(
var
o
of
n
.
children
)
{
if
(
o
.
value
==
cityId
)
{
form
.
value
.
cityStr
=
m
.
text
+
n
.
text
+
o
.
text
}
}
}
}
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
.height1
{
height
:
1
rpx
}
.mainbox
{
margin
:
30
rpx
25
rpx
60
rpx
;
padding
:
1px
;
background
:
#FFFFFF
;
border-radius
:
15
rpx
;
:deep(.uni-list-item__content-title){
color
:
#4C5359
;
font-size
:
30
rpx
;
font-weight
:
300
;}
:deep
(
.uni-list-item__extra-text
)
{
color
:
#000
;
font-size
:
30
rpx
;}
}
.photobox
{
position
:
relative
;
margin
:
30
rpx
auto
;
.photo{
width
:
210
rpx
;
height
:
280
rpx
;
background-color
:
#f4f4f4
;
display
:
block
;
margin
:
auto
;}
}
.colorful
{
background-color
:
#007BDA
;
.flexbox
{
width
:
60%
;
margin
:
10
rpx
auto
;
font-size
:
28
rpx
;
align-items
:
center
;
label{
color
:
#7b7f83
;
width
:
5em
;
font-size
:
24
rpx
;}
}
.topBg
{
background
:
#f5f5f5
;}
.infoBox
{
padding
:
1
rpx
1
rpx
30
rpx
;
.name{
font-size
:
34
rpx
;
text-align
:
center
;}
}
.photobox
{
position
:
relative
;
padding
:
30
rpx
0
30
rpx
;
.photo
{
width
:
255
rpx
;
height
:
318
rpx
;
background-color
:
#f4f4f4
;
display
:
block
;
margin
:
auto
;
}
}
.height1
{
height
:
1
rpx
}
.mainbox
{
margin
:
30
rpx
25
rpx
60
rpx
;
box-shadow
:
0
0
8
rpx
#ddd
;
background
:
#FFFFFF
;
border-radius
:
15
rpx
;
:deep(.uni-list-item__content-title)
{
color
:
#4C5359
;
font-size
:
30
rpx
;
font-weight
:
300
;
}
:deep
(
.uni-list-item__extra-text
)
{
color
:
#000
;
font-size
:
30
rpx
;
}
}
.colorful
{
background-color
:
#007BDA
;
width
:
200
rpx
;
margin
:
auto
;
height
:
200
rpx
;
...
...
personalVip/feeBillDetail.vue
View file @
e17cf32
...
...
@@ -13,7 +13,7 @@
</view>
<!-- 成员 -->
<view
class=
"userlist"
>
<view
class=
"item"
v-for=
"n in list"
>
<view
class=
"item"
v-for=
"n in list"
:key=
"n.memId"
@
click=
"goPersonInfo(n)"
>
<view
class=
"photobox"
>
<view
class=
"colorful"
>
{{
n
.
personName
?.
slice
(
0
,
1
)
}}
</view>
</view>
...
...
@@ -22,7 +22,7 @@
<view
class=
"date"
>
原有效期至
{{
n
.
originValidityDate
?.
slice
(
0
,
10
)
||
'--'
}}
</view>
</view>
<view
class=
"nian"
>
总价
¥
{{
n
.
allPrice
}}
¥
{{
n
.
allPrice
}}
</view>
</view>
</view>
...
...
@@ -74,6 +74,11 @@
// arr.value = JSON.parse(JSON.stringify(list.value))
form
.
value
=
res
.
data
})
}
function
goPersonInfo
(
n
){
uni
.
navigateTo
({
url
:
`/personalVip/detail?perId=
${
n
.
perId
}
`
})
}
</
script
>
...
...
@@ -100,7 +105,7 @@
.item
{
border-bottom
:
1px
dashed
#e5e5e5
;
position
:
relative
;
padding
:
20
rpx
0
;
.photobox{
margin-right
:
20
rpx
;}
.date
{
margin-top
:
10
rpx
;
}
...
...
personalVip/list.vue
View file @
e17cf32
...
...
@@ -6,52 +6,62 @@
v-model=
"query.name"
@
blur=
"getList"
@
clear=
"getList"
placeholder=
"搜索姓名"
>
</uni-easyinput>
</view>
<uni-swipe-action>
<uni-swipe-action-item
class=
"personitem"
v-for=
"(n,index) in list"
:key=
"index"
>
<view
class=
"content-box"
@
click=
"handleInfo(n)"
>
<view
class=
"flexbox"
>
<view
class=
"photobox"
>
<image
class=
"photo"
v-if=
"n.photo"
:src=
"n.photo"
mode=
'aspectFill'
></image>
<view
class=
"colorful"
v-else
>
{{
n
.
name
.
slice
(
0
,
1
)
}}
</view>
</view>
<view>
{{
n
.
name
}}
(
{{
n
.
perCode
}}
)
</view>
</view>
<view
class=
"flexbox"
>
<text
v-if=
"n.certStage==0"
class=
"text-primary"
>
新会员
</text>
<text
v-if=
"n.certStage==1"
class=
"text-warning"
>
待提交
</text>
<text
v-if=
"n.certStage==2"
class=
"text-red"
>
缴费中
</text>
<text
v-if=
"n.certStage==3"
class=
"text-success"
>
正常
</text>
<text
v-if=
"n.certStage==4"
class=
"text-gray"
>
过期
</text>
</view>
</view>
<template
v-slot:right
>
<view
class=
"slot-button"
>
<!--
<view
class=
"edit-button"
@
click=
"handleUpdate(n)"
>
<uni-icons
type=
"compose"
color=
"#fff"
size=
"20"
></uni-icons>
<text
class=
"slot-button-text"
>
编辑
</text>
</view>
-->
<view
class=
"danger-button"
v-if=
"n.certStage==0"
@
click=
"handleDelete(n)"
>
<uni-icons
type=
"trash"
color=
"#fff"
size=
"20"
></uni-icons>
<text
class=
"slot-button-text"
>
删除
</text>
</view>
</view>
</
template
>
</uni-swipe-action-item>
</uni-swipe-action>
</view>
<view
class=
"pdbox"
>
<view
class=
"personitem"
v-for=
"(n,index) in list"
:key=
"index"
>
<uni-swipe-action>
<uni-swipe-action-item>
<view
class=
"content-box"
@
click=
"handleInfo(n)"
>
<view
class=
"flexbox"
style=
"flex: 1 1 auto;"
>
<view
class=
"photobox"
>
<image
class=
"photo"
v-if=
"n.photo"
:src=
"n.photo"
mode=
'aspectFill'
></image>
<view
class=
"colorful"
v-else
>
{{
n
.
name
.
slice
(
0
,
1
)
}}
</view>
</view>
<view>
{{
n
.
name
}}
<text
class=
"date"
>
(
{{
n
.
perCode
}}
)
</text>
</view>
</view>
<view
class=
"flexbox"
style=
"flex:0 0 auto"
>
<text
v-if=
"n.certStage==0"
class=
"text-primary"
>
新会员
</text>
<text
v-if=
"n.certStage==1"
class=
"text-warning"
>
待提交
</text>
<text
v-if=
"n.certStage==2"
class=
"text-red"
>
缴费中
</text>
<text
v-if=
"n.certStage==3"
class=
"text-success"
>
正常
</text>
<text
v-if=
"n.certStage==4"
class=
"text-gray"
>
过期
</text>
</view>
</view>
<template
v-slot:right
>
<view
class=
"slot-button"
>
<!--
<view
class=
"edit-button"
@
click=
"handleUpdate(n)"
>
<uni-icons
type=
"compose"
color=
"#fff"
size=
"20"
></uni-icons>
<text
class=
"slot-button-text"
>
编辑
</text>
</view>
-->
<view
class=
"danger-button"
v-if=
"n.certStage==0"
@
click=
"handleDelete(n)"
>
<uni-icons
type=
"trash"
color=
"#fff"
size=
"20"
></uni-icons>
<text
class=
"slot-button-text"
>
删除
</text>
</view>
<view
class=
"danger-button"
v-else
@
click=
"handleDelete(n)"
style=
"opacity: 0.5;"
>
<uni-icons
type=
"trash"
color=
"#fff"
size=
"20"
></uni-icons>
<text
class=
"slot-button-text"
>
删除
</text>
</view>
</view>
</
template
>
</uni-swipe-action-item>
</uni-swipe-action>
</view>
</view>
</z-paging>
<view
class=
"nodata"
v-if=
"list.length==0"
>
<!-- <image mode="aspectFit" src="/static/nodata.png"></image> -->
...
...
@@ -131,7 +141,10 @@
})
}
function
handleDelete
(
item
)
{
function
handleDelete
(
item
)
{
if
(
item
.
certStage
!=
0
){
return
}
uni
.
showModal
({
content
:
`是否确认删除
${
item
.
name
}
`
,
success
:
function
(
res
)
{
...
...
@@ -168,7 +181,8 @@
}
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.personitem
{
margin
:
0
0
30
rpx
;}
.searchbar
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -196,6 +210,9 @@
}
.content-box
{
background
:
#fff
;
}
background
:
#fff
;
.photobox{
margin-right
:
20
rpx
;
}
}
.pdbox
{
padding
:
0
20
rpx
;}
</
style
>
\ No newline at end of file
...
...
personalVip/mobilize.vue
View file @
e17cf32
...
...
@@ -12,7 +12,7 @@
</view>
<view
class=
"appList"
>
<view
class=
"appItem"
v-for=
"
item in list
"
>
<view
class=
"appItem"
v-for=
"
(item,index) in list"
:key=
"index
"
>
<view
class=
"status"
@
click=
"goDetail(item)"
>
<view
v-if=
"deptType == 1"
>
<text
v-if=
"item.ztxRes == 0"
>
审核中
</text>
...
...
@@ -102,9 +102,6 @@
const
total
=
ref
(
0
)
const
deptType
=
ref
(
''
)
onLoad
(()
=>
{
})
onShow
(()
=>
{
if
(
app
.
globalData
.
isLogin
)
{
init
()
}
else
{
...
...
@@ -114,6 +111,9 @@
};
}
})
onShow
(()
=>
{
getList
()
})
function
init
()
{
uni
.
showLoading
({
...
...
@@ -158,7 +158,10 @@
getList
()
}
function
getList
()
{
function
getList
()
{
uni
.
showLoading
({
title
:
'加载中'
})
api
.
getMobilizelist
(
queryParams
.
value
).
then
(
res
=>
{
uni
.
hideLoading
()
list
.
value
=
res
.
rows
...
...
personalVip/mobilizeDetail.vue
View file @
e17cf32
...
...
@@ -5,7 +5,7 @@
<!-- 成员 -->
<view
class=
"userlist"
>
<view
class=
"item"
v-for=
"n in list"
>
<view
class=
"item"
v-for=
"n in list"
:key=
"n.id"
@
click=
"goPersonDetail(n)"
>
<view
class=
"photobox"
>
<view
class=
"colorful"
>
{{
n
.
perName
?.
slice
(
0
,
1
)
}}
</view>
</view>
...
...
@@ -21,7 +21,7 @@
<view
class=
"h3-padding"
>
审核流程
</view>
<view
class=
"wBox"
>
<view
class=
"stepItem"
v-for=
"(n,index) in auditLog"
>
<view
class=
"stepItem"
v-for=
"(n,index) in auditLog"
:key=
"index"
>
<view
class=
"time"
>
{{
n
.
auditTime
||
'待审批'
}}
</view>
<view
class=
"content"
>
<view
class=
"status"
>
...
...
@@ -157,6 +157,11 @@
})
uni
.
navigateBack
()
})
}
function
goPersonDetail
(
row
){
uni
.
navigateTo
({
url
:
`/personalVip/detail?perId=
${
row
.
perId
}
`
})
}
</
script
>
...
...
personalVip/sheng/mergeUpDetail.vue
View file @
e17cf32
...
...
@@ -141,7 +141,7 @@ function goDetail(item){
font-size
:
30
rpx
;
}
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
margin
:
0
0
10
rpx
;
.lab{
color
:
#999
;
display
:
inline-block
;
text-align
:
justify
;
text{
word-break
:
break-all
;}
}
...
...
uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue
View file @
e17cf32
...
...
@@ -88,7 +88,7 @@
</
script
>
<
style
lang=
"scss"
scoped
>
.segmented-control
{
.segmented-control
{
background
:
#fff
;
/* #ifndef APP-NVUE */
display
:
flex
;
box-sizing
:
border-box
;
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment