yujialong 4 years ago
parent cf9e15f4a3
commit a9988dcf0a
  1. 1
      src/api/index.js
  2. BIN
      src/assets/img/icon-weigouxuan.png
  3. BIN
      src/assets/img/icon-yigouxuan.png
  4. BIN
      src/assets/img/icon_.png
  5. BIN
      src/assets/img/icon_1.png
  6. BIN
      src/assets/img/img.jpg
  7. BIN
      src/assets/img/index/achievement.png
  8. BIN
      src/assets/img/index/assesment.png
  9. BIN
      src/assets/img/index/book.png
  10. BIN
      src/assets/img/index/chengji拷贝.png
  11. BIN
      src/assets/img/index/datiqia拷贝.png
  12. BIN
      src/assets/img/index/guanliyuan_guanliyuanliebiao拷贝2.png
  13. BIN
      src/assets/img/index/pingjiakaohe拷贝.png
  14. BIN
      src/assets/img/index/practice.png
  15. BIN
      src/assets/img/index/show.png
  16. BIN
      src/assets/img/index/system.png
  17. BIN
      src/assets/img/index/tiku.png
  18. BIN
      src/assets/img/index/xiaoxi.png
  19. BIN
      src/assets/img/index/zuopin.png
  20. BIN
      src/assets/img/index/日期.png
  21. BIN
      src/assets/img/login-input.png
  22. BIN
      src/assets/img/message.png
  23. 7
      src/components/achiStatistics/index.vue
  24. 6
      src/pages/account/login/index.vue
  25. 2
      src/pages/achievement/list/examResults.vue
  26. 2
      src/pages/assessment/list/index.vue
  27. 29
      src/pages/assessment/list/studentTree.vue
  28. 10
      src/pages/assessment/monitor/index.vue
  29. 2
      src/pages/assessment/scoreQuery/index.vue
  30. 4
      src/pages/index/list/index.vue
  31. 3
      src/pages/practice/list/index.vue
  32. 29
      src/pages/practice/list/studentTree.vue
  33. 2
      src/pages/setting/person/index.vue
  34. 24
      src/pages/student/list/studentSide.vue
  35. 10
      src/pages/student/list/studentTree.vue
  36. 250
      src/pages/system/list/staffSide.vue
  37. 239
      src/pages/system/list/stafftree.vue
  38. 5
      src/router/permission.js
  39. 53
      src/setting.js
  40. 162
      src/styles/pages/tree.scss

@ -1,5 +1,4 @@
import Setting from '@/setting'
// let host = 'http://192.168.31.152:8001'
let uploadURL = Setting.apiUploadURL
export default {
// 登录 

Binary file not shown.

Before

Width:  |  Height:  |  Size: 918 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

@ -94,10 +94,7 @@ export default {
}
this.statData = statData
this.getChart()
})
.catch(err => {
});
}).catch(err => {})
},
getChart(){
let myChart = echarts.init(document.getElementById('chart'))
@ -117,7 +114,7 @@ export default {
type: 'line',
areaStyle: {}
}]
});
})
}
},
};

@ -92,9 +92,9 @@ export default {
password: this.loginForm.password
}
this.login(data).then(() => {
this.$router.replace('/index')
})
.catch(() => {})
let redirect = decodeURIComponent(this.$route.query.redirect || '/')
this.$router.replace(redirect)
}).catch(() => {})
}
})
}

