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. 11
      src/layouts/home/index.vue
  19. 120
      src/pages/data/list/index.vue
  20. 25
      src/pages/index/list/index.vue
  21. 2
      src/pages/role/list/index.vue
  22. 49
      src/pages/setting/person/index.vue
  23. 328
      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;
}
.view{
// max-width: $max-width;
min-width: $min-width;
min-height: calc(100vh - 52px);
margin: 0 auto;
}
.pd{
padding: 12px 80px 0;
margin: 0 auto;
background-color: #F3F6FA;
.shapes{
display: block;
}
}
.index{
padding: 0;
}
}
</style>

@ -1,5 +1,5 @@
<template>
<div class="wrap pd">
<div class="wrap">
<div class="left">
<el-menu class="menu" ref="type" @open="selectType" @select="selectType" unique-opened :default-active="defaultType" :default-openeds="defaultOpenType">
<template v-for="item in typeList">
@ -92,51 +92,41 @@
</div>
<div class="right">
<div class="page">
<h6 class="p-title">数据介绍</h6>
<h6 class="l-title"><img src="@/assets/img/data1.png" alt=""> 数据介绍</h6>
<div>
<div class="search">
<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 class="desc">{{introduce}}</div>
<div class="source"><img src="@/assets/img/data2.png" alt=""> 数据来源{{dataSource}}</div>
<div class="page-content">
<div class="desc">{{introduce}}</div>
<div style="margin-bottom: 30px"><span class="source">数据来源</span>{{dataSource}}</div>
<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 prop="showName" label="数据表名称" align="center"></el-table-column>
<el-table-column prop="dataTotal" label="数据总量" width="90" align="center"></el-table-column>
<el-table-column label="起止时间" width="190" align="center">
<template slot-scope="scope">
{{scope.row.startTime}}-{{scope.row.endTime}}
</template>
</el-table-column>
<el-table-column prop="dataSize" label="数据大小" width="110" align="center">
<template slot-scope="scope">
{{scope.row.dataSize}}M
</template>
</el-table-column>
<el-table-column prop="updateTime" label="更新时间" width="150" align="center"></el-table-column>
<el-table-column label="操作" width="120" align="center">
<template slot-scope="scope">
<el-button type="text" @click="preview(scope.row)">预览</el-button>
<el-button type="text" @click="download(scope.row)">下载</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background @current-change="handleCurrentChange" :current-page="page" layout="total, prev, pager, next" :total="total"></el-pagination>
</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>
<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 prop="showName" label="数据表名称" align="center"></el-table-column>
<el-table-column prop="dataTotal" label="数据总量" width="90" align="center"></el-table-column>
<el-table-column label="起止时间" width="190" align="center">
<template slot-scope="scope">
{{scope.row.startTime}}-{{scope.row.endTime}}
</template>
</el-table-column>
<el-table-column prop="dataSize" label="数据大小" width="110" align="center">
<template slot-scope="scope">
{{scope.row.dataSize}}M
</template>
</el-table-column>
<el-table-column prop="updateTime" label="更新时间" width="170" align="center"></el-table-column>
<el-table-column label="操作" width="120" align="center">
<template slot-scope="scope">
<el-button type="text" @click="preview(scope.row)">预览</el-button>
<el-button type="text" @click="download(scope.row)">下载</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background @current-change="handleCurrentChange" :current-page="page" layout="total, prev, pager, next" :total="total"></el-pagination>
</div>
</div>
</div>
</div>
@ -169,6 +159,24 @@
<el-button size="small" type="primary" @click="confirmDown">确定</el-button>
</span>
</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>
</template>
@ -198,6 +206,7 @@ export default {
page: 1,
pageSize: 10,
total: 0,
previewVisible: false,
previewHead: [],
previewData: [],
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.listData = res.pageList.records
this.total = res.pageList.total
//
this.listData.length && this.preview(this.listData[0], 1)
}).catch(res => { })
},
initData() {
@ -380,11 +387,7 @@ export default {
}
})
this.previewData = data
// ,
isDefault || this.$nextTick(() => {
document.querySelector('#previewTable').scrollIntoView()
})
this.previewVisible = true
}).catch(res => { })
},
checkAllFieldsChange(val) {
@ -532,6 +535,9 @@ export default {
color: #3381d2;
}
}
.el-submenu__title i{
font-size: 14px;
}
.el-submenu .el-menu{
background-color: #fff;
}
@ -540,9 +546,13 @@ export default {
&+.el-menu .el-submenu__title{
background-color: rgba(147,184,255,.15);
}
i{
color: #006EFF;
}
}
}
.el-menu-item.is-active{
color: #fff;
background-color: #0070FF;
}
.level-6 {
@ -563,17 +573,24 @@ export default {
color: #333;
}
.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{
z-index: 2;
position: absolute;
top: 10px;
left: 83%;
transform: translate(-50%);
right: 16px;
display: flex;
justify-content: space-between;
align-items: center;
@ -606,4 +623,7 @@ export default {
width: 18px;
}
}
/deep/.preview-dia{
padding: 20px;
}
</style>

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

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

@ -1,24 +1,24 @@
<template>
<div>
<div class="wrap">
<div class="left">
<div class="inner">
<div class="text-center">
<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-button type="text" size="small">上传头像</el-button>
</el-upload>
</div>
<ul class="menu">
<li v-for="item in typeList" :key="item.index" :class="{active: item.index == active}" @click="selectType(item.index)">{{ item.title }}</li>
</ul>
<div class="wrap">
<div class="left">
<div class="inner">
<div class="text-center">
<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-button type="text" size="small">点击更换头像</el-button>
</el-upload>
</div>
<ul class="menu">
<li v-for="item in typeList" :key="item.index" :class="{active: item.index == active}" @click="selectType(item.index)">
{{ item.title }}
</li>
</ul>
</div>
<div class="right">
<info ref="info" v-if="active == 1" @updateStatus="updateStatus"></info>
<download v-else></download>
</div>
</div>
<div class="right">
<info ref="info" v-if="active == 1" @updateStatus="updateStatus"></info>
<download v-else></download>
</div>
</div>
</template>
@ -101,15 +101,15 @@ export default {
</script>
<style lang="scss" scoped>
/deep/.wrap{
.wrap{
display: flex;
.left{
margin-right: 20px;
.inner{
width: 200px;
padding: 30px 0;
border-radius: 8px;
width: 170px;
padding: 20px 0;
background-color: #fff;
box-shadow: 2px 0px 6px 0px #EEEEEE;
}
.avatar{
width: 80px;
@ -117,15 +117,16 @@ export default {
border-radius: 50%;
}
.menu{
margin-top: 32px;
li{
padding: 0 20px;
color: #303133;
font-size: 14px;
line-height: 56px;
line-height: 38px;
cursor: pointer;
&.active{
color: #fff;
background-color: $main-color;
background-color: #006EFF;
}
}
}

@ -1,187 +1,189 @@
<template>
<div>
<div class="page">
<h6 class="p-title bd">用户信息</h6>
<div class="page-content">
<ul class="list">
<li>
<label>姓名</label>
<div>
<el-input size="small" v-model="form.userName" clearable></el-input>
</div>
</li>
<li>
<label>性别</label>
<div>
<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-select>
</div>
</li>
<li>
<label>出生年月日</label>
<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>
</div>
</li>
<li>
<label>所在国家</label>
<div class="mul">
<div class="child">
<span>国家</span>
<div class="scroll">
<div class="page">
<h6 class="l-title"><img src="@/assets/img/info1.png" alt=""> 用户信息</h6>
<div class="page-content">
<ul class="list">
<div class="line">
<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>
<el-input size="small" v-model="form.userName" clearable></el-input>
</div>
</div>
<div class="child">
<span>省份</span>
</li>
<li>
<label>性别</label>
<div>
<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-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-select>
</div>
</div>
<div class="child">
<span>城市</span>
</li>
<li>
<label>出生年月日</label>
<div>
<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-select>
<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>
</div>
</li>
<li>
<label>证件</label>
<div>
<el-input size="small" v-model="form.idNumber" clearable></el-input>
<div class="line">
<li>
<label>所在地</label>
<div class="mul">
<div class="child">
<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>
</div>
<div class="child">
<div>
<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-select>
</div>
</div>
<div class="child">
<div>
<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-select>
</div>
</div>
</div>
</li>
</div>
</li>
<li>
<label>教育程度</label>
<div>
<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-select>
<div class="line">
<li>
<label>证件</label>
<div>
<el-input size="small" v-model="form.idNumber" clearable></el-input>
</div>
</li>
<li>
<label>教育程度</label>
<div>
<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-select>
</div>
</li>
</div>
</li>
</ul>
</div>
</div>
<div class="page">
<div class="flex j-between a-center m-r-20">
<h6 class="p-title">个人档案</h6>
<el-button type="text" icon="el-icon-plus" @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">
<ul class="list">
<li>
<!-- <label>专业</label> -->
<div class="mul">
<div class="child">
<span>职业</span>
</ul>
</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>
</div>
<div class="page-content">
<div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch">
<ul class="list">
<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>
</div>
<div class="child">
<span>国家</span>
</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>
</div>
<div class="child">
<span>学校名称</span>
</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>
</div>
</li>
</div>
</li>
<li>
<div class="mul">
<div class="child">
<span>专业学科</span>
<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>
</div>
<div class="child">
<span>专业类</span>
</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>
</div>
<div class="child">
<span>专业</span>
</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>
</div>
</li>
</div>
</li>
</ul>
</div>
<div class="fold" v-if="archivesList.length > 1">
<img :class="{active: showArch}" src="@/assets/img/arrow.png" alt="" @click="showArch = !showArch">
</ul>
</div>
<div class="fold" v-if="archivesList.length > 1">
<span :class="{active: showArch}" @click="showArch = !showArch">
展开更多
<i class="el-icon-arrow-down"></i>
</span>
</div>
</div>
</div>
</div>
<div class="page">
<h6 class="p-title">账号信息</h6>
<div class="page-content">
<ul class="list">
<li>
<label>用户账号</label>
<div>
<el-input size="small" v-model="form.account" clearable></el-input>
</div>
</li>
<li>
<label>手机号</label>
<div>
<el-input class="m-r-10" size="small" v-model="form.phone" disabled></el-input>
<el-button type="primary" size="small" @click="bindPhone">更换</el-button>
</div>
</li>
<li>
<label>邮箱</label>
<div>
<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-else size="small" @click="bindEmail">添加</el-button>
<div class="page">
<h6 class="l-title"><img src="@/assets/img/info3.png" alt=""> 账号信息</h6>
<div class="page-content">
<ul class="list">
<div class="line">
<li style="margin-right: 136px">
<label>用户账号</label>
<div>
<el-input size="small" v-model="form.account" clearable></el-input>
</div>
</li>
<li>
<label>手机号</label>
<div>
<el-input class="m-r-10" type="text" size="small" v-model="form.phone" disabled></el-input>
<el-button type="text" size="small" @click="bindPhone">更换</el-button>
</div>
</li>
</div>
</li>
<li>
<label>密码</label>
<div>
<el-input class="m-r-10" size="small" value="xxxxxxxx" disabled></el-input>
<el-button type="primary" size="small" @click="bindPassword">更换密码</el-button>
<div class="line">
<li>
<label>邮箱</label>
<div>
<el-input class="m-r-10" size="small" v-model="form.email" disabled></el-input>
<el-button v-if="form.email" type="text" size="small" @click="bindEmail">更换</el-button>
<el-button v-else type="text" size="small" @click="bindEmail">添加</el-button>
</div>
</li>
<li>
<label>密码</label>
<div>
<el-input class="m-r-10" size="small" value="xxxxxxxx" disabled></el-input>
<el-button type="text" size="small" @click="bindPassword">更换</el-button>
</div>
</li>
</div>
</li>
</ul>
</ul>
</div>
</div>
</div>
<div class="text-center">
<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>
</div>
@ -816,23 +818,34 @@ export default {
<style lang="scss" scoped>
.page{
margin-bottom: 20px;
margin-bottom: 12px;
.list{
li{
.line{
display: flex;
flex-direction: column;
margin-bottom: 30px;
margin-bottom: 24px;
li{
margin-right: 100px;
}
}
li{
display: inline-flex;
align-items: center;
&>label{
margin-bottom: 5px;
font-size: 16px;
width: 100px;
margin-right: 5px;
text-align: right;
font-size: 14px;
color: #4c4c4c;
}
.el-input{
width: 300px;
width: 220px;
.el-input__inner{
border-color: #999;
border-color: #CACFDB;
}
}
.el-select .el-input.is-disabled .el-input__inner{
border-color: #ddd;
}
.val{
margin-right: 15px;
color: #606266;
@ -840,11 +853,10 @@ export default {
}
.mul{
display: inline-flex;
margin-top: 10px;
.child{
display: inline-flex;
flex-direction: column;
margin-right: 20px;
width: 132px;
margin-right: 10px;
&>span{
margin-bottom: 5px;
font-size: 14px;
@ -856,20 +868,32 @@ export default {
}
.archives{
padding: 30px;
margin-bottom: 30px;
border-radius: 8px;
border: 1px dashed #C0C4CC;
padding: 16px 30px;
margin-bottom: 6px;
border-radius: 4px;
background-color: #FAFAFA;
}
.fold{
text-align: center;
img{
font-size: 12px;
color: #006EFF;
span{
cursor: pointer;
transition: .5s;
&.active{
i{
transition: .5s;
}
&.active i{
transform: rotate(180deg);
}
}
}
}
.btns{
padding: 12px 0;
text-align: center;
background-color: #fff;
.el-button{
width: 80px;
}
}
</style>

@ -2,9 +2,9 @@
<div class="wrap">
<div class="left">
<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">
<p class="product-name">{{item.productName}}</p>
<p class="product-name"><img src="@/assets/img/product.png" alt=""> {{item.productName}}</p>
<div class="date">
<span class="name">使用期限</span>
<div class="val">
@ -19,39 +19,31 @@
</div>
<div class="right">
<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">
<ul class="stat">
<li>
<p class="people">
<span class="num">{{userCount ? userCount : 0}}</span>
</p>
<p class="text">本校累计用户数量</p>
<p class="people">{{userCount ? userCount : 0}}</p>
<p class="text">本校累计用户数量</p>
</li>
<li>
<p class="people">
<span class="num">{{dayCount ? dayCount : 0}}</span>
</p>
<p class="text">平均日访客量</p>
<p class="people">{{dayCount ? dayCount : 0}}</p>
<p class="text">平均日访客量</p>
</li>
<li>
<p class="people">
<span class="num">{{schoolCount ? schoolCount : 0}}</span>
</p>
<p class="text">累计下载</p>
<p class="people">{{schoolCount ? schoolCount : 0}}</p>
<p class="text">累计下载</p>
</li>
<li>
<p class="people">
<span class="num">{{onlineCunt ? onlineCunt : 0}}</span>
</p>
<p class="text">当前在线人数</p>
<p class="people">{{onlineCunt ? onlineCunt : 0}}</p>
<p class="text">当前在线人数</p>
</li>
</ul>
</div>
</div>
<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="flex j-between m-b-20">
<ul class="filter">
@ -77,14 +69,17 @@
<el-table-column prop="download" label="下载量" align="center"></el-table-column>
<el-table-column prop="click" label="点击量" align="center"></el-table-column>
</el-table>
<div class="m-t-15 text-center">
<img src="../../../assets/img/arrow.png" class="arrow" :class="{active}" @click="toggleList" alt="">
<div class="fold">
<span :class="{active}" @click="toggleList">
展开更多
<i class="el-icon-arrow-down"></i>
</span>
</div>
</div>
</div>
<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="m-b-20 text-right">
<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.endTime = util.formatDate('yyyy-MM-dd',new Date(n.endTime))
})
this.productList = list
// this.productList = list
if(list.length){
this.schoolName = list[0].schoolName
}
@ -330,30 +325,38 @@ export default {
<style lang="scss" scoped>
.wrap{
display: flex;
justify-content: center;
.left{
margin-right: 20px;
.products{
width: 200px;
padding: 15px;
width: 170px;
padding: 12px 6px;
text-align: center;
background-color: #fff;
border-radius: 8px;
background-color: #fff;
.icon{
margin-bottom: 10px;
}
}
.product{
margin-bottom: 30px;
padding: 12px;
margin-bottom: 6px;
text-align: left;
background: #fff url(../../../assets/img/stat7.png) 0 0/100% 100% no-repeat;
&:last-child{
margin-bottom: 0;
}
.product-name{
display: flex;
align-items: center;
margin-bottom: 15px;
font-size: 16px;
font-weight: bold;
color: #568DF2;
img{
margin-right: 5px;
}
}
.date{
display: flex;
@ -397,9 +400,8 @@ export default {
li{
flex: 1;
height: 120px;
padding: 28px 0 18px;
padding: 28px 24px 18px;
margin-right: 27px;
text-align: center;
background: url(../../../assets/img/stat1.png) 0 0/100% 100% no-repeat;
&:nth-child(2){
background-image: url(../../../assets/img/stat2.png);
@ -413,17 +415,29 @@ export default {
}
.people{
color: #fff;
font-size: 24px;
.num{
font-size: 41px;
}
font-size: 30px;
}
.text{
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);
}
}
}
</style>

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

@ -70,10 +70,9 @@
}
.page{
position: relative;
padding: 24px 10px;
padding: 22px 16px;
background-color: #fff;
.page-content{
padding: 26px 36px 0;
.tool{
display: flex;
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 {
margin: 20px 0;
text-align: center;
button,.number{
color: rgba(0,0,0,.65) !important;
button,.number,.more{
min-width: 32px !important;
height: 32px;
line-height: 32px;
color: #333 !important;
background-color: transparent !important;
border: 1px solid rgba(0, 0, 0, 0.15) !important;
border-radius: 4px !important;
border: 1px solid #ccc !important;
border-radius: 2px !important;
}
button i{
color: #333;
@ -318,6 +331,8 @@
.el-dialog{
border-radius: 4px;
.el-dialog__header{
padding: 13px 20px;
background-color: #F4F5FC;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
.el-dialog__title{
font-size: 16px;
@ -325,12 +340,14 @@
}
}
.el-dialog__footer{
padding: 10px 16px;
padding: 8px 16px;
background-color: #F4F5FC;
border-top: 1px solid rgba(0, 0, 0, 0.06);
.el-button{
padding: 9px 25px;
font-size: 14px;
border-radius: 4px;
border-color: rgba(0, 0, 0, 0.15);
border-color: #CACFDB;
}
}
}

Loading…
Cancel
Save