fix(少背景图)

ui1
Jo 3 years ago
parent a0c8abe633
commit 04e7dc6417
  1. BIN
      src/assets/img/close.png
  2. BIN
      src/assets/img/data1.png
  3. BIN
      src/assets/img/data2.png
  4. BIN
      src/assets/img/data3.png
  5. BIN
      src/assets/img/info1.png
  6. BIN
      src/assets/img/info2.png
  7. BIN
      src/assets/img/info3.png
  8. BIN
      src/assets/img/product.png
  9. BIN
      src/assets/img/school.png
  10. BIN
      src/assets/img/search-gray.png
  11. BIN
      src/assets/img/stat1.png
  12. BIN
      src/assets/img/stat2.png
  13. BIN
      src/assets/img/stat3.png
  14. BIN
      src/assets/img/stat4.png
  15. BIN
      src/assets/img/stat5.png
  16. BIN
      src/assets/img/stat6.png
  17. BIN
      src/assets/img/stat7.png
  18. 9
      src/layouts/home/index.vue
  19. 72
      src/pages/data/list/index.vue
  20. 25
      src/pages/index/list/index.vue
  21. 2
      src/pages/role/list/index.vue
  22. 21
      src/pages/setting/person/index.vue
  23. 164
      src/pages/setting/person/info.vue
  24. 84
      src/pages/stat/list/index.vue
  25. 2
      src/pages/user/list/index.vue
  26. 33
      src/styles/common.scss

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -52,17 +52,14 @@ export default {
margin-top: 64px; margin-top: 64px;
} }
.view{ .view{
// max-width: $max-width;
min-width: $min-width; min-width: $min-width;
min-height: calc(100vh - 52px); min-height: calc(100vh - 52px);
margin: 0 auto;
}
.pd{
padding: 12px 80px 0; padding: 12px 80px 0;
margin: 0 auto;
background-color: #F3F6FA; background-color: #F3F6FA;
.shapes{
display: block;
} }
.index{
padding: 0;
} }
} }
</style> </style>