@ -191,7 +191,7 @@ export default {
assessmentId: this.assessmentId,
assessmentName: this.assessmentName,
classId: this.classId,
stuId: this.listData[0].stuId
stuId: this.userId
})
this.$router.push('statistics')
}else{

@ -494,6 +494,7 @@ export default {
this.time = [this.form.startTime,this.form.endTime]
this.addVisible = true
this.isAdd = false
this.stuCompKey++
}).catch(err => {})
},
nameChange(){
@ -601,7 +602,6 @@ export default {
this.testPaperId = ''
this.cid = ''
this.keywordPaper = ''
this.stuCompKey++
},
openSelect(){
this.selectVisible = true

@ -134,21 +134,20 @@ export default {
.side_view{
max-height: 300px;
overflow: auto;;
padding: 10px 20px;
i {
color: #cb221c;
height: auto;
padding: 0 20px 20px;
.side_tree{
.item{
padding: 5px 0;
margin-top: 10px;
}
.item2 {
margin-left: 43px
}
.item1,.item2,.item3{
padding: 0;
margin-top: 0;
}
}
}
.item{
padding: 5px 0;
margin-top: 10px;
}
.item2 {
margin-left:43px
}
.item1,.item2,.item3{
padding: 0;
margin-top: 0;
}
</style>

@ -105,6 +105,7 @@ export default {
data() {
return {
keyword: '',
searchTimer: null,
state: '',
listData: [],
page: 1,
@ -132,6 +133,14 @@ export default {
'getTypeName','getStudentStateName'
])
},
watch: {
keyword: function(val) {
clearTimeout(this.searchTimer)
this.searchTimer = setTimeout(() => {
this.getData()
},500)
}
},
directives: {
countdown: {
bind: function(el,binding,vnode) {
@ -206,6 +215,7 @@ export default {
this.$post(`${this.api.compulsory}?id=${this.id}`)
.then(res => {
this.$message.success('强制收卷成功')
this.$router.back()
})
.catch(err => {})
}else{

@ -186,7 +186,7 @@ export default {
show(row){
this.setAssDetailInfo({
id: row.paperId,
assessmentId: row.id,
assessmentId: row.assessmentId,
stuId: row.stuId
})
this.$router.push('detail')

@ -165,7 +165,7 @@ export default {
total: 0,
listData: [],
pageReview: 1,
pageSizeReview: 5,
pageSizeReview: 3,
totalReview: 0,
reviewList: [],
pageClass: 1,
@ -374,7 +374,7 @@ export default {
.class{
display: flex;
li{
width: 19%;
width: 19.5%;
padding: 15px 20px;
margin-right: .5%;
background: url(../../../assets/img/index/bg1.png) 0 0/100% 100% no-repeat;

@ -332,6 +332,8 @@ export default {
this.testPaperName = row.name
this.addVisible = true
this.isAdd = false
this.stuCompKey++
console.log(11,this.form)
},
scoreQuery(row){
this.setPracListInfo({
@ -392,7 +394,6 @@ export default {
this.testPaperId = ''
this.cid = ''
this.keywordPaper = ''
this.stuCompKey++
},
openSelect(){
this.selectVisible = true

@ -115,21 +115,20 @@ export default {
.side_view{
max-height: 300px;
overflow: auto;;
padding: 10px 20px;
i {
color: #cb221c;
height: auto;
padding: 0 20px 20px;
.side_tree{
.item{
padding: 5px 0;
margin-top: 10px;
}
.item2 {
margin-left: 80px
}
.item1,.item2{
padding: 0;
margin-top: 0;
}
}
}
.item{
padding: 5px 0;
margin-top: 10px;
}
.item2 {
margin-left: 80px
}
.item1,.item2{
padding: 0;
margin-top: 0;
}
</style>

@ -191,7 +191,6 @@
<input
id="email"
type="text"
class="block-right"
v-model="personalInformation.email"
/>
<div class="ii">
@ -507,7 +506,6 @@ input:focus {
margin-top: 10px;
width: 80px;
height: 80px;
background: url('../../../assets/img/img.jpg');
border-radius: 50%;
.head {

@ -124,8 +124,8 @@ export default {
setTimeout(() => {
this.majorList = StaffProfessionalArchitectureList
this.majorList[0].ifVisible = true
}, 500);
}).catch(res => {});
}, 500)
}).catch(res => {})
},
//
fircheckitem(item){
@ -171,9 +171,9 @@ export default {
this.$post(`${this.api.deleteStudentProfessionalArchitecture}?studentProfessionalArchitectureIds=${item.stuProfessionalArchitectureId}`).then(res => {
this.$message.success('删除成功');
this.majorList.splice(index, 1)
}).catch(res => {});
}).catch(res => {})
})
.catch(() => {});
.catch(() => {})
},
sure(){
if(!this.Form.classmajorName) return this.$message.warning('请输入专业名称');
@ -193,7 +193,7 @@ export default {
e.label = this.Form.classmajorName
}
})
}).catch(res => {});
}).catch(res => {})
}else{
this.$post(this.api.addStudentProfessionalArchitecture,data).then(res => {
this.$message.success('添加成功');
@ -207,7 +207,7 @@ export default {
children: []
}
this.majorList.push(newData)
}).catch(res => {});
}).catch(res => {})
}
},
@ -249,7 +249,7 @@ export default {
}
})
})
}).catch(res => {});
}).catch(res => {})
})
.catch(() => {});
},
@ -273,7 +273,7 @@ export default {
}
})
})
}).catch(res => {});
}).catch(res => {})
}else{
this.$post(this.api.addGrade,data).then(res => {
this.$message.success('添加成功');
@ -292,7 +292,7 @@ export default {
e.children.push(newData)
}
})
}).catch(res => {});
}).catch(res => {})
}
},
@ -347,7 +347,7 @@ export default {
})
})
})
}).catch(res => {});
}).catch(res => {})
})
.catch(() => {});
},
@ -373,7 +373,7 @@ export default {
})
})
})
}).catch(res => {});
}).catch(res => {})
}else{
this.$post(this.api.addClass,data).then(res => {
this.$message.success('添加成功');
@ -399,7 +399,7 @@ export default {
}
})
})
}).catch(res => {});
}).catch(res => {})
}
}

