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
8a216ef1
authored
2026-04-23 17:56:54 +0800
by
lttnew
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
道馆页面
1 parent
55b06f5f
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
311 additions
and
48 deletions
.claude/settings.local.json
common/login.js
common/mystyle.scss
level/ztx/costSettlementConfirm.vue
login/login.vue
login/loginC.vue
pages/index/home.vue
pages/index/perfect.vue
personal/home.vue
personal/memberAuditRecord.vue
.claude/settings.local.json
View file @
8a216ef
...
...
@@ -3,7 +3,9 @@
"allow"
:
[
"Bash(ls D:/ltt/ztx_wx_gzt/views/*/index.vue)"
,
"WebFetch(domain:minimax-algeng-chat-tts.oss-cn-wulanchabu.aliyuncs.com)"
,
"Bash(node -c pages/index/perfect.vue)"
"Bash(node -c pages/index/perfect.vue)"
,
"Bash(git checkout:*)"
,
"Bash(git restore:*)"
]
}
}
...
...
common/login.js
View file @
8a216ef
...
...
@@ -114,20 +114,16 @@ function getInfo() {
app
.
globalData
.
deptType
=
user
.
dept
.
deptType
app
.
globalData
.
genFlag
=
user
.
dept
.
genFlag
app
.
globalData
.
changePassFlag
=
user
.
changePassFlag
switch
(
user
.
dept
.
deptType
)
{
case
'1'
:
// 中跆协
// deptType: 1=中跆协, 2/3=省, 6=道馆, 其他=市区
const
deptType
=
user
.
dept
.
deptType
if
(
deptType
==
'1'
||
deptType
==
1
)
{
app
.
globalData
.
userType
=
'1'
break
case
'2'
:
// 省
case
'3'
:
}
else
if
(
deptType
==
'2'
||
deptType
==
'3'
||
deptType
==
2
||
deptType
==
3
)
{
app
.
globalData
.
userType
=
'2'
break
case
'6'
:
// 道馆
}
else
if
(
deptType
==
'6'
||
deptType
==
6
)
{
app
.
globalData
.
userType
=
'4'
break
default
:
// 市、区
}
else
{
app
.
globalData
.
userType
=
'3'
break
}
})
}
...
...
common/mystyle.scss
View file @
8a216ef
...
...
@@ -25,6 +25,7 @@ page {
.w100
{
width
:
100%
!
important
;}
.mt0
{
margin-top
:
0
!
important
;}
.mt10
{
margin-top
:
10rpx
!
important
;}
.ml10
{
margin-left
:
10rpx
!
important
;}
.mt20
{
margin-top
:
20px
!
important
;}
.must
{
color
:
#AD181F
;
font-size
:
24rpx
;}
.vipData
.w50
{
width
:
45%
;}
...
...
level/ztx/costSettlementConfirm.vue
View file @
8a216ef
...
...
@@ -11,7 +11,7 @@
<view
class=
"stat-value"
>
{{
form
.
allFee
||
'0.00'
}}
<text
class=
"stat-unit"
>
元
</text></view>
</view>
<view
class=
"stat-card"
>
<view
class=
"stat-label"
>
结算
费用
</view>
<view
class=
"stat-label"
>
服务
费用
</view>
<view
class=
"stat-value text-red"
>
{{
form
.
fee
||
'0.00'
}}
<text
class=
"stat-unit"
>
元
</text></view>
</view>
</view>
...
...
login/login.vue
View file @
8a216ef
<
template
>
<view
class=
"role-entry-page"
>
<!-- 全屏背景图 -->
<image
:src=
"config.loginImage_api + '/fs/static/
bg
.png'"
class=
"page-bg"
mode=
"aspectFill"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/
dg/bg@3x
.png'"
class=
"page-bg"
mode=
"aspectFill"
></image>
<!-- 顶部 Logo 区域 -->
<view
class=
"header-wrapper"
>
<view
class=
"logo-box"
>
<image
:src=
"config.loginImage_api + '/fs/static/
wx_logo.pn
g'"
class=
"logo"
mode=
"aspectFit"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/
dg/ztx_b.sv
g'"
class=
"logo"
mode=
"aspectFit"
></image>
</view>
</view>
<!-- 功能按钮区域 -->
<view
class=
"btn-container"
>
<view
@
click=
"goToPage('/personal/addVip_per')"
>
<image
:src=
"config.loginImage_api + '/fs/static/
btn01
.png'"
class=
"btn-item"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/
dg/btn01@3x
.png'"
class=
"btn-item"
></image>
</view>
<view
@
click=
"goToPage('/personal/home')"
>
<image
:src=
"config.loginImage_api + '/fs/static/btn02
.png'"
class=
"btn-item"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/dg/btn02@3x
.png'"
class=
"btn-item"
></image>
</view>
<view
@
click=
"goToPage('/login/loginC')"
>
<image
:src=
"config.loginImage_api + '/fs/static/btn03
.png'"
class=
"btn-item"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/dg/btn03@3x
.png'"
class=
"btn-item"
></image>
</view>
</view>
...
...
@@ -61,18 +61,22 @@ const goToPage = (url) => {
.header-wrapper
{
text-align
:
center
;
padding
:
40
rpx
0
;
//
padding
:
40
rpx
0
;
border-radius
:
16
rpx
;
margin-
bottom
:
4
0
rpx
;
margin-
top
:
10
0
rpx
;
}
.btn-container
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
0
40
rpx
;
flex-direction
:
column
;
align-items
:
center
;
margin
:
0
auto
;
img,
image
{
width
:
90px
;
width
:
509
rpx
;
height
:
117
rpx
;
margin
:
40
rpx
0
;
}
}
...
...
login/loginC.vue
View file @
8a216ef
...
...
@@ -92,12 +92,12 @@
<view
class=
"popup-content"
>
<view
class=
"popup-text"
>
尊敬的用户,您好!
</view>
<view
class=
"popup-text"
>
在开始注册团体会员前,请您提前准备好以下材料,以便顺利完成申请:
</view>
<view
class=
"popup-item"
>
1.
单位营业执照
</view>
<view
class=
"popup-item"
>
<text
class=
"popup-num ml10"
>
1.
</text>
单位营业执照
</view>
<view
class=
"popup-desc"
>
请提供清晰的营业执照原件照片或扫描件(加盖公章更佳)
</view>
<view
class=
"popup-item"
>
2.
法人身份证正反面照片
</view>
<view
class=
"popup-item"
>
<text
class=
"popup-tip"
>
!
</text><text
class=
"popup-num"
>
2.
</text>
法人身份证正反面照片
</view>
<view
class=
"popup-desc"
>
请分别上传身份证正面及反面清晰照片
</view>
<view
class=
"popup-desc"
>
确保信息完整、无遮挡、无模糊
</view>
<view
class=
"popup-item"
>
3.
机构照片
</view>
<view
class=
"popup-item"
>
<text
class=
"popup-num ml10"
>
3.
</text>
机构照片
</view>
<view
class=
"popup-desc"
>
请提供体现单位实际经营或办公环境的照片1-2张
</view>
<view
class=
"popup-desc"
>
如门头、办公场所、活动场地等(能展示机构真实存在即可)
</view>
</view>
...
...
@@ -609,6 +609,13 @@ function call(num) {
margin-bottom
:
10
rpx
;
}
.popup-tip
{
color
:
#C4121B
;
font-weight
:
bold
;
font-size
:
32
rpx
;
width
:
6
rpx
;
}
.popup-desc
{
font-size
:
24
rpx
;
color
:
#888
;
...
...
pages/index/home.vue
View file @
8a216ef
<
template
>
<view
v-if=
"isInit"
class=
"page"
>
<!-- ==================== 道馆用户显示 ==================== -->
<view
v-if=
"isDaoGuan"
class=
"dao-guan-page"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/home_bg.png'"
class=
"bg-image"
mode=
"aspectFill"
></image>
<view
class=
"header-bg"
>
<view
class=
"loginOutIcon2"
@
click=
"goPath('/myCenter/index')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon01@3x.png'"
class=
"switch-icon"
></image>
</view>
<view
class=
"welcome1"
@
click=
"goPath('/myCenter/index')"
>
<view
class=
"flex f-a-c"
>
<!--
<view>
-->
<text
class=
"title-border"
></text>
<text
class=
"section-title"
>
单位会员
</text>
<!--
</view>
-->
<!--
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon013@x.png'"
class=
"switch-icon"
></image>
-->
</view>
<view
class=
"sub-title"
>
<view
class=
"mt10"
>
会员名称
会员所属道馆
</view>
<view
class=
"mt10"
>
欢迎使用中跆协会员管理系统!
</view>
</view>
</view>
<view
class=
"unit-member-box"
>
<view
class=
"unit-btn"
@
click=
"goPath('/myCenter/auth')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon02@3x.png'"
class=
"btn-icon"
></image><text>
基本信息
</text>
</view>
<view
class=
"unit-btn"
@
click=
"goPath('/personalVip/payment')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon03@3x.png'"
class=
"btn-icon"
></image><text>
认证缴费
</text>
</view>
<view
class=
"unit-btn"
@
click=
"goPath('/myCenter/reviewList')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon04@3x.png'"
class=
"btn-icon"
></image><text>
认证详情
</text>
</view>
<view
class=
"unit-btn "
@
click=
"goPath('/myCenter/examPointApplyList')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon05@3x.png'"
class=
"btn-icon"
></image><text>
考点申请
</text>
</view>
<!--
<view
class=
"unit-btn mt-20"
@
click=
"goPath('/myCenter/examPointApplyList')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon06@3x.png'"
class=
"btn-icon"
></image><text>
考点详情
</text>
</view>
-->
<!--
<view
class=
"unit-btn unit-btn-right"
@
click=
"switchAccount"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon01@3x.png'"
class=
"btn-icon"
></image><text>
切换账号
</text>
</view>
-->
</view>
</view>
<view
class=
"section personal-section"
>
<view
class=
"flex f-a-c"
><text
class=
"title-border"
></text>
<text
class=
"section-title"
>
个人会员
</text></view>
<view
class=
"personal-member-box"
>
<view
class=
"personal-btn"
@
click=
"goPath('/personalVip/addVip')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/home_btn01@3x.png'"
class=
"circle-icon"
></image><text>
添加会员
</text>
</view>
<view
class=
"personal-btn"
@
click=
"goPath('/personalVip/payment')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/home_btn02@3x.png'"
class=
"circle-icon"
></image><text>
会员缴费
</text>
</view>
<view
class=
"personal-btn"
@
click=
"goPath('/personalVip/list')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/home_btn03@3x.png'"
class=
"circle-icon"
></image><text>
会员查询
</text>
</view>
<view
class=
"personal-btn"
@
click=
"goPath('/personalVip/mobilize')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/btn04@3x.png'"
class=
"circle-icon"
></image><text>
会员调动
</text>
</view>
</view>
</view>
<view
class=
"section level-section"
>
<view
class=
"flex f-a-c"
><text
class=
"title-border"
></text>
<text
class=
"section-title"
>
级位管理
</text></view>
<view
class=
"level-list"
>
<view
class=
"level-item"
@
click=
"goPath('/level/apply')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon07@3x.png'"
class=
"level-icon"
></image><text>
级位考试
</text><view
class=
"arrow"
></view>
</view>
<view
class=
"level-item"
@
click=
"goPath('/personalVip/changeLevel')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon08@3x.png'"
class=
"level-icon"
></image><text>
级位变更
</text><view
class=
"arrow"
></view>
</view>
<view
class=
"level-item"
@
click=
"goPath('/pages/index/msgList')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon09@3x.png'"
class=
"level-icon"
></image><text>
通知公告
</text><view
class=
"arrow"
></view>
</view>
<view
class=
"level-item"
@
click=
"goPath('/myCenter/order?type=2')"
>
<image
:src=
"config.loginImage_api + '/fs/static/dg/icon10@3x.png'"
class=
"level-icon"
></image><text>
我的订单
</text><view
class=
"arrow"
></view>
</view>
</view>
</view>
</view>
<!-- ==================== 非道馆用户显示原有内容 ==================== -->
<view
v-else
>
<view
class=
"bgbg"
>
<view
class=
"loginOutIcon"
@
click=
"loginOut"
>
<image
:src=
"config.baseUrl_api + '/fs/static/switch.png'"
></image>
...
...
@@ -407,6 +488,7 @@
</view>
</uni-section>
</view>
</view>
</template>
<
script
setup
>
...
...
@@ -423,6 +505,7 @@ import {imag1, imag2, imag3, imag4, imag5, imag6} from '@/pages/index/image'
import
{
ref
,
computed
,
getCurrentInstance
}
from
'vue'
;
...
...
@@ -438,6 +521,11 @@ let proId;
const
svId
=
ref
(
null
);
const
numData
=
ref
({});
// 是否是道馆用户
const
isDaoGuan
=
computed
(()
=>
{
return
userType
.
value
==
'4'
||
app
.
globalData
.
deptType
==
'6'
})
const
messageList
=
ref
([])
const
newsList
=
ref
([])
const
isInit
=
ref
(
false
)
...
...
@@ -490,6 +578,21 @@ onLoad(option => {
});
// 切换账号
function
switchAccount
()
{
uni
.
showModal
({
title
:
'提示'
,
content
:
'确定要切换账号吗?'
,
success
:
function
(
res
)
{
if
(
res
.
confirm
)
{
uni
.
reLaunch
({
url
:
'/login/login'
});
}
}
})
}
function
loginOut
()
{
uni
.
showModal
({
content
:
`确认退出吗?`
,
...
...
@@ -654,7 +757,9 @@ function goNewsDetail(n) {
:deep
(
.uni-section
)
{
background-color
:
transparent
!important
;
}
.mt-20
{
margin-top
:
-20
rpx
;
}
.page
{
width
:
100vw
;
overflow
:
hidden
;
...
...
@@ -672,13 +777,11 @@ function goNewsDetail(n) {
}
.welcome
{
padding
:
30
rpx
55
rpx
;
padding
:
30
rpx
;
line-height
:
48
rpx
;
font-size
:
30
rpx
;
font-size
:
32
rpx
;
text
{
font-size
:
28
rpx
;
}
}
.flexbox
{
...
...
@@ -768,5 +871,153 @@ function goNewsDetail(n) {
padding
:
0
20
rpx
0
;
}
}
/* ==================== 道馆用户样式 ==================== */
.dao-guan-page
{
min-height
:
100vh
;
position
:
relative
;
}
.bg-image
{
position
:
fixed
;
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
-1
;
}
.title-border
{
width
:
10
rpx
;
height
:
34
rpx
;
background
:
#FFDEE0
;
border-radius
:
5
rpx
;
margin-right
:
16
rpx
;
margin-top
:
6
rpx
;
}
.header-bg
{
width
:
100%
;
padding
:
60
rpx
40
rpx
40
rpx
;
color
:
#fff
;
position
:
relative
;
box-sizing
:
border-box
;
.loginOutIcon2
{
position
:
absolute
;
top
:
150
rpx
;
right
:
40
rpx
;
z-index
:
10
;
.switch-icon
{
width
:
50
rpx
;
height
:
50
rpx
;
}
}
.welcome1
{
margin-top
:
40
rpx
;
.sub-title
{
font-size
:
30
rpx
;
line-height
:
48
rpx
;
}
}
.unit-member-box
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
center
;
gap
:
24
rpx
;
margin-top
:
40
rpx
;
.unit-btn
{
width
:
150
rpx
;
height
:
130
rpx
;
background-color
:
#fff
;
border-radius
:
20
rpx
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
color
:
#1A1A1A
;
font-size
:
28
rpx
;
.btn-icon
{
width
:
50
rpx
;
height
:
50
rpx
;
margin-bottom
:
8
rpx
;
}
}
}
}
.section
{
padding
:
40
rpx
;
}
.section-title
{
font-size
:
32
rpx
;
font-weight
:
bold
;
color
:
#fff
;
margin-bottom
:
20
rpx
;
}
.personal-section
{
.personal-member-box
{
display
:
flex
;
justify-content
:
space-around
;
.personal-btn
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
color
:
#fff
;
font-size
:
28
rpx
;
.circle-icon
{
width
:
100
rpx
;
height
:
100
rpx
;
margin-bottom
:
12
rpx
;
}
}
}
}
.level-section
{
.level-list
{
display
:
flex
;
flex-direction
:
column
;
gap
:
20
rpx
;
.level-item
{
height
:
90
rpx
;
border-radius
:
45
rpx
;
display
:
flex
;
align-items
:
center
;
padding
:
0
30
rpx
;
color
:
#fff
;
font-size
:
28
rpx
;
border
:
1
rpx
solid
#fff
;
.level-icon
{
width
:
50
rpx
;
height
:
50
rpx
;
margin-right
:
20
rpx
;
}
.arrow
{
margin-left
:
auto
;
width
:
16
rpx
;
height
:
16
rpx
;
border-top
:
2
rpx
solid
#fff
;
border-right
:
2
rpx
solid
#fff
;
transform
:
rotate
(
45deg
);
}
}
}
}
</
style
>
...
...
pages/index/perfect.vue
View file @
8a216ef
...
...
@@ -17,7 +17,7 @@
<view
class=
"step-text"
>
审核详情
</view>
</view>
</view>
<view
class=
"tips-box"
>
<
!--
<
view
class=
"tips-box"
>
<view
class=
"tips-title"
>
注意
</view>
<view
class=
"tips-content"
>
<view
class=
"tips-line"
>
尊敬的用户,您好!
</view>
...
...
@@ -31,7 +31,7 @@
<view
class=
"tips-desc"
>
请提供体现单位实际经营或办公环境的照片1-2张
</view>
<view
class=
"tips-desc"
>
如门头、办公场所、活动场地等(能展示机构真实存在即可)
</view>
</view>
</view>
</view>
-->
<view
class=
"page-content"
style=
"padding: 0rpx 30rpx 30rpx;"
>
<!-- 步骤1:完善信息 -->
...
...
@@ -467,8 +467,8 @@
// 审核状态样式
function
getAuditStatusClass
(
status
)
{
if
(
status
==
=
1
)
return
'status-pass'
if
(
status
==
=
2
)
return
'status-reject'
if
(
status
==
1
)
return
'status-pass'
if
(
status
==
2
)
return
'status-reject'
return
'status-pending'
}
...
...
personal/home.vue
View file @
8a216ef
...
...
@@ -263,15 +263,17 @@ const showConfirm = ref(false)
}
})
watch
(()
=>
perInfo
.
value
?.
perCode
,
(
val
)
=>
{
if
(
val
===
undefined
||
val
===
null
||
val
===
''
)
{
// 标记是否已经弹出过绑定框(避免重复弹出)
let
hasOpenedBindPopup
=
false
watch
(()
=>
perInfo
.
value
,
(
newVal
,
oldVal
)
=>
{
console
.
log
(
444
,
newVal
?.
perCode
)
// 只有当 perInfo 数据存在且 perCode 为空时才弹出
if
(
newVal
&&
!
newVal
.
perCode
&&
!
hasOpenedBindPopup
)
{
hasOpenedBindPopup
=
true
nextTick
(()
=>
{
// 延迟检查,确保数据已完全同步
setTimeout
(()
=>
{
if
(
!
isBound
.
value
)
{
openBindPopup
()
}
},
500
)
})
}
},
{
...
...
@@ -623,19 +625,22 @@ const showConfirm = ref(false)
.card-btns
{
position
:
absolute
;
right
:
30
rpx
;
bottom
:
73
rpx
;
bottom
:
80
rpx
;
z-index
:
10
;
display
:
flex
;
gap
:
16
rpx
;
}
.card-btn
{
//
background
:
rgba
(
255
,
255
,
255
,
0.9
);
background
:
rgba
(
255
,
255
,
255
,
0.9
);
border-radius
:
30
rpx
;
padding
:
12
rpx
20
rpx
;
padding
:
0
rpx
20
rpx
;
padding-bottom
:
5
rpx
;
}
.card-btn
text
{
height
:
24
rpx
;
line-height
:
24
rpx
;
font-size
:
24
rpx
;
color
:
#C40F18
;
}
...
...
personal/memberAuditRecord.vue
View file @
8a216ef
...
...
@@ -261,9 +261,6 @@ function previewImage(url) {
margin-bottom
:
20
rpx
;
}
.list-item.success-row
{
border-left
:
6
rpx
solid
#19be6b
;
}
.item-header
{
display
:
flex
;
...
...
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