@ -1,5 +1,5 @@
<template> <template>
<div class="wrap pd"> <div class="wrap">
<div class="left"> <div class="left">
<el-menu class="menu" ref="type" @open="selectType" @select="selectType" unique-opened :default-active="defaultType" :default-openeds="defaultOpenType"> <el-menu class="menu" ref="type" @open="selectType" @select="selectType" unique-opened :default-active="defaultType" :default-openeds="defaultOpenType">
<template v-for="item in typeList"> <template v-for="item in typeList">
@ -92,16 +92,16 @@
</div> </div>
<div class="right"> <div class="right">
<div class="page"> <div class="page">
<h6 class="p-title">数据介绍</h6> <h6 class="l-title"><img src="@/assets/img/data1.png" alt=""> 数据介绍</h6>
<div> <div>
<div class="search"> <div class="search">
<input v-model="keyword" type="text" placeholder="请输入数据表名称"> <input v-model="keyword" type="text" placeholder="请输入数据表名称">
<img src="../../../assets/img/search.png" alt="" class="search-icon"> <img src="../../../assets/img/search-gray.png" alt="" class="search-icon">
</div> </div>
</div> </div>
<div class="page-content">
<div class="desc">{{introduce}}</div> <div class="desc">{{introduce}}</div>
<div style="margin-bottom: 30px"><span class="source">数据来源</span>{{dataSource}}</div> <div class="source"><img src="@/assets/img/data2.png" alt=""> 数据来源{{dataSource}}</div>
<div class="page-content">
<el-table :data="listData" class="table" ref="table" stripe header-align="center" row-key="id" highlight-current-row @current-change="previewCurrentChange"> <el-table :data="listData" class="table" ref="table" stripe header-align="center" row-key="id" highlight-current-row @current-change="previewCurrentChange">
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column> <el-table-column type="index" width="100" label="序号" align="center"></el-table-column>
<el-table-column prop="showName" label="数据表名称" align="center"></el-table-column> <el-table-column prop="showName" label="数据表名称" align="center"></el-table-column>
@ -116,7 +116,7 @@
{{scope.row.dataSize}}M {{scope.row.dataSize}}M
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="updateTime" label="更新时间" width="150" align="center"></el-table-column> <el-table-column prop="updateTime" label="更新时间" width="170" align="center"></el-table-column>
<el-table-column label="操作" width="120" align="center"> <el-table-column label="操作" width="120" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="preview(scope.row)">预览</el-button> <el-button type="text" @click="preview(scope.row)">预览</el-button>
@ -129,16 +129,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="page" v-if="previewHead.length">
<h6 class="p-title">数据预览</h6>
<div class="page-content">
<el-table :data="previewData" class="table" id="previewTable" stripe header-align="center" row-key="id">
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column>
<el-table-column v-for="(item,index) in previewHead" :prop="item.field" :key="index" :label="item.comment" align="center"></el-table-column>
</el-table>
</div>
</div>
</div> </div>
<el-dialog title="下载" :visible.sync="downloadVisible" width="540px" @close="closeDownload" :close-on-click-modal="false"> <el-dialog title="下载" :visible.sync="downloadVisible" width="540px" @close="closeDownload" :close-on-click-modal="false">
@ -169,6 +159,24 @@
<el-button size="small" type="primary" @click="confirmDown">确定</el-button> <el-button size="small" type="primary" @click="confirmDown">确定</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-drawer
custom-class="preview-dia"
size="709"
:with-header="false"
:visible.sync="previewVisible">
<div class="flex j-between">
<div class="l-title">
<img src="@/assets/img/data3.png" alt="">
数据预览
</div>
<img width="52" src="@/assets/img/close.png" style="cursor: pointer" alt="" @click="previewVisible = false">
</div>
<el-table :data="previewData" class="table" id="previewTable" stripe header-align="center" row-key="id">
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column>
<el-table-column v-for="(item,index) in previewHead" :prop="item.field" :key="index" :label="item.comment" align="center"></el-table-column>
</el-table>
</el-drawer>
</div> </div>
</template> </template>
@ -198,6 +206,7 @@ export default {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
previewVisible: false,
previewHead: [], previewHead: [],
previewData: [], previewData: [],
downloadVisible: false, downloadVisible: false,
@ -311,8 +320,6 @@ export default {
this.$post(`${this.api.getIdQueryTable}?categoryId=${this.defaultType}&showName=${this.keyword}&pageNum=${this.page}&pageSize=${this.pageSize}&updateTime=`).then(res => { this.$post(`${this.api.getIdQueryTable}?categoryId=${this.defaultType}&showName=${this.keyword}&pageNum=${this.page}&pageSize=${this.pageSize}&updateTime=`).then(res => {
this.listData = res.pageList.records this.listData = res.pageList.records
this.total = res.pageList.total this.total = res.pageList.total
//
this.listData.length && this.preview(this.listData[0], 1)
}).catch(res => { }) }).catch(res => { })
}, },
initData() { initData() {
@ -380,11 +387,7 @@ export default {
} }
}) })
this.previewData = data this.previewData = data
// , this.previewVisible = true
isDefault || this.$nextTick(() => {
document.querySelector('#previewTable').scrollIntoView()
})
}).catch(res => { }) }).catch(res => { })
}, },
checkAllFieldsChange(val) { checkAllFieldsChange(val) {
@ -532,6 +535,9 @@ export default {
color: #3381d2; color: #3381d2;
} }
} }
.el-submenu__title i{
font-size: 14px;
}
.el-submenu .el-menu{ .el-submenu .el-menu{
background-color: #fff; background-color: #fff;
} }
@ -540,9 +546,13 @@ export default {
&+.el-menu .el-submenu__title{ &+.el-menu .el-submenu__title{
background-color: rgba(147,184,255,.15); background-color: rgba(147,184,255,.15);
} }
i{
color: #006EFF;
}
} }
} }
.el-menu-item.is-active{ .el-menu-item.is-active{
color: #fff;
background-color: #0070FF; background-color: #0070FF;
} }
.level-6 { .level-6 {
@ -563,17 +573,24 @@ export default {
color: #333; color: #333;
} }
.source { .source {
color: #568DF2; margin-bottom: 12px;
color: #7EB1F3;
}
} }
} }
.desc{
padding: 9px 12px;
margin: 30px 0 10px;
font-size: 12px;
color: #333;
background-color: #FAFAFA;
} }
} }
.search{ .search{
z-index: 2; z-index: 2;
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 83%; right: 16px;
transform: translate(-50%);
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -606,4 +623,7 @@ export default {
width: 18px; width: 18px;
} }
} }
/deep/.preview-dia{
padding: 20px;
}
</style> </style>