@ -152,14 +152,4 @@ export default {
<style lang="scss" scoped>
@import '../../../styles/pages/tree.scss';
.side_view{
height: 800px;
padding: 40px 20px;
background-color: #fff;
box-shadow:-2px 0px 57px 0px rgba(192,189,216,0.39);
i {
color: #cb221c;
}
}
</style>

@ -1,36 +1,34 @@
<template>
<div>
<div>
<div class="side_view">
<p class="side_icon mab20">
<i class="icon-jiahao mar20" @click="addMajor"></i>
<!-- <i class="icon-delete"></i> -->
</p>
<div class="side_tree" @click.stop="open(item)" v-for="(item,index) in majorList" :key="index">
<div class="item" @click.stop="open(item)">
<!-- <i :class="{ 'arrowTransform': !item.ifVisible, 'arrowTransformReturn': item.ifVisible}" class="icon-shixiangyoujiantou-"></i> -->
<img
v-if="item.children&&item.children.length!=0"
:class="{ 'arrowTransform': !item.ifVisible, 'arrowTransformReturn': item.ifVisible}"
src="../../../assets/img/icon-xiangyou.png"
alt
/>
<i v-else class="empty"></i>
<i :class="item.ischeck ? 'icon-yigouxuan' : 'icon-weigouxuan'" @click.stop="fircheckitem(item)"></i>
<span @click.stop="fircheckitem(item)">{{item.staffProfessionalArchitectureName}}</span>
<i class="edit ft" @click.stop="editMajor(item)"></i>
<i class="el-icon-circle-plus ft" @click.stop="addDepartment(item)"></i>
<i class="icon-delete ft" @click.stop="delMajor(item,index)"></i>
</div>
<div class="side_view second">
<p class="side_icon">
<i class="icon-jiahao" @click="addMajor"></i>
<!-- <i class="icon-delete"></i> -->
</p>
<div class="side_tree" @click.stop="open(item)" v-for="(item,index) in majorList" :key="index">
<div class="item" @click.stop="open(item)">
<!-- <i :class="{ 'arrowTransform': !item.ifVisible, 'arrowTransformReturn': item.ifVisible}" class="icon-shixiangyoujiantou-"></i> -->
<img
v-if="item.children&&item.children.length!=0"
:class="{ 'arrowTransform': !item.ifVisible, 'arrowTransformReturn': item.ifVisible}"
src="../../../assets/img/icon-xiangyou.png"
alt
/>
<i v-else class="empty"></i>
<i :class="item.ischeck ? 'icon-yigouxuan' : 'icon-weigouxuan'" @click.stop="fircheckitem(item)"></i>
<span @click.stop="fircheckitem(item)">{{item.staffProfessionalArchitectureName}}</span>
<i class="edit ft" @click.stop="editMajor(item)"></i>
<i class="el-icon-circle-plus ft" @click.stop="addDepartment(item)"></i>
<i class="icon-delete ft" @click.stop="delMajor(item,index)"></i>
</div>
<div v-show="item.ifVisible" v-if="item.children&&item.children.length!=0">
<div v-for="(item1,index1) in item.children" :key="index1">
<div class="item2" @click.stop="open(item1)">
<i :class="item1.ischeck ? 'icon-yigouxuan' : 'icon-weigouxuan'" @click.stop="twocheckitem(item1)"></i>
<span @click.stop="twocheckitem(item1)">{{item1.label}}</span>
<i class="edit ft" @click.stop="editDepartment(item1)"></i>
<i class="icon-delete ft" @click.stop="delDepartment(item1,index1)"></i>
</div>
<div v-show="item.ifVisible" v-if="item.children&&item.children.length!=0">
<div v-for="(item1,index1) in item.children" :key="index1">
<div class="item2" @click.stop="open(item1)">
<i :class="item1.ischeck ? 'icon-yigouxuan' : 'icon-weigouxuan'" @click.stop="twocheckitem(item1)"></i>
<span @click.stop="twocheckitem(item1)">{{item1.label}}</span>
<i class="edit ft" @click.stop="editDepartment(item1)"></i>
<i class="icon-delete ft" @click.stop="delDepartment(item1,index1)"></i>
</div>
</div>
</div>
@ -291,199 +289,13 @@ export default {
}
})
})
}).catch(res => {});
}).catch(res => {})
})
.catch(() => {});
.catch(() => {})
}
}
};
</script>
<style lang="scss" scoped>
$insideColor: rgba(245, 242, 255, 0.8); //
$outColor: rgba(255, 255, 255, 0.8); //
//,item
@mixin public {
cursor: pointer;
font-size: 16px;
color: #333333;
display: flex;
align-items: center;
img {
height: 20px;
width: 20px;
margin-left: 10px;
}
}
.main {
width: 100%;
}
.item {
@include public;
width: 100%;
padding: 15px 0;
background:rgba(255,255,255,1);
box-shadow:1px 14px 29px 0px rgba(255,69,69,0.19);
border-radius:10px;
text-align: left;
margin-top: 20px;
}
.item:first{
margin-top: 0;
}
.item2 {
@include public;
margin-top: 20px;
margin-left:50px
}
.item2:hover{
color: #cb221c;
}
.item .empty{
width: 25px;
}
.edit{
display: inline-block;
width: 17px;
height: 17px;
background: url(../../../assets/svg/edit.svg) 0 0/cover no-repeat;
}
//ul,li
ul,
li {
padding: 0;
margin: 0;
list-style: none;
}
// 使
.arrowTransform {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(0deg);
}
.arrowTransformReturn {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(90deg);
}
//
.checkBox {
width: 14px;
height: 14px;
border-radius: 7px;
margin-left: 10px;
margin-right: 10px;
border: 2px solid rgba(146, 120, 255, 1);
}
//
.isActive {
background: url('../../../assets/img/icon-yigouxuan.png');
background-size: 14px 14px; /*按比例缩放*/
}
.side_view{
padding: 40px 20px;
background-color: #fff;
i {
color: #cb221c;
}
}
.side_icon{
text-align: right;
}
.side_icon i{
cursor:pointer;
font-size: 16px;
}
.side_tree{
width: 100%;
font-size: 14px;
color: #333;
i{
color: #cb221c;
margin-left: 5px;
font-size: 17px;
}
span{
margin-left: 5px;
font-size: 14px;
}
}
.side_view{
height: 800px;
padding: 40px 20px;
background-color: #fff;
overflow: auto;
}
.side_icon{
text-align: right;
}
.side_icon i{
cursor:pointer;
font-size: 20px;
color: #cb221c;
}
.fir_back{
width: 100%;
padding: 15px 0;
background:rgba(255,255,255,1);
/* box-shadow:1px 14px 29px 0px rgba(138,97,250,0.19); */
border-radius:10px;
text-align: left;
}
.fir_back:first-child{
margin-top: 20px;
}
.fir_back:hover{
box-shadow:1px 14px 29px 0px rgba(138,97,250,0.19);
cursor:pointer;
}
.fir_back span{
margin-left: 10px;
}
.two_active{
color: #cb221c;
}
/* .two_active:hover{
color: #cb221c;
cursor:pointer;
} */
.two_back:hover{
cursor:pointer;
color: #cb221c;
}
.mar_top{
margin-top: 20px;
}
.back_active{
box-shadow:1px 14px 29px 0px rgba(138,97,250,0.19);
}
.bor_lef{
padding: 20px 0 0 0;
margin-left: 40px;
}
.three_lef{
margin-left: 60px;
padding: 20px 0;
}
.three_text{
font-size: 14px;
margin-top: 10px;
}
.teacher_tab{
margin-left: 20px;
}
.icon_select:before{
transform: rotate(180deg);
}
.list-enter-active, .list-leave-active { transition: all 1s; }
.list-enter, .list-leave-to { opacity: 0; transform: translateY(-30px); }
@import '../../../styles/pages/tree.scss';
</style>

