个人中心、数据分类等修复

dev
Jo 3 years ago
parent bc4b696dd7
commit fc8f44b6d8
  1. BIN
      src/assets/img/trash.png
  2. 40
      src/layouts/footer/index.vue
  3. 9
      src/layouts/home/index.vue
  4. 43
      src/pages/account/login/index.vue
  5. 16
      src/pages/data/list/index.vue
  6. 86
      src/pages/setting/person/info.vue

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

@ -1,14 +1,18 @@
<!--
* @Author: your name
* @Author: Yujialong
* @Date: 2021-11-03 14:33:21
* @LastEditTime: 2021-11-04 14:00:37
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \questionnaired:\code\FE_huoran_data\src\layouts\footer\index.vue
-->
<template>
<div>
<div class="footer">
<div class="info">
<span class="m-r-20">客服邮箱service@huorantech.cn</span>
<span>联系人林经理 18818574533</span>
</div>
<div class="copyright">
<span>© Copyright 2021 Dataforward 数据前瞻</span>
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">粤ICP备20072679号</a>
</div>
</div>
@ -29,16 +33,30 @@ export default {
};
</script>
<style lang="scss" scoped>
.copyright{
padding: 18px 0;
font-size: 12px;
.footer{
padding: 17px 0 9px;
text-align: center;
background-color: #F3F6FA;
a{
color:#B1B4B8;
background-color: #0F1D2E;
.info{
margin-bottom: 7px;
font-size: 14px;
line-height: 20px;
color: #D7DFE7;
}
.copyright{
font-size: 12px;
&:hover{
opacity: .8;
text-align: center;
line-height: 17px;
span{
margin-right: 20px;
color: #757F8A;
}
a{
color:#757F8A;
font-size: 12px;
&:hover{
opacity: .8;
}
}
}
}

@ -17,7 +17,7 @@
</keep-alive>
</transition>
<el-backtop target=".content"></el-backtop>
<v-footer class="footer"></v-footer>
<v-footer></v-footer>
</div>
</div>
</div>
@ -26,7 +26,6 @@
<script>
import vHead from '../header'
import vFooter from '../footer'
import Setting from '@/setting'
export default {
data() {
return {
@ -47,13 +46,13 @@ export default {
</script>
<style lang="scss" scoped>
.main{
min-height: 100%;
min-height: calc(100% - 64px);
.layout{
margin-top: 64px;
padding-top: 64px;
}
.view{
min-width: $min-width;
min-height: calc(100vh - 52px);
min-height: calc(100vh - 134px);
padding: 12px 80px 0;
margin: 0 auto;
background-color: #F3F6FA;

@ -33,7 +33,7 @@
</div>
</div>
<el-dialog title="绑定手机号" :visible.sync="phoneVisible" :close-on-click-modal="false" @close="closePhone" width="30%">
<el-dialog title="绑定手机号" :visible.sync="phoneVisible" :close-on-click-modal="false" width="30%">
<el-form ref="form" label-width="60px">
<el-form-item label="手机号">
<el-input style="width: 394px;" placeholder="请输入手机号" v-model="phone" maxlength="11"></el-input>
@ -51,7 +51,11 @@
</span>
</el-dialog>
<v-footer class="footer"></v-footer>
<div class="footer">
<div class="copyright">
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">粤ICP备20072679号</a>
</div>
</div>
</div>
</template>
@ -115,6 +119,7 @@ export default {
let redirect = this.$route.query.redirect ? decodeURIComponent(this.$route.query.redirect) : '/index'
this.$router.replace(redirect)
}).catch(res => {
//
if(res && res.status == 30001){
this.phoneVisible = true
}
@ -149,17 +154,12 @@ export default {
},1000)
}
},
closePhone(){
if(!this.emailDisabled){
this.emailCode = ''
}
},
sendPhoneCode(){
if(!this.phone) return util.warningMsg('请输入手机号')
if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号')
let data = {
phone: this.phone,
types: 2
types: 2 // 12
}
this.$post(this.api.sendPhoneOrEmailCode,data).then(res => {
if(res.message.opener){
@ -187,7 +187,7 @@ export default {
util.successMsg('绑定成功')
this.form.phone = this.phone
this.phoneVisible = false
//
this.$get(this.api.isClient).then(res => {
this.setCustomer(res.customer)
}).catch(res => {})
@ -328,12 +328,25 @@ export default {
}
}
}
.footer{
z-index: 3;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
}
.footer{
z-index: 3;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
}
.copyright{
padding: 18px 0;
font-size: 12px;
text-align: center;
background-color: #F3F6FA;
a{
color:#B1B4B8;
font-size: 12px;
&:hover{
opacity: .8;
}
}
}
</style>

@ -34,20 +34,18 @@
<template v-if="subItem3.children">
<el-submenu :index="subItem3.id" :key="subItem3.id">
<template slot="title">
<!-- <i :class="item.icon"></i> -->
<!-- <span slot="title">{{ subItem2.title }}</span> -->
{{ subItem3.categoryName }}
</template>
<template v-for="subItem4 in subItem3.children">
<!-- 如果第五层有子菜单则继续循环 -->
<template v-if="subItem4.children">
<template v-if="subItem4.children && subItem4.children.length">
<el-submenu :index="subItem4.id" :key="subItem4.id">
<template slot="title">
{{ subItem4.categoryName }}
</template>
<el-menu-item class="level-6" v-for="(subItem5,i) in subItem4.children" :key="i" :index="subItem5.id">
<template class="level-6" v-for="subItem5 in subItem4.children" :index="subItem5.id">
<!-- 如果第六层有子菜单则继续循环 -->
<template v-if="subItem5.children">
<template v-if="subItem5.children && subItem5.children.length">
<el-submenu :index="subItem5.id" :key="subItem5.id">
<template slot="title">
{{ subItem5.categoryName }}
@ -56,8 +54,8 @@
</el-submenu>
</template>
<!-- 如果第五层没有子菜单 -->
<el-menu-item v-else :index="subItem5.id" :key="subItem5.id">{{ subItem5.categoryName }}</el-menu-item>
</el-menu-item>
<el-menu-item :index="subItem5.id" :key="subItem5.id">{{ subItem5.categoryName }}</el-menu-item>
</template>
</el-submenu>
</template>
<!-- 如果第五层没有子菜单 -->
@ -521,7 +519,6 @@ export default {
display: flex;
/deep/.left{
margin-right: 20px;
.menu{
width: 200px;
overflow: hidden;
@ -540,6 +537,8 @@ export default {
.el-submenu.is-active{
.el-submenu__title{
&+.el-menu .el-submenu__title{
height: 50px;
line-height: 50px;
background-color: rgba(147,184,255,.15);
}
i{
@ -555,6 +554,7 @@ export default {
padding-right: 0;
.el-submenu__title {
padding-left: 10px !important;
color: #fff;
}
}
}

@ -57,7 +57,7 @@
</div>
<div class="line">
<li>
<label></label>
<label>身份</label>
<div>
<el-input size="small" v-model="form.idNumber" clearable></el-input>
</div>
@ -75,7 +75,7 @@
</div>
<div class="flex j-between a-center m-r-20">
<h6 class="l-title"><img src="@/assets/img/info2.png" alt=""> 个人档案</h6>
<el-button type="text" icon="el-icon-plus" @click="addArch">新增</el-button>
<el-button type="text" icon="el-icon-plus" style="margin-left: 16px" @click="addArch">新增</el-button>
</div>
<div class="page-content">
<div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch">
@ -83,56 +83,45 @@
<div class="line">
<li>
<label>职业</label>
<div>
<el-select size="small" v-model="archive.personalCareerId" placeholder="选择职业">
<el-option v-for="item in occupationList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<el-select size="small" v-model="archive.personalCareerId" placeholder="选择职业">
<el-option v-for="item in occupationList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</li>
<li>
<label>国家</label>
<div>
<el-select size="small" v-model="form.countries" placeholder>
<el-option v-for="item in countryList" :key="item.value" :label="item.label" :value="item.label" ></el-option>
</el-select>
</div>
<label>所属国家</label>
<el-select size="small" v-model="form.countries" placeholder>
<el-option v-for="item in countryList" :key="item.value" :label="item.label" :value="item.label" ></el-option>
</el-select>
</li>
<li>
<label>学校名称</label>
<div>
<el-select size="small" v-model="archive.schoolId" filterable placeholder="选择学校" @change="id => getSchoolName(id,index)">
<el-option v-for="item in schoolList" :key="item.value" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select>
</div>
<el-select size="small" v-model="archive.schoolId" filterable placeholder="选择学校" @change="id => getSchoolName(id,index)">
<el-option v-for="item in schoolList" :key="item.value" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select>
</li>
</div>
<div class="line" style="margin-bottom: 0">
<li>
<label>专业学科</label>
<div>
<el-select size="small" v-model="archive.disciplineId" placeholder="选择专业学科" @change="id => getItemProfessionalClass(id,index)" @clear="() => clearItemClass(index)">
<el-option v-for="item in subjectList" :key="item.value" :label="item.disciplineName" :value="item.disciplineId"></el-option>
</el-select>
</div>
<el-select size="small" v-model="archive.disciplineId" placeholder="选择专业学科" @change="id => getItemProfessionalClass(id,index)" @clear="() => clearItemClass(index)">
<el-option v-for="item in subjectList" :key="item.value" :label="item.disciplineName" :value="item.disciplineId"></el-option>
</el-select>
</li>
<li>
<label>专业类</label>
<div>
<el-select size="small" v-model="archive.professionalClassId" placeholder="选择专业类" :disabled="archive.disciplineId ? false : true" @change="id => getItemProfessional(id,index)" @clear="() => clearItemProfess(index)">
<el-option v-for="item in archive.ProfessionalClassList" :key="item.professionalClassId" :label="item.professionalClassName" :value="item.professionalClassId"></el-option>
</el-select>
</div>
<el-select size="small" v-model="archive.professionalClassId" placeholder="选择专业类" :disabled="archive.disciplineId ? false : true" @change="id => getItemProfessional(id,index)" @clear="() => clearItemProfess(index)">
<el-option v-for="item in archive.ProfessionalClassList" :key="item.professionalClassId" :label="item.professionalClassName" :value="item.professionalClassId"></el-option>
</el-select>
</li>
<li>
<label>专业</label>
<div>
<el-select size="small" v-model="archive.professionalId" placeholder="选择专业" :disabled="archive.professionalClassId ? false : true" @change="getItemStuGrade">
<el-option v-for="item in archive.ProfessionalList" :key="item.professionalId" :label="item.professionalName" :value="item.professionalId"></el-option>
</el-select>
</div>
<el-select size="small" v-model="archive.professionalId" placeholder="选择专业" :disabled="archive.professionalClassId ? false : true" @change="getItemStuGrade">
<el-option v-for="item in archive.ProfessionalList" :key="item.professionalId" :label="item.professionalName" :value="item.professionalId"></el-option>
</el-select>
</li>
</div>
</ul>
<img class="del" src="@/assets/img/trash.png" alt="" v-if="index" @click="delArchive(index)">
</div>
<div class="fold" v-if="archivesList.length > 1">
<span :class="{active: showArch}" @click="showArch = !showArch">
@ -183,7 +172,7 @@
</div>
</div>
<div class="btns">
<el-button size="small" v-throttle @click="save">取消</el-button>
<el-button size="small" v-throttle @click="$router.back()">取消</el-button>
<el-button type="primary" size="small" v-throttle @click="save">更新</el-button>
</div>
@ -366,6 +355,7 @@ export default {
this.getProvince()
this.getSchoolData()
this.getSubject()
if (!this.archivesList.length) this.archivesList = [JSON.parse(JSON.stringify(this.archivesForm))]
},
methods: {
...mapActions('user', [
@ -534,6 +524,9 @@ export default {
this.showArch = true
this.concatArch()
},
delArchive(i) {
this.archivesList.splice(i, 1)
},
bindEmail() {
this.email = this.form.email
this.emailVisible = true
@ -817,8 +810,15 @@ export default {
</script>
<style lang="scss" scoped>
.scroll{
height: calc(100vh - 202px);
overflow: auto;
}
.page{
margin-bottom: 12px;
/deep/.el-input__inner{
border-color: #CACFDB;
}
.list{
.line{
display: flex;
@ -865,15 +865,29 @@ export default {
}
}
}
}
.archives{
position: relative;
padding: 16px 30px;
margin-bottom: 6px;
border-radius: 4px;
background-color: #FAFAFA;
.del{
position: absolute;
top: 48px;
right: 55px;
cursor: pointer;
}
li{
width: 30%;
margin-right: 32px;
}
.el-select{
flex: 1;
}
}
.fold{
margin-top: 20px;
text-align: center;
font-size: 12px;
color: #006EFF;
@ -889,9 +903,11 @@ export default {
}
}
.btns{
width: 100%;
padding: 12px 0;
text-align: center;
background-color: #fff;
box-shadow: 0px 0px 10px 0px rgba(188, 201, 218, 0.4);
.el-button{
width: 80px;
}

Loading…
Cancel
Save