@ -1,7 +1,6 @@
<template> <template>
<div class="wrap" :class="{result: keyword}"> <div class="wrap" :class="{index: !keyword}">
<div class="banner"> <div class="banner">
<hr class="shadow" v-if="keyword">
<div class="title" v-if="!keyword">准确多元海量数据</div> <div class="title" v-if="!keyword">准确多元海量数据</div>
<div class="search-wrap"> <div class="search-wrap">
<div class="search"> <div class="search">
@ -80,7 +79,7 @@
<!-- 关于 --> <!-- 关于 -->
<div class="about"> <div class="about">
<div class="inner"> <div class="inner">
<h6 class="l-title">关于数据平台</h6> <h6 class="i-title">关于数据平台</h6>
<div class="desc">欢迎使用数据平台这是我们的财经数据库我们的数据涵盖股票数据期货数据债券数据期权数据利率数据公募数据和宏观数据拥有超40年的历史数据可为您解读预测分析模拟市场趋势经济周期和世界事件影响提供必要的数据支持我们的数据均来源于各大专业财经权威网站和数据官方发布平台并经过专业的数据分类和整理可让用户轻松便捷地搜索并批量下载到自己研究所需的数据极大地减轻自己搜索整理数据的时间提高研究效率, 从而高效的输出研究成果</div> <div class="desc">欢迎使用数据平台这是我们的财经数据库我们的数据涵盖股票数据期货数据债券数据期权数据利率数据公募数据和宏观数据拥有超40年的历史数据可为您解读预测分析模拟市场趋势经济周期和世界事件影响提供必要的数据支持我们的数据均来源于各大专业财经权威网站和数据官方发布平台并经过专业的数据分类和整理可让用户轻松便捷地搜索并批量下载到自己研究所需的数据极大地减轻自己搜索整理数据的时间提高研究效率, 从而高效的输出研究成果</div>
</div> </div>
</div> </div>
@ -90,7 +89,7 @@
<img src="@/assets/img/index/index9.png" alt="" class="shape shape2"> <img src="@/assets/img/index/index9.png" alt="" class="shape shape2">
<img src="@/assets/img/index/index10.png" alt="" class="shape shape3"> <img src="@/assets/img/index/index10.png" alt="" class="shape shape3">
<div class="inner"> <div class="inner">
<h6 class="l-title">特色与优势</h6> <h6 class="i-title">特色与优势</h6>
<ul class="list"> <ul class="list">
<li> <li>
<img src="@/assets/img/index/index3.png" alt=""> <img src="@/assets/img/index/index3.png" alt="">
@ -113,7 +112,7 @@
<!-- 产品展示 --> <!-- 产品展示 -->
<div class="product"> <div class="product">
<div class="inner"> <div class="inner">
<h6 class="l-title">产品展示</h6> <h6 class="i-title">产品展示</h6>
<div class="pics"> <div class="pics">
<div class="text"> <div class="text">
<img src="@/assets/img/index/index11.png" alt="" class="icon"> <img src="@/assets/img/index/index11.png" alt="" class="icon">
@ -348,18 +347,12 @@ export default {
} }
} }
} }
&.result{ &.pd{
.shadow{ .banner{
position: absolute; padding: 46px 0;
top: 0;
left: 0;
width: 100%;
border: 0;
border-bottom: 1px solid rgba(228,228,228,0.5);
box-shadow: 0 0 12px 2px rgba(228,228,228,0.8);
} }
.tips{ .tips{
margin-bottom: 50px; margin-bottom: 22px;
.result{ .result{
margin: 30px 0 10px; margin: 30px 0 10px;
font-size: 17px; font-size: 17px;
@ -375,7 +368,7 @@ export default {
} }
} }
} }
.l-title{ .i-title{
position: relative; position: relative;
margin-bottom: 37px; margin-bottom: 37px;
font-size: 30px; font-size: 30px;

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div class="page"> <div class="page">
<h6 class="p-title bd">角色列表</h6> <h6 class="l-title">角色列表</h6>
<div class="page-content"> <div class="page-content">
<div class="tool"> <div class="tool">
<ul class="filter"> <ul class="filter">

@ -1,17 +1,18 @@
<template> <template>
<div>
<div class="wrap"> <div class="wrap">
<div class="left"> <div class="left">
<div class="inner"> <div class="inner">
<div class="text-center"> <div class="text-center">
<img :src="avatar" class="avatar" /> <img :src="avatar" class="avatar" />
<el-upload :headers="{token}" :action="this.api.uploadUserAvatars" name="file" :limit="10" :show-file-list="false" :on-success="changeAvatar"> <el-upload :headers="{token}" :action="this.api.uploadUserAvatars" name="file" :limit="10" :show-file-list="false" :on-success="changeAvatar">
<el-button type="text" size="small">上传头像</el-button> <el-button type="text" size="small">点击更换头像</el-button>
</el-upload> </el-upload>
</div> </div>
<ul class="menu"> <ul class="menu">
<li v-for="item in typeList" :key="item.index" :class="{active: item.index == active}" @click="selectType(item.index)">{{ item.title }}</li> <li v-for="item in typeList" :key="item.index" :class="{active: item.index == active}" @click="selectType(item.index)">
{{ item.title }}
</li>
</ul> </ul>
</div> </div>
</div> </div>
@ -20,7 +21,6 @@
<download v-else></download> <download v-else></download>
</div> </div>
</div> </div>
</div>
</template> </template>
<script> <script>
@ -101,15 +101,15 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/.wrap{ .wrap{
display: flex; display: flex;
.left{ .left{
margin-right: 20px; margin-right: 20px;
.inner{ .inner{
width: 200px; width: 170px;
padding: 30px 0; padding: 20px 0;
border-radius: 8px;
background-color: #fff; background-color: #fff;
box-shadow: 2px 0px 6px 0px #EEEEEE;
} }
.avatar{ .avatar{
width: 80px; width: 80px;
@ -117,15 +117,16 @@ export default {
border-radius: 50%; border-radius: 50%;
} }
.menu{ .menu{
margin-top: 32px;
li{ li{
padding: 0 20px; padding: 0 20px;
color: #303133; color: #303133;
font-size: 14px; font-size: 14px;
line-height: 56px; line-height: 38px;
cursor: pointer; cursor: pointer;
&.active{ &.active{
color: #fff; color: #fff;
background-color: $main-color; background-color: #006EFF;
} }
} }
} }

@ -1,17 +1,19 @@
<template> <template>
<div> <div>
<div class="scroll">
<div class="page"> <div class="page">
<h6 class="p-title bd">用户信息</h6> <h6 class="l-title"><img src="@/assets/img/info1.png" alt=""> 用户信息</h6>
<div class="page-content"> <div class="page-content">
<ul class="list"> <ul class="list">
<div class="line">
<li> <li>
<label>姓名</label> <label>姓名</label>
<div> <div>
<el-input size="small" v-model="form.userName" clearable></el-input> <el-input size="small" v-model="form.userName" clearable></el-input>
</div> </div>
</li> </li>
<li> <li>
<label>性别</label> <label>性别</label>
<div> <div>
<el-select size="small" v-model="form.sex"> <el-select size="small" v-model="form.sex">
<el-option v-for="item in sexList" :key="item.value" :label="item.name" :value="item.value"></el-option> <el-option v-for="item in sexList" :key="item.value" :label="item.name" :value="item.value"></el-option>
@ -19,16 +21,17 @@
</div> </div>
</li> </li>
<li> <li>
<label>出生年月日</label> <label>出生年月日</label>
<div> <div>
<el-date-picker size="small" v-model="form.dateBirth" :clearable="false" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker> <el-date-picker size="small" v-model="form.dateBirth" :clearable="false" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker>
</div> </div>
</li> </li>
</div>
<div class="line">
<li> <li>
<label>所在国家</label> <label>所在</label>
<div class="mul"> <div class="mul">
<div class="child"> <div class="child">
<span>国家</span>
<div> <div>
<el-select size="small" v-model="form.countries" placeholder> <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-option v-for="item in countryList" :key="item.value" :label="item.label" :value="item.label"></el-option>
@ -36,7 +39,6 @@
</div> </div>
</div> </div>
<div class="child"> <div class="child">
<span>省份</span>
<div> <div>
<el-select size="small" v-model="form.provinceId" placeholder @change="id => getCity(id,1)"> <el-select size="small" v-model="form.provinceId" placeholder @change="id => getCity(id,1)">
<el-option v-for="item in provinceList" :key="item.provinceId" :label="item.provinceName" :value="item.provinceId"></el-option> <el-option v-for="item in provinceList" :key="item.provinceId" :label="item.provinceName" :value="item.provinceId"></el-option>
@ -44,7 +46,6 @@
</div> </div>
</div> </div>
<div class="child"> <div class="child">
<span>城市</span>
<div> <div>
<el-select size="small" v-model="form.cityId" placeholder :disabled="form.provinceId ? false : true"> <el-select size="small" v-model="form.cityId" placeholder :disabled="form.provinceId ? false : true">
<el-option v-for="item in cityList" :key="item.cityId" :label="item.cityName" :value="item.cityId"></el-option> <el-option v-for="item in cityList" :key="item.cityId" :label="item.cityName" :value="item.cityId"></el-option>
@ -53,135 +54,136 @@
</div> </div>
</div> </div>
</li> </li>
</div>
<div class="line">
<li> <li>
<label>证件</label> <label>证件</label>
<div> <div>
<el-input size="small" v-model="form.idNumber" clearable></el-input> <el-input size="small" v-model="form.idNumber" clearable></el-input>
</div> </div>
</li> </li>
<li> <li>
<label>教育程度</label> <label>教育程度</label>
<div> <div>
<el-select size="small" v-model="form.educationDegree" placeholder="请选择教育程度"> <el-select size="small" v-model="form.educationDegree" placeholder="请选择教育程度">
<el-option v-for="(item,index) in educationDegreeList" :key="index" :label="item.name" :value="item.value"></el-option> <el-option v-for="(item,index) in educationDegreeList" :key="index" :label="item.name" :value="item.value"></el-option>
</el-select> </el-select>
</div> </div>
</li> </li>
</ul>
</div> </div>
</ul>
</div> </div>
<div class="page">
<div class="flex j-between a-center m-r-20"> <div class="flex j-between a-center m-r-20">
<h6 class="p-title">个人档案</h6> <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" @click="addArch">新增</el-button>
</div> </div>
<div class="page-content"> <div class="page-content">
<div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch"> <div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch">
<ul class="list"> <ul class="list">
<div class="line">
<li> <li>
<!-- <label>专业</label> --> <label>职业</label>
<div class="mul">
<div class="child">
<span>职业</span>
<div> <div>
<el-select size="small" v-model="archive.personalCareerId" placeholder="选择职业"> <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-option v-for="item in occupationList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</div> </div>
</div> </li>
<div class="child"> <li>
<span>国家</span> <label>国家</label>
<div> <div>
<el-select size="small" v-model="form.countries" placeholder> <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-option v-for="item in countryList" :key="item.value" :label="item.label" :value="item.label" ></el-option>
</el-select> </el-select>
</div> </div>
</div> </li>
<div class="child"> <li>
<span>学校名称</span> <label>学校名称</label>
<div> <div>
<el-select size="small" v-model="archive.schoolId" filterable placeholder="选择学校" @change="id => getSchoolName(id,index)"> <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-option v-for="item in schoolList" :key="item.value" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select> </el-select>
</div> </div>
</div>
</div>
</li> </li>
</div>
<div class="line" style="margin-bottom: 0">
<li> <li>
<div class="mul"> <label>专业学科</label>
<div class="child">
<span>专业学科</span>
<div> <div>
<el-select size="small" v-model="archive.disciplineId" placeholder="选择专业学科" @change="id => getItemProfessionalClass(id,index)" @clear="() => clearItemClass(index)"> <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-option v-for="item in subjectList" :key="item.value" :label="item.disciplineName" :value="item.disciplineId"></el-option>
</el-select> </el-select>
</div> </div>
</div> </li>
<div class="child"> <li>
<span>专业类</span> <label>专业类</label>
<div> <div>
<el-select size="small" v-model="archive.professionalClassId" placeholder="选择专业类" :disabled="archive.disciplineId ? false : true" @change="id => getItemProfessional(id,index)" @clear="() => clearItemProfess(index)"> <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-option v-for="item in archive.ProfessionalClassList" :key="item.professionalClassId" :label="item.professionalClassName" :value="item.professionalClassId"></el-option>
</el-select> </el-select>
</div> </div>
</div> </li>
<div class="child"> <li>
<span>专业</span> <label>专业</label>
<div> <div>
<el-select size="small" v-model="archive.professionalId" placeholder="选择专业" :disabled="archive.professionalClassId ? false : true" @change="getItemStuGrade"> <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-option v-for="item in archive.ProfessionalList" :key="item.professionalId" :label="item.professionalName" :value="item.professionalId"></el-option>
</el-select> </el-select>
</div> </div>
</div>
</div>
</li> </li>
</div>
</ul> </ul>
</div> </div>
<div class="fold" v-if="archivesList.length > 1"> <div class="fold" v-if="archivesList.length > 1">
<img :class="{active: showArch}" src="@/assets/img/arrow.png" alt="" @click="showArch = !showArch"> <span :class="{active: showArch}" @click="showArch = !showArch">
展开更多
<i class="el-icon-arrow-down"></i>
</span>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<h6 class="p-title">账号信息</h6> <h6 class="l-title"><img src="@/assets/img/info3.png" alt=""> 账号信息</h6>
<div class="page-content"> <div class="page-content">
<ul class="list"> <ul class="list">
<li> <div class="line">
<label>用户账号</label> <li style="margin-right: 136px">
<label>用户账号</label>
<div> <div>
<el-input size="small" v-model="form.account" clearable></el-input> <el-input size="small" v-model="form.account" clearable></el-input>
</div> </div>
</li> </li>
<li> <li>
<label>手机号</label> <label>手机号</label>
<div> <div>
<el-input class="m-r-10" size="small" v-model="form.phone" disabled></el-input> <el-input class="m-r-10" type="text" size="small" v-model="form.phone" disabled></el-input>
<el-button type="primary" size="small" @click="bindPhone">更换</el-button> <el-button type="text" size="small" @click="bindPhone">更换</el-button>
</div> </div>
</li> </li>
</div>
<div class="line">
<li> <li>
<label>邮箱</label> <label>邮箱</label>
<div> <div>
<el-input class="m-r-10" size="small" v-model="form.email" disabled></el-input> <el-input class="m-r-10" size="small" v-model="form.email" disabled></el-input>
<el-button v-if="form.email" type="primary" size="small" @click="bindEmail">更换</el-button> <el-button v-if="form.email" type="text" size="small" @click="bindEmail">更换</el-button>
<el-button v-else size="small" @click="bindEmail">添加</el-button> <el-button v-else type="text" size="small" @click="bindEmail">添加</el-button>
</div> </div>
</li> </li>
<li> <li>
<label>密码</label> <label>密码</label>
<div> <div>
<el-input class="m-r-10" size="small" value="xxxxxxxx" disabled></el-input> <el-input class="m-r-10" size="small" value="xxxxxxxx" disabled></el-input>
<el-button type="primary" size="small" @click="bindPassword">更换密码</el-button> <el-button type="text" size="small" @click="bindPassword">更换</el-button>
</div> </div>
</li> </li>
</div>
</ul> </ul>
</div> </div>
</div> </div>
<div class="text-center"> </div>
<div class="btns">
<el-button size="small" v-throttle @click="save">取消</el-button>
<el-button type="primary" size="small" v-throttle @click="save">更新</el-button> <el-button type="primary" size="small" v-throttle @click="save">更新</el-button>
</div> </div>
@ -816,22 +818,33 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.page{ .page{
margin-bottom: 20px; margin-bottom: 12px;
.list{ .list{
li{ .line{
display: flex; display: flex;
flex-direction: column; margin-bottom: 24px;
margin-bottom: 30px; li{
margin-right: 100px;
}
}
li{
display: inline-flex;
align-items: center;
&>label{ &>label{
margin-bottom: 5px; width: 100px;
font-size: 16px; margin-right: 5px;
text-align: right;
font-size: 14px;
color: #4c4c4c; color: #4c4c4c;
} }
.el-input{ .el-input{
width: 300px; width: 220px;
.el-input__inner{ .el-input__inner{
border-color: #999; border-color: #CACFDB;
}
} }
.el-select .el-input.is-disabled .el-input__inner{
border-color: #ddd;
} }
.val{ .val{
margin-right: 15px; margin-right: 15px;
@ -840,11 +853,10 @@ export default {
} }
.mul{ .mul{
display: inline-flex; display: inline-flex;
margin-top: 10px;
.child{ .child{
display: inline-flex; display: inline-flex;
flex-direction: column; width: 132px;
margin-right: 20px; margin-right: 10px;
&>span{ &>span{
margin-bottom: 5px; margin-bottom: 5px;
font-size: 14px; font-size: 14px;
@ -856,20 +868,32 @@ export default {
} }
.archives{ .archives{
padding: 30px; padding: 16px 30px;
margin-bottom: 30px; margin-bottom: 6px;
border-radius: 8px; border-radius: 4px;
border: 1px dashed #C0C4CC; background-color: #FAFAFA;
} }
.fold{ .fold{
text-align: center; text-align: center;
img{ font-size: 12px;
color: #006EFF;
span{
cursor: pointer; cursor: pointer;
i{
transition: .5s; transition: .5s;
&.active{ }
&.active i{
transform: rotate(180deg); transform: rotate(180deg);
} }
} }
} }
} }
.btns{
padding: 12px 0;
text-align: center;
background-color: #fff;
.el-button{
width: 80px;
}
}
</style> </style>

@ -2,9 +2,9 @@
<div class="wrap"> <div class="wrap">
<div class="left"> <div class="left">
<div class="products"> <div class="products">
<img class="icon" width="100" src="@/assets/img/school.png" alt=""> <img class="icon" width="50" src="@/assets/img/school.png" alt="">
<div class="product" v-for="(item,index) in productList" :key="index"> <div class="product" v-for="(item,index) in productList" :key="index">
<p class="product-name">{{item.productName}}</p> <p class="product-name"><img src="@/assets/img/product.png" alt=""> {{item.productName}}</p>
<div class="date"> <div class="date">
<span class="name">使用期限</span> <span class="name">使用期限</span>
<div class="val"> <div class="val">
@ -19,39 +19,31 @@
</div> </div>
<div class="right"> <div class="right">
<div class="page"> <div class="page">
<h6 class="p-title bd">平台数据统计</h6> <h6 class="l-title"><img src="@/assets/img/stat5.png" alt=""> 平台数据统计</h6>
<div class="page-content"> <div class="page-content">
<ul class="stat"> <ul class="stat">
<li> <li>
<p class="people"> <p class="people">{{userCount ? userCount : 0}}</p>
<span class="num">{{userCount ? userCount : 0}}</span> <p class="text">本校累计用户数量</p>
</p>
<p class="text">本校累计用户数量</p>
</li> </li>
<li> <li>
<p class="people"> <p class="people">{{dayCount ? dayCount : 0}}</p>
<span class="num">{{dayCount ? dayCount : 0}}</span> <p class="text">平均日访客量</p>
</p>
<p class="text">平均日访客量</p>
</li> </li>
<li> <li>
<p class="people"> <p class="people">{{schoolCount ? schoolCount : 0}}</p>
<span class="num">{{schoolCount ? schoolCount : 0}}</span> <p class="text">累计下载</p>
</p>
<p class="text">累计下载</p>
</li> </li>
<li> <li>
<p class="people"> <p class="people">{{onlineCunt ? onlineCunt : 0}}</p>
<span class="num">{{onlineCunt ? onlineCunt : 0}}</span> <p class="text">当前在线人数</p>
</p>
<p class="text">当前在线人数</p>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<h6 class="p-title">按数据库统计使用概况</h6> <h6 class="l-title"><img src="@/assets/img/stat6.png" alt=""> 按数据库统计使用概况</h6>
<div class="page-content"> <div class="page-content">
<div class="flex j-between m-b-20"> <div class="flex j-between m-b-20">
<ul class="filter"> <ul class="filter">
@ -77,14 +69,17 @@
<el-table-column prop="download" label="下载量" align="center"></el-table-column> <el-table-column prop="download" label="下载量" align="center"></el-table-column>
<el-table-column prop="click" label="点击量" align="center"></el-table-column> <el-table-column prop="click" label="点击量" align="center"></el-table-column>
</el-table> </el-table>
<div class="m-t-15 text-center"> <div class="fold">
<img src="../../../assets/img/arrow.png" class="arrow" :class="{active}" @click="toggleList" alt=""> <span :class="{active}" @click="toggleList">
展开更多
<i class="el-icon-arrow-down"></i>
</span>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<h6 class="p-title">按月份统计数据库使用概况</h6> <h6 class="l-title"><img src="@/assets/img/stat5.png" alt=""> 按月份统计数据库使用概况</h6>
<div class="page-content"> <div class="page-content">
<div class="m-b-20 text-right"> <div class="m-b-20 text-right">
<el-button type="primary" size="small" @click="exportDatabaseByMonth" v-auth="'/stat/list:月份统计导出'">导出数据</el-button> <el-button type="primary" size="small" @click="exportDatabaseByMonth" v-auth="'/stat/list:月份统计导出'">导出数据</el-button>
@ -201,7 +196,7 @@ export default {
n.startTime = util.formatDate('yyyy-MM-dd',new Date(n.startTime)) n.startTime = util.formatDate('yyyy-MM-dd',new Date(n.startTime))
n.endTime = util.formatDate('yyyy-MM-dd',new Date(n.endTime)) n.endTime = util.formatDate('yyyy-MM-dd',new Date(n.endTime))
}) })
this.productList = list // this.productList = list
if(list.length){ if(list.length){
this.schoolName = list[0].schoolName this.schoolName = list[0].schoolName
} }
@ -330,30 +325,38 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.wrap{ .wrap{
display: flex; display: flex;
justify-content: center;
.left{ .left{
margin-right: 20px; margin-right: 20px;
.products{ .products{
width: 200px; width: 170px;
padding: 15px; padding: 12px 6px;
text-align: center; text-align: center;
background-color: #fff;
border-radius: 8px; border-radius: 8px;
background-color: #fff;
.icon{ .icon{
margin-bottom: 10px; margin-bottom: 10px;
} }
} }
.product{ .product{
margin-bottom: 30px; padding: 12px;
margin-bottom: 6px;
text-align: left; text-align: left;
background: #fff url(../../../assets/img/stat7.png) 0 0/100% 100% no-repeat;
&:last-child{ &:last-child{
margin-bottom: 0; margin-bottom: 0;
} }
.product-name{ .product-name{
display: flex;
align-items: center;
margin-bottom: 15px; margin-bottom: 15px;
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
color: #568DF2; color: #568DF2;
img{
margin-right: 5px;
}
} }
.date{ .date{
display: flex; display: flex;
@ -397,9 +400,8 @@ export default {
li{ li{
flex: 1; flex: 1;
height: 120px; height: 120px;
padding: 28px 0 18px; padding: 28px 24px 18px;
margin-right: 27px; margin-right: 27px;
text-align: center;
background: url(../../../assets/img/stat1.png) 0 0/100% 100% no-repeat; background: url(../../../assets/img/stat1.png) 0 0/100% 100% no-repeat;
&:nth-child(2){ &:nth-child(2){
background-image: url(../../../assets/img/stat2.png); background-image: url(../../../assets/img/stat2.png);
@ -413,16 +415,28 @@ export default {
} }
.people{ .people{
color: #fff; color: #fff;
font-size: 24px; font-size: 30px;
.num{
font-size: 41px;
}
} }
.text{ .text{
color: #fff; color: #fff;
font-size: 15px; font-size: 14px;
}
}
}
} }
} }
.fold{
margin-top: 15px;
text-align: center;
font-size: 12px;
color: #006EFF;
span{
cursor: pointer;
i{
transition: .5s;
}
&.active i{
transform: rotate(180deg);
} }
} }
} }

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div class="page"> <div class="page">
<h6 class="p-title bd">用户列表</h6> <h6 class="l-title">用户列表</h6>
<div class="page-content"> <div class="page-content">
<div class="tool" style="margin-bottom: 0;"> <div class="tool" style="margin-bottom: 0;">
<ul class="filter"> <ul class="filter">

@ -70,10 +70,9 @@
} }
.page{ .page{
position: relative; position: relative;
padding: 24px 10px; padding: 22px 16px;
background-color: #fff; background-color: #fff;
.page-content{ .page-content{
padding: 26px 36px 0;
.tool{ .tool{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -142,15 +141,29 @@
} }
} }
} }
.l-title{
display: flex;
align-items: center;
margin-bottom: 12px;
font-size: 14px;
color: #333;
img{
width: 24px;
margin-right: 5px;
}
}
.pagination { .pagination {
margin: 20px 0; margin: 20px 0;
text-align: center; text-align: center;
button,.number{ button,.number,.more{
color: rgba(0,0,0,.65) !important; min-width: 32px !important;
height: 32px;
line-height: 32px;
color: #333 !important;
background-color: transparent !important; background-color: transparent !important;
border: 1px solid rgba(0, 0, 0, 0.15) !important; border: 1px solid #ccc !important;
border-radius: 4px !important; border-radius: 2px !important;
} }
button i{ button i{
color: #333; color: #333;
@ -318,6 +331,8 @@
.el-dialog{ .el-dialog{
border-radius: 4px; border-radius: 4px;
.el-dialog__header{ .el-dialog__header{
padding: 13px 20px;
background-color: #F4F5FC;
border-bottom: 1px solid rgba(0, 0, 0, 0.06); border-bottom: 1px solid rgba(0, 0, 0, 0.06);
.el-dialog__title{ .el-dialog__title{
font-size: 16px; font-size: 16px;
@ -325,12 +340,14 @@
} }
} }
.el-dialog__footer{ .el-dialog__footer{
padding: 10px 16px; padding: 8px 16px;
background-color: #F4F5FC;
border-top: 1px solid rgba(0, 0, 0, 0.06); border-top: 1px solid rgba(0, 0, 0, 0.06);
.el-button{ .el-button{
padding: 9px 25px;
font-size: 14px; font-size: 14px;
border-radius: 4px; border-radius: 4px;
border-color: rgba(0, 0, 0, 0.15); border-color: #CACFDB;
} }
} }
} }

Loading…
Cancel
Save