@ -1,239 +0,0 @@
<template>
<div class="side_view">
<p class="side_icon mab20">
<i class="icon-jiahao mar20" @click="addMajor"></i>
<!-- <i class="icon-delete"></i> -->
</p>
<div class="side_tree" @click.stop="open(item)" v-for="(item,index) in data" :key="index">
<div class="item" @click.stop="open(item)">
<!-- <i :class="{ 'arrowTransform': !item.ifVisible, 'arrowTransformReturn': item.ifVisible}" class="icon-shixiangyoujiantou-"></i> -->
<img
:class="{ 'arrowTransform': !item.ifVisible, 'arrowTransformReturn': item.ifVisible}"
src="../../../assets/img/icon-xiangyou.png"
alt
/>
<i :class="item.ischeck ? 'icon-yigouxuan' : 'icon-weigouxuan'" @click.stop="fircheckitem(item)"></i>
<span>{{item.staffProfessionalArchitectureName}}</span>
<i class="el-icon-info ft" @click.stop="editMajor(item)"></i>
<i class="el-icon-circle-plus ft" @click.stop="addDepartment(item)"></i>
<i class="icon-delete ft" @click.stop="delMajor(item,index)"></i>
</div>
<div v-show="item.ifVisible" v-if="item.children&&item.children.length!=0">
<div v-for="(item1,index1) in item.children" :key="index1">
<div class="item2" @click.stop="open(item1)">
<i :class="item1.ischeck ? 'icon-yigouxuan' : 'icon-weigouxuan'" @click.stop="twocheckitem(item1)"></i>
<span>{{item1.label}}</span>
<i class="el-icon-info ft" @click.stop="editDepartment(item1)"></i>
<i class="icon-delete ft" @click.stop="delDepartment(item1,index1)"></i>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
Array.prototype.removeByValue = function (val) {
for (var i = 0; i < this.length; i++) {
if (JSON.stringify(this[i]).indexOf(JSON.stringify(val)) != -1) {
this.splice(i, 1);
break;
}
}
};
export default {
data() {
return {
chooseList: []
};
},
watch: {
chooseList(n, o) {
this.$emit('chooseNode', n);
}
},
props: {
data: {
type: Array
}
},
methods: {
//
open(item) {
item.ifVisible = !item.ifVisible;
},
//removeByvaluemain.js
choose(item) {
item.ifVisible = !item.ifVisible;
if (item.ifVisible) {
this.chooseList.push(item);
} else {
this.chooseList.removeByValue(item);
}
},
fircheckitem(item){
this.$emit('fircheckitem',item);
},
twocheckitem(item){
this.$emit('twocheckitem',item);
},
//
addMajor(){
this.$emit('addMajor');
},
editMajor(item){
this.$emit('editMajor',item);
},
delMajor(item,index){
this.$emit('delMajor',item,index);
},
//
addDepartment(item){
this.$emit('addDepartment',item);
},
editDepartment(item){
this.$emit('editDepartment',item);
},
delDepart(item,index){
this.$emit('delDepart',item,index);
},
//
addClass(item){
this.$emit('addClass',item);
},
editDepartment(item){
this.$emit('editDepartment',item);
},
delDepartment(item,index){
this.$emit('delDepartment',item,index);
},
//
isHasObj(arr, val) {
var flag = 0; //1 0
for (var i = 0; i < arr.length; i++) {
if (JSON.stringify(arr[i]).indexOf(JSON.stringify(val)) != -1) {
flag = 1;
}
}
if (flag == 1) {
return true;
} else {
return false;
}
}
}
};
</script>
<style lang="scss" scoped>
$insideColor: rgba(245, 242, 255, 0.8); //
$outColor: rgba(255, 255, 255, 0.8); //
//,item
@mixin public {
cursor: pointer;
font-size: 14px;
color: #333333;
display: flex;
align-items: center;
img {
height: 20px;
width: 20px;
margin-left: 10px;
}
}
.main {
width: 100%;
}
.item {
@include public;
width: 100%;
padding: 15px 0;
background:rgba(255,255,255,1);
box-shadow:1px 14px 29px 0px rgba(138,97,250,0.19);
border-radius:10px;
text-align: left;
margin-top: 20px;
}
.item:first{
margin-top: 0;
}
.item2 {
@include public;
margin-top: 20px;
margin-left:60px
}
.item2:hover{
color: #cb221c;
}
//ul,li
ul,
li {
padding: 0;
margin: 0;
list-style: none;
}
// 使
.arrowTransform {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(0deg);
}
.arrowTransformReturn {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(90deg);
}
//
.checkBox {
width: 14px;
height: 14px;
border-radius: 7px;
margin-left: 10px;
margin-right: 10px;
border: 2px solid rgba(146, 120, 255, 1);
}
//
.isActive {
background: url('../../../assets/img/icon-yigouxuan.png');
background-size: 14px 14px; /*按比例缩放*/
}
.side_view{
// height: 800px;
padding: 40px 20px;
background-color: #fff;
box-shadow:-2px 0px 57px 0px rgba(192,189,216,0.39);
i {
color: #cb221c;
}
}
.side_icon{
text-align: right;
}
.side_icon i{
cursor:pointer;
font-size: 20px;
}
.side_tree{
width: 100%;
font-size: 14px;
color: #333;
i{
margin-left: 10px;
}
span{
margin-left: 5px;
font-size: 14px;
}
}
</style>

