Commit eaea9313 by yangyang19979

Merge branch 'yangqingjie' into '1a86cad6'

Yangqingjie

See merge request !1
parents 913333c4 0f46f90a
Subproject commit 3e4439c28ae19ff665cfef1192ba73ee32590e66
Subproject commit 88c881800bc3ed5c011c05dc0d3668296c9bde95
......@@ -2,7 +2,7 @@
<div id="app"
:style="{width: designWidth + 'px', height: designHeight + 'px'}"
>
<page-header />
<!-- <page-header /> -->
<div class="app-container">
<router-view></router-view>
......
<template>
<div class="frame-bg" v-if="visible">
<div
class="frame"
:style="{ width: layout.width, height: layout.height }"
>
<i class="close" @click="close"></i>
<div class="content">
<slot>
</slot>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
visible: {
type: Boolean,
default: false
}
},
data () {
return {
// visible: false // 是否展示弹框
}
},
computed: {
layout () {
const size = {
width: '1352px',
height: '792px'
}
return this.deepMerge({}, size, this.layoutProps)
}
},
methods: {
close () {
this.$emit('beforeClose', false)
}
}
}
</script>
<style lang="less" scoped>
.frame-bg {
position: fixed;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
background-color: rgba(0, 0, 0, 0.3);
display: flex;
justify-content: center;
align-items: center;
z-index: 100;
.frame {
// padding: 90px 30px 30px 30px;
position: relative;
background: radial-gradient(circle, #0D375F, #091F33);
border: 3px solid;
border-image: linear-gradient(0deg, #71BEF9, #1E5D92, #002D52, #1F5E93, #71BEF8) 3 3;
.close {
cursor: pointer;
position: fixed;
top: 180px;
right: 330px;
width: 35px;
height: 33px;
z-index: 1;
// background: url('../../../static/images/close.png') no-repeat left top;
}
.content {
position: relative;
width: 100%;
height: 100%;
z-index: 0;
}
}
}
</style>
<template>
<header id="header">
<div class="logo">
<img src="./images/logo.png" alt="科艺logo"><span class="logo-desc">数字化管理平台</span>
<!-- <img src="./images/logo.png" alt="科艺logo"><span class="logo-desc">数字化管理平台</span> -->
</div>
<h2 class="title"><span>{{ currPageTitle }}</span></h2>
<div class="date">
......@@ -101,7 +101,7 @@ export default {
line-height: @pageHeaderHeight + 4;
white-space: nowrap;
text-align: center;
background: url('./images/header-bg.png') no-repeat center top;
// background: url('./images/header-bg.png') no-repeat center top;
> span {
font-size: 34px;
......
<template>
<div class="select-container">
<!-- 当前选择的内容 或 默认占位符 -->
<div class="select-title" @click="toggleSelectList">
{{ currSelect.name || title }}
</div>
<!-- 下拉选择列表 -->
<ul
class="select-list"
@mouseover="selectMouseOver"
@mouseleave="selectMouseLeave"
v-show="showSelect"
>
<li
v-for="(item, index) in list"
:key="index"
@click.stop="selectItem(item)"
>
{{ item.name }}
</li>
</ul>
</div>
</template>
<script>
let timer = null
export default {
name: 'SelectList',
data () {
return {
showSelect: false,
currSelect: {} // 当前选择项内容
}
},
props: {
// 当前选择组件标题
title: {
type: String,
default: ''
},
// 待选择列表
list: {
type: Array,
default () {
return []
}
}
},
methods: {
/**
* @method toggleSelectList 切换显示/隐藏下拉列表
*/
toggleSelectList () {
this.showSelect = !this.showSelect
this.selectMouseLeave(3000)
},
/**
* @method selectMouseOver 下拉选择框鼠标移入事件
*/
selectMouseOver () {
clearTimeout(timer)
timer = null
},
/**
* @method selectMouseLeave 下拉选择框鼠标移出事件
*/
selectMouseLeave (interval = 1000) {
timer = setTimeout(() => {
if (this.showSelect === true) {
this.showSelect = false
}
}, interval)
},
/**
* @method selectItem 选择当前项
* @param {Object} item 当前选择项数据
*/
selectItem (item = {}) {
this.showSelect = false
this.currSelect = item
this.$emit('input', item)
}
}
}
</script>
<style lang="less">
.select-container {
width: 100%;
height: 100%;
}
.select-title {
position: relative;
padding-right: 10px;
padding-left: 10px;
line-height: 30px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #7AC6FA;
background-color: rgba(7, 32, 65, 0.3);
border: 1px solid rgba(73, 133, 217, .6);
cursor: pointer;
&:after {
content: "";
position: absolute;
top: 10px;
right: 10px;
width: 0;
height: 0;
border: 9px solid transparent;
border-top-color: #6BA6F8;
}
}
// 下拉选择列表
.select-list {
position: absolute;
right: 0;
left: 0;
z-index: 10;
// height: 122px;
overflow-x: hidden;
overflow-y: auto;
border: 1px solid rgba(73, 133, 217, 0.6);
background-color:#90c0e7;
box-sizing: border-box;
&::-webkit-scrollbar {
-webkit-appearance: none;
width: 4px;
height: 6px;
}
&::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: rgba(29, 189, 255, .8);
}
> li {
height: 30px;
line-height: 30px;
padding-right: 10px;
padding-left: 10px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
cursor: pointer;
&:hover {
background-color: rgba(73, 133, 217, .5);
}
}
}
</style>
<template>
<div class="student">
<img src='../../static/images/classStudent/1.png' />
</div>
</template>
<script>
export default {
}
</script>
<style>
.student{
width: 1920px;
height: 1080px;
}
</style>
\ No newline at end of file
<template>
<div class="class3">
<img class="img1" @click="change1" src="../../static/images/class3/more.png" />
<img class="img2" @click="change2" src="../../static/images/class3/more.png" />
<img class="img3" @click="change3" src="../../static/images/class3/more.png" />
<img class="img4" @click="change4" src="../../static/images/class3/back.png" />
<!-- 搜索 -->
<div class="class3-search">
<div class="select-item">
<select-list
title="年级"
:list="gradeList"
v-model="gradeRes"
/>
</div>
<div class="select-item">
<select-list
title="班级"
:list="classList"
v-model="classRes"
/>
</div>
<div class="select-item">
<select-list
title="性别"
:list="sexList"
v-model="sexRes"
/>
</div>
<div class="select-item student-name">
<input
placeholder="学生姓名"
v-model="studentName"
@keyup.enter="Search"
/>
</div>
<div
class="search"
@click="Search"
>
搜索
</div>
</div>
<!-- 弹框 -->
<bullet-frame
:visible="visible"
@beforeClose="closePopup"
:layout="{width: '1102px', height: '792px'}"
>
<div>
<img :src="pics[currIndex]" />
</div>
</bullet-frame>
</div>
</template>
<script>
import SelectList from '@/components/SelectList.vue'
export default {
components: {
SelectList
},
data () {
return {
visible: false,
currIndex: 999,
pics: [
require('../../static/images/class3/health.png'),
require('../../static/images/class3/ronghe.png'),
require('../../static/images/class3/ronghe.png')
],
// 选择年级
gradeRes: {
name: ''
},
// 年级选择结果
gradeList: [
{name: '一年级'},
{name: '二年级'},
{name: '三年级'},
{name: '四年级'},
{name: '五年级'}
],
// 选择班级
classRes: {
name: ''
},
// 学科选择结果
classList: [
{name: '一班'},
{name: '二班'},
{name: '三班'},
{name: '四班'},
{name: '五班'}
],
// 选择性别
sexRes: {
name: ''
},
// 学科性别结果
sexList: [
{name: '男'},
{name: '女'}
],
// 老师姓名
studentName: ''
}
},
methods: {
/**
* @method change1 身心健康查看更多
*/
change1 () {
this.currIndex = 0
this.visible = true
console.log(this.currIndex)
},
/**
* @method change1 五育融合查看更多
*/
change2 () {
this.currIndex = 1
this.visible = true
console.log(this.currIndex)
},
/**
* @method change1 学业水平查看更多
*/
change3 () {
this.currIndex = 2
this.visible = true
console.log(this.currIndex)
},
closePopup (flag) {
this.visible = flag
},
/**
* @method change4 返回
*/
change4 () {
this.$router.back(-1)
},
/**
* @method Search 查询更多
*/
Search () {
this.$router.push({path: '/student'})
}
}
}
</script>
<style lang="less" scoped>
@imagePath: "../../static/images/class3/";
.class3{
width: 1920px;
height: 1080px;
position: relative;
background: url('@{imagePath}bg.png') no-repeat center;
background-size: 1920px 1080px;
margin:0 auto;
background-color: rgb(238, 211, 211);
.img1{
position: absolute;
top:110px;
left:410px;
width: 96px;
height: 22px;
cursor: pointer;
}
.img2{
position: absolute;
top:110px;
right:25px;
width: 96px;
height: 22px;
cursor: pointer;
}
.img3{
position: absolute;
top:860px;
right:25px;
width: 96px;
height: 22px;
cursor: pointer;
}
.img4{
position: absolute;
top:50px;
right:25px;
width: 83px;
height: 35px;
cursor: pointer;
}
.class3-search{
position: absolute;
top:740px;
right:545px;
width: 830px;
height: 70px;
display: flex;
background: url('@{imagePath}kuang.png') no-repeat center;
background-size: 100% 100%;
border: springgreen 1px solid;
.select-item {
position: relative;
width: 140px;
height: 32px;
margin-right: 16px;
&.student-name {
width: 162px;
padding: 2px 10px 5px;
background: rgba(7, 32, 65, 0.3);
border: 1px solid rgba(73, 133, 217, 0.6);
> input {
width: 100%;
height: 100%;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #7AC6FA;
background: none;
&::-webkit-input-placeholder {
color: #7AC6FA;
}
}
}
}
.search {
width: 73px;
height: 32px;
background-color: rgba(7, 32, 65, 0.3);
border: 1px solid rgba(73, 133, 217, .6);
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #7AC6FA;
line-height: 30px;
text-align: center;
cursor: pointer;
}
}
}
</style>
\ No newline at end of file
......@@ -4,6 +4,8 @@ import mixins from '../mixins'
import ContentContainer from 'components/ContentContainer'
// 头部标题
import Header from 'components/Header'
// 弹框
import BulletFrame from 'components/BulletFrame'
const UsePlugin = {}
......@@ -19,6 +21,8 @@ UsePlugin.install = function (Vue, options = {}) {
Vue.component('content-container', ContentContainer)
// 页面头部标题
Vue.component('page-header', Header)
// 弹框
Vue.component('bullet-frame', BulletFrame)
}
export default UsePlugin
// 导入页面名称
import Index from '@/pages/index.vue'
// 三年级菊宝
import class3 from '@/pages/class3.vue'
// 三年级菊宝个人
import student from '@/pages/class3-student.vue'
export default [
{
......@@ -9,5 +13,13 @@ export default [
{
path: '/index',
component: Index
},
{
path: '/class3',
component: class3
},
{
path: '/student',
component: student
}
]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment