unknown
6 months ago
34 changed files with 541 additions and 522 deletions
-
36common/css/app.scss
-
9config/api.js
-
3config/request.js
-
2config/site.config.js
-
8manifest.json
-
3pages/indexEntry/settlement/detail/detail.vue
-
236pages/indexEntry/settlement/settlement.vue
-
263pages/login/login - 副本.vue
-
27pages/login/login.vue
-
1pages/recordEntry/operate/mySchedule/comp/pickDateTimer/pickDateTimer.vue
-
1pages/recordEntry/operate/mySchedule/mySchedule.vue
-
3pages/recordEntry/operate/todayStudent/todayStudent.vue
-
4pages/recordEntry/student/addStudent/addStudent.vue
-
4pages/recordEntry/student/addStudent/searchStudent.vue
-
3pages/recordEntry/student/studentDetail/studentDetail.vue
-
20pages/tabbar/mine/index.vue
-
111pages/tabbar/operateTrain/index.vue
-
58pages/tabbar/statistics/comp/operateCoach.vue
-
20pages/tabbar/statistics/comp/stage.vue
-
104pages/tabbar/statistics/index.vue
-
4pages/tabbar/student/index.vue
-
3pages/userCenter/forgetPwd/forgetPwd.vue
-
3pages/userCenter/myCar/myCar.vue
-
3pages/userCenter/myCar/notBound/notBound.vue
-
32pages/userCenter/personaInfo/personaInfo.vue
-
3pages/userCenter/refund/refund.vue
-
14pages/userCenter/scanCode/scanCode.vue
-
23pages/userCenter/scanCode/scanCodeSchool.vue
-
4pages/userCenter/schoolCoach/coachComment/coachComment.vue
-
3pages/userCenter/schoolCoach/schoolCoach.vue
-
3pages/userCenter/schoolSite/schoolSite.vue
-
3pages/userCenter/settled/settled.vue
-
27pages/userCenter/studentComment/studentComment.vue
-
2store/modules/user.js
@ -1,263 +0,0 @@ |
|||
<template> |
|||
<view class="main"> |
|||
<view class="u-back-top"> |
|||
<view class="backBox"> |
|||
<u-icon name="arrow-left" color="#333" size="28"></u-icon> |
|||
</view> |
|||
</view> |
|||
<view class="title"> |
|||
<image :src="imgUrl" mode=""></image> |
|||
</view> |
|||
<view class="form"> |
|||
<view class="form-item" @click="tenantClick"> |
|||
<mySelect :value="FormData.tenantName" placeholder="请选择服务地区"/> |
|||
</view> |
|||
<view class="form-item"> |
|||
<view class="inputBox my"> |
|||
<u--input placeholder="请输入登录账号" border="none" clearable v-model="FormData.username"></u--input> |
|||
</view> |
|||
</view> |
|||
<view class="form-item"> |
|||
<view class="inputBox my"> |
|||
<u--input placeholder="请输入密码" border="none" clearable style="height: 100%;" :clearable="false" v-model="FormData.password"></u--input> |
|||
</view> |
|||
</view> |
|||
<view class="forgetTps"> <text @click="$u.toast('请联系管理员重置密码!')">忘记密码</text></view> |
|||
<view class="loginBtn" :class="{active: btnHighlight}" @click="submitFn">登 录</view> |
|||
<!-- <view class="radioWrap"> |
|||
<u-checkbox-group > |
|||
<u-checkbox v-model="isCheck" shape="circle" label="已阅读并同意" :labelSize="12" ></u-checkbox> |
|||
</u-checkbox-group> |
|||
<view class="privacyText"> |
|||
<text>《用户协议》</text>和 <text>《隐私协议》</text> |
|||
</view> |
|||
</view> --> |
|||
</view> |
|||
<u-picker :show="show" :columns="columnsArea" keyName="name" @confirm="confirmArea" @cancel="show=false" @close="show=false"></u-picker> |
|||
<u-action-sheet :actions="list" :title="title" :show="showRole" @select="selectClick" ></u-action-sheet> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { loginPwd, tenantPage } from '@/config/api.js' |
|||
import { imgUrl } from '@/config/site.config.js' |
|||
export default { |
|||
data() { |
|||
return { |
|||
isCheck: false, |
|||
codeText: '获取验证码', |
|||
FormData: { |
|||
username: '', |
|||
password: '', |
|||
tenantName: '' |
|||
}, |
|||
imgUrl: imgUrl+'loginTitle.png', |
|||
codeOn: false, |
|||
show: false, |
|||
columnsArea: [], |
|||
list: [], |
|||
title: '请选择您要登录的角色', |
|||
showRole: false, |
|||
roleObj: {} |
|||
} |
|||
}, |
|||
onLoad() { |
|||
this.tenantPageFn() |
|||
this.roleObj = this.$store.state.user.vuex_role |
|||
}, |
|||
onPullDownRefresh() { |
|||
this.tenantPageFn() |
|||
}, |
|||
computed: { |
|||
|
|||
btnHighlight() { |
|||
let { FormData } = this |
|||
return FormData.username.length>3&&FormData.password.length>3&&FormData.tenantName |
|||
} |
|||
}, |
|||
methods: { |
|||
tenantClick() { |
|||
if(!this.columnsArea.length) return this.$u.toast('没有获得服务地区,请下拉刷新重新加载') |
|||
this.show = true |
|||
}, |
|||
selectClick(item) { |
|||
this.showRole = false |
|||
this.chooseIdentity(item.name) |
|||
// alert(item.name) |
|||
}, |
|||
chooseIdentity(name) { |
|||
let url = '/pages/tabbar/statistics/index' |
|||
this.$store.commit('upDateIdentity', name) |
|||
if(name=='实操教练') { |
|||
url = '/pages/tabbar/student/index' |
|||
}else if(name=='模拟器老师') { |
|||
url = '/pages/tabbar/examSimulation/index' |
|||
} |
|||
uni.reLaunch({ |
|||
url |
|||
}) |
|||
}, |
|||
confirmArea(val) { |
|||
let item = val.value[0] |
|||
this.FormData.tenantName =item.name |
|||
this.$store.commit('upDateTenantId', item.id) |
|||
this.show = false |
|||
}, |
|||
async tenantPageFn() { |
|||
let obj = { |
|||
pageNo: 1, |
|||
pageSize: 100, |
|||
status: 0 |
|||
} |
|||
const {data: res} = await tenantPage(obj) |
|||
this.columnsArea = [res.list] |
|||
console.log(res) |
|||
}, |
|||
// 是否选择协议 |
|||
groupChangeEnvnt(e) { |
|||
this.isCheck = e.value |
|||
console.log('是否选择协议', this.isCheck) |
|||
}, |
|||
// 发送短信验证码 |
|||
async goSms() { |
|||
const { |
|||
FormData |
|||
} = this |
|||
if (!FormData.phone) return this.$u.toast('请输入手机号'); |
|||
if (!this.isPhone) return this.$u.toast('手机号格式有误'); |
|||
if (this.codeOn) return |
|||
const data = await getLoginCode({ |
|||
codeType: 1, |
|||
phone: FormData.phone, |
|||
}) |
|||
console.log(data) |
|||
// 获取验证码 |
|||
var time = 60; |
|||
var timer = setInterval(() => { |
|||
time--; |
|||
this.codeText = time + "秒后重新发送" |
|||
this.codeOn = true; |
|||
if (time == 0) { |
|||
clearInterval(timer); |
|||
this.codeText = "获取验证码"; |
|||
this.codeOn = false; |
|||
} |
|||
}, 1000); |
|||
}, |
|||
|
|||
async submitFn() { |
|||
// return |
|||
if(!this.btnHighlight) return |
|||
const {data: res} = await loginPwd(this.FormData) |
|||
this.$store.commit('update_vuex_loginInfo', res) |
|||
// this.chooseIdentity('实操教练') |
|||
// return |
|||
await this.$store.dispatch('getUserInfo') |
|||
|
|||
console.log(this.role) |
|||
this.list = [] |
|||
this.role.forEach((item)=>{ |
|||
let obj = { |
|||
name: this.roleObj[item] |
|||
} |
|||
this.list.push(obj) |
|||
}) |
|||
if(this.list.length>1) { |
|||
this.showRole = true |
|||
}else { |
|||
this.chooseIdentity(this.list[0].name) |
|||
} |
|||
console.log(this.list) |
|||
|
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
|
|||
.main { |
|||
width: 100%; |
|||
min-height: 100vh; |
|||
// background: url('http://192.168.1.20:81/zhili/image/20230922/f5e2cfaf05f441c1b9f897e7dc284f1d.png') no-repeat; |
|||
// background-size: 100% 360rpx; |
|||
.u-back-top { |
|||
padding: 32rpx 0 0 0; |
|||
.backBox { |
|||
padding: 24rpx; |
|||
} |
|||
} |
|||
|
|||
.title { |
|||
width: 658rpx; |
|||
height: 94rpx; |
|||
margin: 100rpx auto 100rpx auto; |
|||
} |
|||
|
|||
.form { |
|||
padding: 0 46rpx; |
|||
.form-item { |
|||
height: 112rpx; |
|||
background: #F4F7FF; |
|||
border-radius: 16rpx; |
|||
width: 100%; |
|||
line-height: 112rpx; |
|||
display: flex; |
|||
margin-bottom: 40rpx; |
|||
padding: 0 40rpx; |
|||
.prefix { |
|||
display: flex; |
|||
align-items: center; |
|||
font-size: 32rpx; |
|||
color: #333; |
|||
font-weight: 600; |
|||
} |
|||
|
|||
.inputBox { |
|||
flex: 1; |
|||
} |
|||
.code { |
|||
color: #BBBBBB; |
|||
margin-left: 30rpx; |
|||
&.active { |
|||
color: $themC |
|||
} |
|||
} |
|||
} |
|||
.forgetTps { |
|||
font-size: 28rpx; |
|||
color: $themC; |
|||
margin-top: -20rpx; |
|||
text-align: right; |
|||
} |
|||
.loginBtn { |
|||
width: 100%; |
|||
height: 112rpx; |
|||
background: rgba(25,137,250,0.3); |
|||
border-radius: 16rpx; |
|||
text-align: center; |
|||
line-height: 112rpx; |
|||
font-size: 32rpx; |
|||
font-weight: 600; |
|||
color: #fff; |
|||
margin-top: 100rpx; |
|||
&.active { |
|||
background: rgba(25,137,250,1); |
|||
} |
|||
} |
|||
|
|||
.radioWrap { |
|||
display: flex; |
|||
align-items: center; |
|||
margin-top: 40rpx; |
|||
.privacyText { |
|||
font-size: 24rpx; |
|||
color: #888E94; |
|||
text { |
|||
color: $themC; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue