79cf495e by 杨炀

add:团队注册页面

1 parent 7300500e
......@@ -5,7 +5,7 @@
"style": {
"navigationBarTitleText": "工作台",
"backgroundColor": "#ffffff",
"navigationStyle": "default",
"navigationStyle": "custom",
"navigationBarTextStyle": "black",
"navigationBarBackgroundColor": "#ffffff"
}
......@@ -247,7 +247,12 @@
"navigationBarTitleText": "登录",
"enablePullDownRefresh": false
}
}, {
"path": "pages/index/register",
"style": {
"navigationBarTitleText": "注册",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
......
<template>
<view class="page">
<view>
<view>您好!<br />欢迎使用中跆协会员管理系统</view>
<view class="welcome">您好!<br />欢迎使用中跆协会员管理系统</view>
<view class="flexbox">
<view>添加会员</view>
<view>会员缴费</view>
......@@ -22,13 +22,13 @@
</uni-grid-item>
</uni-grid>
</uni-section>
<uni-section title="办提醒" padding>
<uni-section title="办提醒" padding>
<template v-slot:right>
更多
<text @click="goMsgList" class="more">更多></text>
</template>
<view class="msglist">
<view class="msgitem" v-for="n in 4">
<text class="dot"></text>
<text class="dot" :class="n.isRead?'done':''"></text>
<view class="tt esp">你有一条会员缴费等待审批,点击前去处理!</view>
<view class="date">2023-09-23</view>
</view>
......@@ -113,10 +113,6 @@
if (app.globalData.isLogin) {
init();
} else {
let path = '/pages/index/login';
uni.navigateTo({
url: path
});
app.firstLoadCallback = () => {
init();
......@@ -131,72 +127,14 @@
}
});
onReady(() => {
proxy._mapContext = uni.createMapContext("map", this)
})
let currUser
function checkUserPhone(path) {
currUser = uni.getStorageSync('currUser')
if (!currUser) {
loginServer.pcLogin().then(() => {
currUser = uni.getStorageSync('currUser')
if (currUser.phonenumber) {
debugger
return true
} else {
popYanZheng.value.open()
goPath = path
return false;
}
});
} else {
if (currUser.phonenumber) {
return true
} else {
popYanZheng.value.open()
goPath = path
return false;
}
}
}
function decryptPhoneNumber(res) {
// console.log(res)
loading.value = true
if (res.detail.errMsg.indexOf('ok') > -1) {
getWxUserPhone(res.detail).then((data) => {
console.log(data)
popYanZheng.value.close()
uni.redirectTo({
url: goPath
})
}).finally(() => {
loading.value = false
});
} else {
loading.value = false
}
}
function clickImg() {
uni.previewImage({
urls: venue.value.venuePicArr,
// current: 0,
success: function(res) {
console.log('success', res)
},
fail: function(res) {
console.log('fail', res)
},
complete: function(res) {
console.log('complete', res)
}
})
function gologin(){
let path = '/pages/index/login';
uni.navigateTo({
url: path
});
}
function goCenter() {
let path = '/pages/usercenter/usercenter';
if (checkUserPhone(path)) {
......@@ -206,31 +144,12 @@
}
}
function popupClose() {
popup.value.close();
function init() {
}
function init() {
venue.value = app.globalData.venue
latitude.value = app.globalData.venue.latitude
longitude.value = app.globalData.venue.longitude
// 修改页头标题
uni.setNavigationBarTitle({
title: venue.value.venueName
});
}
function open() {
popup.value.open();
}
function makeCall() {
uni.makePhoneCall({
phoneNumber: venue.value.venueTelno
});
}
function closeMaptypeList() {
this.showH5maptype = false;
function goMsgList(){
}
function goItem(item) {
......@@ -250,7 +169,10 @@
}
</script>
<style scope lang="scss">
<style scope lang="scss">
.welcome{padding: 55rpx;
line-height: 55rpx;
font-size: 36rpx;}
.flexbox {
display: flex;
justify-content: space-around;
......@@ -289,5 +211,27 @@
position: absolute;
top: 5px;
right: 15px;
}
:deep(.uni-section){
background-color: transparent;
}
:deep(.uni-section .uni-section-header__content){font-size: 36rpx;color: #29343C;}
.more{color: #929AA0;font-size: 24rpx;}
.msglist{
.msgitem{background: #FFFFFF;border-radius: 10rpx;margin-bottom: 25rpx;padding: 30rpx 20rpx 30rpx 50rpx;
position: relative;
.dot{width: 12rpx;display: block;position: absolute;left: 20rpx;top: 40rpx;
height: 12rpx;
background: #C40F18;
border-radius: 50%;}
.dot.done{
background: #C7C7CD;}
.tt{
font-size: 28rpx;
color: #29343C;}
.date{
color: #929AA0;
font-size: 24rpx;}
}
}
</style>
\ No newline at end of file
......
......@@ -59,7 +59,7 @@
<button @click="login" class="btn-red">登录</button>
</view>
<view class="center-item">
<text class="text-red">没有账号,去注册</text>
<text class="text-red" @click="goRegister">没有账号,去注册</text>
</view>
</view>
......@@ -95,6 +95,12 @@
url: path
});
}
function goRegister(){
let path = '/pages/index/register';
uni.navigateTo({
url: path
});
}
</script>
<style scoped lang="scss">
......
<template>
<view>
<view class="page-bg">
<image class="ren1" src="@/static/login/ren1.png"/>
<!-- 登录 -->
<view class="retop">
<image class="logotop" src="@/static/login/logo@2x.png"></image>
<view class="loginbox">
<view class="formbox">
<view class="nav active">团体会员注册</view>
<form>
<view class="round-input-item">
<image class="icon" src="@/static/login/tag01@2x.png"></image>
<input placeholder="请输入手机号"/>
</view>
<view class="round-input-item">
<image class="icon" src="@/static/login/tag02@2x.png"></image>
<input placeholder="密码"/>
</view>
<view class="round-input-item">
<image class="icon" src="@/static/login/tag02@2x.png"></image>
<input placeholder="确认密码"/>
</view>
<view class="round-input-item">
<image class="icon" src="@/static/login/tag02@2x.png"></image>
<input placeholder="图形验证码"/>
<image/>
</view>
<view class="round-input-item">
<image class="icon" src="@/static/login/tag04@2x.png"></image>
<input placeholder="短信验证码"/>
<text>获取验证码</text>
</view>
</form>
<view class="center-item">
<button @click="login" class="btn-red">注册会员</button>
</view>
<view class="center-item" @click="goLogin">
<text class="text-red">已有账号,去登录</text>
</view>
</view>
</view>
</view>
<image class="ren2" src="@/static/login/ren2.png"/>
<view class="fixedagree">
<image @click="changeAgree(agree)" v-if="agree" src="@/static/login/xz_dwn@2x.png"></image>
<image v-else src="@/static/login/xz2@2x.png"></image>
<view>登录即代表您同意<text>《用户协议》</text><text>《隐私策略》</text></view>
</view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue'
const agree = ref(false)
function changeAgree(item){
item = !item
}
function login(){
let path = '/pages/index/index';
uni.navigateTo({
url: path
});
}
function goLogin(){
let path = '/pages/index/login';
uni.navigateTo({
url: path
});
}
</script>
<style scoped lang="scss">
.logotop{width: 510rpx;height: 215rpx;margin:5vh auto 40rpx;display: block;}
.ren1{width: 300rpx;height: 560rpx;position: absolute;right: 0;top: 0;}
.ren2{width: 456rpx;height:600rpx;position: relative;top: 20rpx;}
.retop{position: relative;z-index: 1;}
.page-bg{background: url('@/static/login/bg.png') no-repeat center;
background-size: cover;
height: 100vh;overflow: hidden;position: relative;
}
.loginbox{
.loginNav{width: 700rpx;margin:0 auto -53rpx;height: 133rpx;overflow: hidden;position: relative;
view{text-align: center;height: 133rpx;box-sizing: border-box;padding: 26rpx 0 0;}
.n1{background: url('@/static/login/tab1.png') no-repeat top left;background-size:contain;opacity: 0.7;
width: 407rpx;position: absolute;left: 0;}
.n2{background: url('@/static/login/tab2.png') no-repeat top right;background-size:contain;opacity: 0.7;
width: 399rpx;position: absolute;right: 0;}
.active{color: #AD181F;opacity: 1;
&::after{content: '';position: absolute;width: 25rpx;height: 4rpx;background: #AD181F;border-radius: 2rpx;
left: 0;right: 0;margin: auto;bottom: 50rpx;
}
}
}
}
.formbox{background: #fff;width: 700rpx;padding: 50rpx;margin: auto;border-radius: 20rpx;}
.flex-item{display: flex;justify-content: space-between;margin:30rpx 0;
font-size: 28rpx;
image{width: 30rpx;height: 30rpx;margin-right:16rpx;}
}
.member{color: #4C5359;display: flex;align-items: center;}
.center-item{text-align: center;margin: 30rpx 0 0;font-size: 30rpx;
.btn-red{border-radius: 40rpx;width: 600rpx;line-height: 80rpx;font-size: 36rpx;}
}
.btn-red{background: #AD181F;color: #fff;}
.text-red{color: #AD181F;}
.round-input-item{overflow: hidden;background: RGBA(247, 247, 248, 1);border-radius: 40rpx;
padding: 0 0 0 30rpx;
height: 80rpx;margin-bottom: 30rpx;display: flex;align-items: center;
image{width: 180rpx;height: 80rpx;
&.icon{width: 30rpx;height: 30rpx;margin-right:16rpx;}
}
input{border-left: 1rpx solid RGBA(214, 216, 219, 1);padding: 0 0 0 20rpx;font-size: 30rpx;
}
input::-webkit-input-placeholder{color:RGBA(158, 166, 174, 1);font-size: 30rpx;}
input::placeholder{color:RGBA(158, 166, 174, 1);font-size: 30rpx;}
input::-moz-placeholder{color:RGBA(158, 166, 174, 1);font-size: 30rpx;}
text{font-size: 28rpx;color: #014A9F;}
}
.fixedagree{position: fixed;bottom: 5vh;color: rgba(255, 255, 255, 0.7);display: flex;
font-size: 24rpx;width: 100vw;justify-content: center;
image{width: 40rpx;height: 40rpx;margin-right: 20rpx;}
}
</style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!