h5端完成

master
Lee-1203 2022-03-07 19:31:43 +08:00
parent 1d674009d2
commit 519f4a8687
12 changed files with 853 additions and 840 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -6,7 +6,18 @@
<style> <style>
/* 引入字体 */ /* 引入字体 */
@font-face {
font-family: 'PingFangSC';
src: url('./assets/css/common/PingFangSC-Semibold.otf');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Fzcs-Gbk';
src: url('./assets/css/common/Fzcs-Gbk.ttf');
font-weight: normal;
font-style: normal;
}
*{ *{
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -911,16 +922,17 @@ textarea {
/* 弹窗 */ /* 弹窗 */
.my-confirm-bg{ .my-confirm-bg{
width: 100%; width: 100vw;
height: 100%; height: 100%;
background-color: rgba(0,0,0,.5); background-color: rgba(0,0,0,.5);
position: fixed; position: fixed;
top: 0; top: 0;
left: 0;
z-index: 998; z-index: 998;
} }
.my-confirm{ .my-confirm{
width: 5rem; width: 4rem;
padding: .4rem .5rem; padding: .4rem .3rem;
background-color: #FFFFFF; background-color: #FFFFFF;
border-radius: .3rem; border-radius: .3rem;
box-shadow: 0 0 .13rem rgba(29,47,67,.1); box-shadow: 0 0 .13rem rgba(29,47,67,.1);
@ -933,25 +945,26 @@ textarea {
.my-confirm>p{ .my-confirm>p{
font-size: .28rem; font-size: .28rem;
line-height: 1.5; line-height: 1.5;
text-align: justify; text-align: center;
} }
.confirm-btns{ .confirm-btns{
display: flex; display: flex;
justify-content: center; justify-content: space-between;
margin-top: .4rem; margin-top: .4rem;
} }
.confirm-btns>span{ .confirm-btns>span{
width: 1.4rem; width: 1.6rem;
line-height: .5rem; line-height: .5rem;
border-radius: .25rem; border-radius: .25rem;
background-color: #333fc9; border: .02rem solid #333fc9;
background-color: #FFFFFF;
font-size: .26rem; font-size: .26rem;
color: #FFFFFF; color: #333fc9;
text-align: center; text-align: center;
margin: 0 .15rem;
} }
.confirm-btns>span:first-child{ .confirm-btns>span:first-child{
background-color: #ff7716; background-color: #333fc9;
color: #FFFFFF;
} }
/* 咨询师详情页 */ /* 咨询师详情页 */
@ -1684,6 +1697,7 @@ textarea::-webkit-input-placeholder{
height: 0; height: 0;
padding: 0 .3rem; padding: 0 .3rem;
background-color: #FFFFFF; background-color: #FFFFFF;
margin-top: .02rem;
margin-bottom: .48rem; margin-bottom: .48rem;
overflow: hidden; overflow: hidden;
} }
@ -1693,6 +1707,12 @@ textarea::-webkit-input-placeholder{
align-items: center; align-items: center;
height: .7rem; height: .7rem;
} }
.report-list>li:first-child{
margin-top: .15rem;
}
.report-list>li:last-child{
margin-bottom: .15rem;
}
.report-list>li p{ .report-list>li p{
width: calc(100% - 2.2rem); width: calc(100% - 2.2rem);
font-size: .28rem; font-size: .28rem;
@ -1707,8 +1727,6 @@ textarea::-webkit-input-placeholder{
color: #999999; color: #999999;
} }
.report-list.open{ .report-list.open{
margin-top: .02rem;
padding: .15rem .3rem;
height: auto; height: auto;
} }
.feedback-btn{ .feedback-btn{
@ -2231,7 +2249,9 @@ textarea::-webkit-input-placeholder{
.edit-btn{ .edit-btn{
width: 1.5rem; width: 1.5rem;
height: .6rem; height: .6rem;
border: .02rem solid #3844ce;
background-color: #3844ce; background-color: #3844ce;
color: #FFFFFF;
font-size: .3rem; font-size: .3rem;
line-height: .6rem; line-height: .6rem;
border-radius: .1rem; border-radius: .1rem;
@ -2250,6 +2270,10 @@ textarea::-webkit-input-placeholder{
top: 0; top: 0;
z-index: 1; z-index: 1;
} }
.edit-btn-other{
background-color: #FFFFFF;
color: #3844ce;
}
.personal-item .left{ .personal-item .left{
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
@ -2338,4 +2362,23 @@ textarea::-webkit-input-placeholder{
.bottom-box{ .bottom-box{
margin-bottom: 1.3rem; margin-bottom: 1.3rem;
} }
/* 提示框 */
.toast{
width: 3rem;
padding: .2rem .25rem;
background-color: rgba(255,255,255,.8);
color: #333333;
border-radius: .1rem;
font-size: .28rem;
line-height: 1.4;
text-align: center;
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
z-index: 999;
}
</style> </style>

View File

@ -8,23 +8,33 @@ import router from './router'
Vue.prototype.host = 'https://ypzy.emingren.com' Vue.prototype.host = 'https://ypzy.emingren.com'
Vue.prototype.HOME = '/api' Vue.prototype.HOME = '/api'
// 添加请求拦截器具
axios.interceptors.request.use(config => { axios.interceptors.request.use(config => {
if (config.url!="/api/api/user/login-by-Phone"&&config.url!="/api/api/common/send-sms-captcha") { if (config.url != "/api/api/user/login-by-Phone" && config.url != "/api/api/common/send-sms-captcha") {
if (!localStorage.userData) { if (!localStorage.userData) {
router.replace('/login'); router.replace('/login');
return config return config
}else{ } else {
config.headers.Authorization = "Bearer "+JSON.parse(localStorage.userData).token config.headers.Authorization = "Bearer " + JSON.parse(localStorage.userData).token
} }
} }
return config
return config
}) })
// 添加响应拦截器
// axios.interceptors.response.use(response => {
// // console.log(response);
// let res = {}
// res.status = response.status
// res.data = response.data
// return res;
// }, function(err) {
// return Promise.reject(err)
// });
Vue.use(VueAxios, axios) Vue.use(VueAxios, axios)
new Vue({ new Vue({
router, router,
render: h => h(App) render: h => h(App)
}).$mount('#app') }).$mount('#app')

File diff suppressed because it is too large Load Diff

View File

@ -256,9 +256,7 @@
</script> </script>
<style scoped> <style scoped>
.expert-list>li{ .expert-list{
} margin-top: 1.2rem;
.my-content{ }
padding-top: 1rem;
}
</style> </style>

View File

@ -150,6 +150,7 @@
this.isScroll = true; this.isScroll = true;
window.addEventListener("scroll", this.eventScrollTop); window.addEventListener("scroll", this.eventScrollTop);
this.consult_amount = (JSON.parse(localStorage.getItem("centerUserData"))).consult_amount; this.consult_amount = (JSON.parse(localStorage.getItem("centerUserData"))).consult_amount;
console.log(this.consult_amount,3636)
}, },
mounted() { mounted() {
this.getBanner(); this.getBanner();

View File

@ -70,8 +70,8 @@
<!-- 手机验证弹窗 --> <!-- 手机验证弹窗 -->
<div class="my-confirm-bg" v-show="openPhoneTips" @click="openPhoneTips = !openPhoneTips"></div> <div class="my-confirm-bg" v-show="openPhoneTips" @click="openPhoneTips = !openPhoneTips"></div>
<div class="my-confirm my-confirm2" v-show="openPhoneTips"> <div class="my-confirm my-confirm2" v-show="openPhoneTips">
<!-- <p>{{ tipsMsg }}</p> --> <p>{{ tipsMsg }}</p>
<div class="confirm-btns"> <div class="confirm-btns confirm-btns-one">
<span @click="openPhoneTips = false">确认</span> <span @click="openPhoneTips = false">确认</span>
</div> </div>
</div> </div>
@ -84,6 +84,7 @@
data() { data() {
return { return {
isScrollTop: false, isScrollTop: false,
tipsMsg: '',
mode: 1, // mode: 1, //
openAgreement: false, // openAgreement: false, //
isAgreement: true, // isAgreement: true, //
@ -128,14 +129,14 @@
// //
phoneLogin() { phoneLogin() {
let that = this; let that = this;
var reg_tel = var reg_tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
if (this.phoneNumber == "") { if (this.phoneNumber == "") {
alert("请填写您的手机号码!"); this.openPhoneTips = true;
this.tipsMsg = '请填写您的手机号码!'
return false; return false;
} else if (!reg_tel.test(this.phoneNumber)) { } else if (!reg_tel.test(this.phoneNumber)) {
alert("请正确填写您的手机号码!"); this.openPhoneTips = true;
this.tipsMsg = '请正确填写您的手机号码!'
return false; return false;
} }
this.axios this.axios
@ -202,4 +203,7 @@
</script> </script>
<style scoped> <style scoped>
.confirm-btns-one{
justify-content: center;
}
</style> </style>

View File

@ -62,6 +62,7 @@
created() { created() {
this.isScroll = true; this.isScroll = true;
window.addEventListener("scroll", this.eventScrollTop); window.addEventListener("scroll", this.eventScrollTop);
this.phoneData = this.$route.query.phone this.phoneData = this.$route.query.phone
const TIME_COUNT = 60; const TIME_COUNT = 60;
if (!this.timer) { if (!this.timer) {
@ -100,10 +101,15 @@
sms_code: this.value, sms_code: this.value,
}) })
.then(function(res) { .then(function(res) {
console.log(res.data,252525)
localStorage.userData = JSON.stringify(res.data.data); localStorage.userData = JSON.stringify(res.data.data);
if (res.data.code == 0) { if (res.data.code == 0) {
that.getUserData(); that.getUserData();
that.goPages(); if(res.data.data.userType == 1){
that.$router.push('/consultant');
}else{
that.$router.push('/index');
}
} else { } else {
window.alert(res.msg); window.alert(res.msg);
} }
@ -113,21 +119,6 @@
}); });
}, },
//
goPages(){
this.userType = (JSON.parse(localStorage.getItem("centerUserData"))).type;
console.log(this.userType,2525)
if(this.userType == 1){
this.$router.push({
path: "/consultant",
});
}else{
this.$router.push({
path: "/index",
});
}
},
handleSubmit() { handleSubmit() {
this.$emit("input", this.value); this.$emit("input", this.value);
}, },

View File

@ -13,6 +13,12 @@
</div> </div>
</div> </div>
<div @click="btnFeedback()" class="bind-btn">提交</div> <div @click="btnFeedback()" class="bind-btn">提交</div>
<!-- 提示框 -->
<div class="addr-select-bg" v-show="isToast"></div>
<div class="toast" v-show="isToast">
<p>{{toastText}}</p>
</div>
</div> </div>
</template> </template>
@ -23,6 +29,8 @@
return { return {
isScrollTop: false, isScrollTop: false,
content: "", content: "",
isToast: false,
toastText: ''
}; };
}, },
created() { created() {
@ -34,6 +42,11 @@
methods: { methods: {
btnFeedback() { btnFeedback() {
if (this.content == "") { if (this.content == "") {
this.toastText = '反馈内容不能为空',
this.isToast = true,
setTimeout(()=> {
this.isToast = false
}, 1000)
return; return;
} }
this.axios this.axios
@ -43,10 +56,15 @@
}, },
) )
.then(function(res) { .then(function(res) {
window.alert(res.data.msg) this.toastText = res.data.msg,
this.isToast = true,
setTimeout(()=> {
this.isToast = false
}, 1000)
this.$router.push('/ucenter');
}) })
.catch(function(error) { .catch(function(err) {
console.log(error); window.alert(err.data.msg)
}); });
}, },
// //

View File

@ -24,6 +24,11 @@
</ul> </ul>
</div> </div>
<div class="bind-btn" @click="setInfo()"></div> <div class="bind-btn" @click="setInfo()"></div>
<!-- 提示框 -->
<div class="addr-select-bg" v-show="isToast"></div>
<div class="toast" v-show="isToast">
<p>{{toastText}}</p>
</div>
</div> </div>
</template> </template>
@ -35,7 +40,9 @@
isScrollTop: false, isScrollTop: false,
myAvatar: '', myAvatar: '',
nickName:'', nickName:'',
userDataAll:[] userDataAll:[],
isToast:false,
toastText:''
}; };
}, },
created() { created() {
@ -81,8 +88,12 @@
}) })
.then(function(res) { .then(function(res) {
that.getUserData(); that.getUserData();
that.$router.push('/ucenter'); that.toastText = res.data.msg,
console.log(res) that.isToast = true,
setTimeout(()=> {
that.isToast = false;
that.$router.push('/ucenter');
}, 1000)
}); });
}, },

View File

@ -125,6 +125,12 @@
<img @click="goPage('/expert')" src="../../../assets/images/user/seekcard.png"> <img @click="goPage('/expert')" src="../../../assets/images/user/seekcard.png">
<img @click="closeEV()" src="../../../assets/images/user/close.png"> <img @click="closeEV()" src="../../../assets/images/user/close.png">
</div> </div>
<!-- 提示框 -->
<div class="addr-select-bg" v-show="isToast"></div>
<div class="toast" v-show="isToast">
<p>{{toastText}}</p>
</div>
</div> </div>
</template> </template>
@ -134,7 +140,10 @@
data() { data() {
return { return {
isScrollTop: false, isScrollTop: false,
isToast: false, //
toastText:'', //
addrArray: [], // addrArray: [], //
addrData: [], // addrData: [], //
addrIndex: 0, addrIndex: 0,
@ -333,7 +342,11 @@
.subject_radio_group_list[0].indexOf(item) > -1) .subject_radio_group_list[0].indexOf(item) > -1)
if (limitSubid != -1 && date != -1) { if (limitSubid != -1 && date != -1) {
// idid // idid
console.log('选择科目冲突'); this.toastText = '选择科目冲突',
this.isToast = true,
setTimeout(()=> {
this.isToast = false
}, 1000)
} else { } else {
// idid // idid
this.subjectArray[index].isActive = !this.subjectArray[index].isActive; this.subjectArray[index].isActive = !this.subjectArray[index].isActive;
@ -355,12 +368,15 @@
this.temporaryCode.splice(existSubid, 1); this.temporaryCode.splice(existSubid, 1);
this.subjectArray[existsubIndex].isActive = false; this.subjectArray[existsubIndex].isActive = false;
} else { } else {
console.log('提示框xxxx'); this.toastText = '最多选择'+this.addrData[this.addrIndex].subject_max+'科',
this.isToast = true,
setTimeout(()=> {
this.isToast = false
}, 1000)
} }
} }
} else { } else {
// //
// //
this.temporaryCode = []; this.temporaryCode = [];
// //
@ -383,8 +399,18 @@
// //
setStudentInfo() { setStudentInfo() {
let that = this; let that = this;
if (that.temporaryCode.length != that.addrData[that.addrIndex].subject_max) { if(that.studentName == ''){
console.log('弹框提示,必须选择多少个科目'); this.toastText = '姓名不能为空',
this.isToast = true,
setTimeout(()=> {
this.isToast = false
}, 1000)
}else if (that.temporaryCode.length != that.addrData[that.addrIndex].subject_max) {
this.toastText = '必须选择'+this.addrData[this.addrIndex].subject_max+'科',
this.isToast = true,
setTimeout(()=> {
this.isToast = false
}, 1000)
} else { } else {
let that = this; let that = this;
this.axios this.axios

View File

@ -18,15 +18,15 @@
</div> </div>
</div> </div>
<!-- 免费咨询卡 --> <!-- 免费咨询卡 -->
<div class="user-receive" @click="toPage()" v-if="isUse == 0"> <div class="user-receive" @click="toPage()" v-if="!isExpire">
<img src="../../../assets/images/user/card.png" /> <img src="../../../assets/images/user/card.png" />
<div class="receive-txt"> <div class="receive-txt">
<span class="use-btn" v-if="isReceive == 1">使</span> <span class="use-btn" v-if="consult_amount == 1">使</span>
<span class="receive-btn" v-if="isReceive == 0"></span> <span class="receive-btn" v-if="consult_amount == 0"></span>
<p>有效期2022.2.1-2022.2.15</p> <p v-if="consult_amount == 1">{{startTime}}-{{endTime}}</p>
</div> </div>
</div> </div>
<div class="line" v-if="isReceive == 1"></div> <div class="line" v-if="consult_amount == 1"></div>
<ul class="student-information"> <ul class="student-information">
<li v-if="userData.mobile"> <li v-if="userData.mobile">
<span><img src="../../../assets/images/user/icon-phone.png" /></span> <span><img src="../../../assets/images/user/icon-phone.png" /></span>
@ -57,7 +57,7 @@
<p>我的报告</p> <p>我的报告</p>
<img src="../../../assets/images/home/expert/arrow-right.png" alt="" /> <img src="../../../assets/images/home/expert/arrow-right.png" alt="" />
</div> </div>
<ul :class="{ 'report-list': true, 'open': isOpen }"> <ul :class="{'report-list': true, 'open': isOpen}">
<li v-for="(item,index) in reportData" :key="index" @click="goReport(item.id)"> <li v-for="(item,index) in reportData" :key="index" @click="goReport(item.id)">
<p>{{item.title}}</p> <p>{{item.title}}</p>
<span>{{item.done_at}}</span> <span>{{item.done_at}}</span>
@ -80,9 +80,10 @@
centerUserData: { centerUserData: {
mobile: "", mobile: "",
}, },
isExpire: false, //
consult_amount: 0,
reportData: [], reportData: [],
isScrollTop: false, isScrollTop: false,
isReceive: 1, //
isUse: 0, //使 isUse: 0, //使
isOpen: false, isOpen: false,
userData: { userData: {
@ -108,6 +109,9 @@
update_time: "", update_time: "",
user_code: "", user_code: "",
}, },
student_first_complete:'' ,//
startTime: '', //
endTime: '', //
}; };
}, },
created() { created() {
@ -115,8 +119,13 @@
window.addEventListener("scroll", this.eventScrollTop); window.addEventListener("scroll", this.eventScrollTop);
this.getUserData(); this.getUserData();
this.getevaluationList() this.getevaluationList()
this.consult_amount = (JSON.parse(localStorage.getItem("centerUserData"))).consult_amount;
},
mounted() {
this.getDate();
}, },
methods: { methods: {
// //
getevaluationList() { getevaluationList() {
let that = this let that = this
@ -132,9 +141,9 @@
// //
toPage() { toPage() {
if (this.isReceive == 1) { if (this.consult_amount == 1) {
this.$router.push("/expert"); this.$router.push("/expert");
} else if (this.isReceive == 0) { } else if (this.consult_amount == 0) {
this.$router.push("/information"); this.$router.push("/information");
} else { } else {
return false; return false;
@ -165,6 +174,25 @@
}); });
}, },
//
getDate() {
let starTime = (JSON.parse(localStorage.getItem("centerUserData"))).student.student_first_complete;
let date = new Date(starTime.replace(/-/g, '/'));
this.startTime = date.getFullYear()+"."+(date.getMonth()+1)+"."+date.getDate(); //
let date1 = new Date(starTime.replace(/-/g, '/'));
date1.setDate(date.getDate()+7);
this.endTime = date1.getFullYear()+"."+(date1.getMonth()+1)+"."+date1.getDate(); //
//
let date2 = new Date();
if(date1.setDate(date.getDate()+7) <= date2.setDate(date.getDate())){
this.isExpire = true;
}
},
// 退 // 退
outLogin(){ outLogin(){
localStorage.clear(); localStorage.clear();