@ -7,7 +7,10 @@ router.beforeEach((to, from, next) => {
document.title = `${to.meta.title} | ${Setting.titleSuffix}`
const role = util.session.get(Setting.usernameKey)
if (!role && to.path !== '/login') {
next('/login');
next({
path: '/login',
query: {redirect: to.fullPath}
})
} else if(role && to.path == '/login') {
next('/index')
} else if(role && to.path == '/') {

@ -49,62 +49,9 @@ const Setting = {
/**
* 布局配置
* */
// 侧边菜单宽度,单位 px,不可动态修改,需与 setting.less 的 @menuSideWidth 保持一致
menuSideWidth: 256,
layout: {
// 需要隐藏顶栏的页面路径
hideNavList: ['testPaper-add','testPaper-review','testPaper-show','testPaper-doReview','assessment-review','assessment-scoreQuery','assessment-detail','assessment-monitor','achievement-show','achievement-statistics','achievement-detail','setting-person','practice-review','practice-scoreQuery','practice-result','practice-detail','practice-doReview'],
// 侧边栏风格,可选值为 dark 或 light
siderTheme: 'dark',
// 顶栏风格,可选值为 light、dark 或 primary
headerTheme: 'light',
// 顶栏是否置顶,开启后会覆盖侧边栏,需开启 headerFix
headerStick: false,
// 是否开启多 Tabs 页签
tabs: true,
// 多 Tabs 页签是否显示图标,开启 tabs 时有效
showTabsIcon: true,
// 是否固定多 Tabs 多页签
tabsFix: true,
// 是否固定侧边栏
siderFix: true,
// 是否固定顶栏
headerFix: true,
// 是否在下滑时隐藏顶栏,需开启 headerFix,如果开启了 tabsFix,Tabs 也会被隐藏
headerHide: false,
// 是否显示顶部菜单栏
// 一般来说,侧边的菜单栏足以满足大部分业务,如需动态切换侧边栏,可开启此选项启用顶部一级菜单,此时侧边栏将作为二级菜单
headerMenu: false,
// 侧边菜单栏是否开启手风琴模式
menuAccordion: true,
// 是否显示折叠侧边栏按钮,移动端下会自动强制开启
showSiderCollapse: true,
// 侧边菜单栏是否默认折起
menuCollapse: false,
// 侧边菜单折起时,是否在子菜单前显示父级菜单名称
showCollapseMenuTitle: false,
// 是否显示重载按钮
showReload: true,
// 是否显示搜索
showSearch: true,
// 是否显示通知
showNotice: true,
// 是否显示全屏
showFullscreen: true,
// 在手机访问时,是否在顶部显示小尺寸 logo
showMobileLogo: true,
// 是否显示全局面包屑,开启 headerMenu 时不可用
showBreadcrumb: true,
// 全局面包屑是否显示图标,开启 showBreadcrumb 时有效
showBreadcrumbIcon: false,
// 是否显示日志入口,开启与否,不影响日志记录,如不希望用户看到可关闭
showLog: true,
// 是否显示多语言
showI18n: true,
// 是否支持动态修改布局配置,移动端下会自动强制关闭
enableSetting: true,
// 退出登录时,是否二次确认
logoutConfirm: true
},
/**
* 功能配置

@ -2,7 +2,6 @@
$insideColor: rgba(245, 242, 255, 0.8); //内部节点的边框颜色
$outColor: rgba(255, 255, 255, 0.8); //外部节点的边框颜色
//混合代码,提取item共同样式
@mixin public {
cursor: pointer;
font-size: 14px;
@ -16,91 +15,96 @@ $outColor: rgba(255, 255, 255, 0.8); //外部节点的边框颜色
}
}
.side_tree{
width: 100%;
font-size: 14px;
color: #333;
.side_view{
height: 600px;
padding: 40px 20px;
background-color: #fff;
overflow: auto;
i{
margin-left: 5px;
font-size: 17px;
color: $--color-primary;
}
span{
margin-left: 5px;
font-size: 14px;
}
}
.item {
@include public;
width: 100%;
padding: 15px 0;
background:rgba(255,255,255,1);
box-shadow:1px 14px 29px 0px rgba(255,69,69,0.19);
border-radius:10px;
text-align: left;
margin-top: 20px;
}
.empty{
width: 25px;
}
.item:first{
margin-top: 0;
}
.item1 {
@include public;
margin-top: 20px;
margin-left: 23px;
}
.item2 {
@include public;
margin-top: 20px;
margin-left:80px
}
.item3 {
@include public;
margin-top: 20px;
margin-left:95px
}
.item2:hover{
color: $--color-primary;
}
.edit{
display: inline-block;
width: 17px;
height: 17px;
background: url(../../../assets/svg/edit.svg) 0 0/cover no-repeat;
}
// 使三角形旋转动画
.arrowTransform {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(0deg);
}
.arrowTransformReturn {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(90deg);
}
//复选框样式
.checkBox {
width: 14px;
height: 14px;
border-radius: 7px;
margin-left: 10px;
margin-right: 10px;
border: 2px solid rgba(146, 120, 255, 1);
}
//当点击复选框时候切换背景图片
.isActive {
background: url('../../../assets/img/icon-yigouxuan.png');
background-size: 14px 14px; /*按比例缩放*/
}
.side_icon{
text-align: right;
i{
cursor:pointer;
font-size: 20px;
}
}
.side_tree{
width: 100%;
font-size: 14px;
color: #333;
.side_icon{
text-align: right;
.item {
@include public;
width: 100%;
padding: 15px 0;
background:rgba(255,255,255,1);
box-shadow:1px 14px 29px 0px rgba(255,69,69,0.19);
border-radius:10px;
text-align: left;
margin-top: 20px;
}
.empty{
width: 25px;
}
.item:first{
margin-top: 0;
}
.item1 {
@include public;
margin-top: 20px;
margin-left: 23px;
}
.item2 {
@include public;
margin-top: 20px;
margin-left:80px
}
.item3 {
@include public;
margin-top: 20px;
margin-left:95px
}
.item2:hover{
color: $--color-primary;
}
.edit{
display: inline-block;
width: 17px;
height: 17px;
background: url(../../../assets/svg/edit.svg) 0 0/cover no-repeat;
}
.arrowTransform {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(0deg);
}
.arrowTransformReturn {
transition: 0.4s;
transform-origin: center;
transform: rotateZ(90deg);
}
.checkBox {
width: 14px;
height: 14px;
border-radius: 7px;
margin-left: 10px;
margin-right: 10px;
border: 2px solid rgba(146, 120, 255, 1);
}
}
&.second{
.item2{
margin-left: 50px;
}
}
}
.side_icon i{
cursor:pointer;
font-size: 20px;
}
Loading…
Cancel
Save