dev
Jo 3 years ago
parent 615989e388
commit 24593f1b5c
  1. 2
      public/index.html
  2. BIN
      src/assets/img/index/index20.png
  3. 3
      src/layouts/header/index.vue
  4. 24
      src/pages/data/list/index.vue
  5. 18
      src/pages/index/list/index.vue
  6. 40
      src/pages/user/list/index.vue
  7. 4
      src/setting.js

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css"> <link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css">
<title>或然数据平台</title> <title>数据前瞻</title>
</head> </head>
<body> <body>
<noscript> <noscript>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -11,7 +11,8 @@
<el-dropdown class="user-wrap" @command="userCommand"> <el-dropdown class="user-wrap" @command="userCommand">
<div class="user"> <div class="user">
<el-avatar :size="40" :src="avatar"></el-avatar> <el-avatar :size="40" :src="avatar"></el-avatar>
<span class="username">{{userName}}</span> <span class="username" v-if="isCustomer">**大学</span>
<span class="username" v-else>{{userName}}</span>
</div> </div>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="person" v-if="!isCustomer">个人资料</el-dropdown-item> <el-dropdown-item command="person" v-if="!isCustomer">个人资料</el-dropdown-item>

@ -104,11 +104,7 @@
<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" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="showName" label="数据表名称" align="center" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="dataTotal" label="数据总量" width="90" align="center"></el-table-column> <el-table-column prop="dataTotal" label="数据总量" width="90" align="center"></el-table-column>
<el-table-column label="起止时间" width="220" align="center"> <el-table-column prop="timeRange" label="起止时间" width="220" align="center"></el-table-column>
<template slot-scope="scope">
{{scope.row.startTime.slice(0, 10)}} ~ {{scope.row.endTime.slice(0, 10)}}
</template>
</el-table-column>
<el-table-column prop="dataSize" label="数据大小" width="90" align="center"> <el-table-column prop="dataSize" label="数据大小" width="90" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.dataSize}}M {{scope.row.dataSize}}M
@ -160,7 +156,7 @@
<el-drawer <el-drawer
custom-class="preview-dia" custom-class="preview-dia"
size="709" size="950px"
:with-header="false" :with-header="false"
:visible.sync="previewVisible"> :visible.sync="previewVisible">
<div class="flex j-between"> <div class="flex j-between">
@ -318,7 +314,19 @@ export default {
}, },
getData() { getData() {
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 const list = res.pageList.records
list.map(e => {
const startTime = e.startTime ? e.startTime.slice(0, 10) : ''
const endTime = e.endTime ? e.endTime.slice(0, 10) : ''
if (startTime && endTime) {
e.timeRange = startTime + ' ~ ' + endTime
} else if (startTime) {
e.timeRange = startTime
} else if (endTime) {
e.timeRange = e.endTime
}
})
this.listData = list
this.total = res.pageList.total this.total = res.pageList.total
}).catch(res => { }) }).catch(res => { })
}, },
@ -401,7 +409,7 @@ export default {
}).then(res => { }).then(res => {
this.curRow = row this.curRow = row
this.downloadVisible = true this.downloadVisible = true
// ,, //
if (row.startTime) { if (row.startTime) {
startTimeLimit = new Date(row.startTime).getTime() startTimeLimit = new Date(row.startTime).getTime()
} else { } else {

@ -54,22 +54,22 @@
<template v-else> <template v-else>
<!-- 简介 --> <!-- 简介 -->
<ul class="intro"> <ul class="intro">
<li @click="toPart(1)"> <li :class="{active: active === 1}" @click="toPart(1)">
<img src="@/assets/img/index/index1.png" alt=""> <img src="@/assets/img/index/index1.png" alt="">
<div class="text"> <div class="text">
<h6>平台概览</h6> <h6>平台概览</h6>
<p class="desc">了解数据平台一句话简介</p> <p class="desc">了解数据平台一句话简介</p>
</div> </div>
</li> </li>
<li @click="toPart(2)"> <li :class="{active: active === 2}" @click="toPart(2)">
<img src="@/assets/img/index/index2.png" alt=""> <img src="@/assets/img/index/index2.png" alt="">
<div class="text"> <div class="text">
<h6>平台特色与优势</h6> <h6>平台特色与优势</h6>
<p class="desc">了解数据平台一句话简介</p> <p class="desc">了解数据平台一句话简介</p>
</div> </div>
</li> </li>
<li @click="toPart(3)"> <li :class="{active: active === 3}" @click="toPart(3)">
<img src="@/assets/img/index/index1.png" alt=""> <img src="@/assets/img/index/index20.png" alt="">
<div class="text"> <div class="text">
<h6>平台产品介绍</h6> <h6>平台产品介绍</h6>
<p class="desc">了解数据平台一句话简介</p> <p class="desc">了解数据平台一句话简介</p>
@ -178,7 +178,8 @@ export default {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
hotData: [] hotData: [],
active: ''
} }
}, },
computed: { computed: {
@ -260,6 +261,8 @@ export default {
} }
}, },
toPart(i){ toPart(i){
console.log(i)
this.active = i
document.querySelector(`#part${i}`).scrollIntoView() document.querySelector(`#part${i}`).scrollIntoView()
} }
} }
@ -398,6 +401,11 @@ export default {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
&.active{
h6, .desc{
color: #006EFF;
}
}
} }
img{ img{
width: 50px; width: 50px;

@ -3,7 +3,7 @@
<div class="page"> <div class="page">
<h6 class="l-title">用户列表</h6> <h6 class="l-title">用户列表</h6>
<div class="page-content"> <div class="page-content">
<div class="tool" style="margin-bottom: 0;"> <div class="tool">
<ul class="filter"> <ul class="filter">
<li> <li>
<label>创建时间</label> <label>创建时间</label>
@ -16,8 +16,8 @@
<el-date-picker v-model="date" align="right" unlink-panels type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable size="small"></el-date-picker> <el-date-picker v-model="date" align="right" unlink-panels type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable size="small"></el-date-picker>
</li> </li>
<li> <li>
<label style="width: auto;">角色</label> <label>角色</label>
<el-select v-model="role" placeholder="请选择角色" size="small" clearable @change="initData"> <el-select v-model="role" placeholder="请选择角色" size="small" clearable class="flex-1" @change="initData">
<el-option label="不限" value=""></el-option> <el-option label="不限" value=""></el-option>
<el-option v-for="(item,index) in roleList" :key="index" :label="item.roleName" :value="item.id"></el-option> <el-option v-for="(item,index) in roleList" :key="index" :label="item.roleName" :value="item.id"></el-option>
</el-select> </el-select>
@ -28,19 +28,23 @@
<el-option v-for="(item,index) in statusList" :key="index" :label="item.label" :value="item.id"></el-option> <el-option v-for="(item,index) in statusList" :key="index" :label="item.label" :value="item.id"></el-option>
</el-select> </el-select>
</li> </li>
<li>
<label>搜索</label>
<el-input style="width: 250px" placeholder="请输入员工账号/姓名/工号" v-model="keyword" suffix-icon="el-icon-search" clearable size="small"></el-input>
</li>
</ul> </ul>
<div></div> <div></div>
</div> </div>
<div class="tool" style="justify-content: flex-end;margin-bottom: 16px;"> <div class="tool" style="margin-bottom: 16px;">
<ul class="filter">
<li style="margin-bottom: 0">
<label>搜索</label>
<el-input style="width: 250px" placeholder="请输入员工账号/姓名/工号" v-model="keyword" suffix-icon="el-icon-search" clearable size="small"></el-input>
</li>
</ul>
<div>
<el-button type="primary" size="small" round @click="add" v-auth="'/user/list:新增用户'">新增账号</el-button> <el-button type="primary" size="small" round @click="add" v-auth="'/user/list:新增用户'">新增账号</el-button>
<el-button type="primary" size="small" round @click="batchImport" v-auth>批量导入</el-button> <el-button type="primary" size="small" round @click="batchImport" v-auth>批量导入</el-button>
<el-button type="primary" size="small" round @click="delAllSelection" v-auth>批量删除</el-button> <el-button type="primary" size="small" round @click="delAllSelection" v-auth>批量删除</el-button>
</div> </div>
</div>
<el-table :data="listData" class="table" ref="table" stripe header-align="center" @selection-change="handleSelectionChange"> <el-table :data="listData" class="table" ref="table" stripe header-align="center" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="80" align="center"></el-table-column> <el-table-column type="selection" width="80" align="center"></el-table-column>
@ -76,17 +80,17 @@
</div> </div>
<el-dialog :title="isDetail ? '查看账号' : (form.userId ? '编辑账号' : '新增账号')" :visible.sync="userVisible" width="500px" @close="closeUser" class="dialog" :close-on-click-modal="false"> <el-dialog :title="isDetail ? '查看账号' : (form.userId ? '编辑账号' : '新增账号')" :visible.sync="userVisible" width="500px" @close="closeUser" class="dialog" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="105px" label-suffix="" :disabled="isDetail"> <el-form ref="form" :model="form" :rules="rules" label-width="110px" label-suffix="" :disabled="isDetail">
<el-form-item prop="account" label="账号"> <el-form-item prop="account" label="账号">
<el-input v-model="form.account" ref="account" placeholder="请输入职工账号" @change="accountChange"></el-input> <el-input v-model="form.account" ref="account" placeholder="请输入账号" @change="accountChange"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="userName" label="用户姓名"> <el-form-item prop="userName" label="用户姓名">
<el-input v-model="form.userName" placeholder="请输入员工姓名"></el-input> <el-input v-model="form.userName" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="roleIds" label="账号角色"> <el-form-item prop="roleIds" label="账号角色">
<el-checkbox-group v-model="form.roleIds"> <el-checkbox-group v-model="form.roleIds">
<template v-for="(item,index) in roleList"> <template v-for="(item,index) in roleList">
<el-checkbox v-if="item.roleName != '超级管理员'" :key="index" :label="item.id" :disabled="item.id == 'user'">{{item.roleName}}</el-checkbox> <el-checkbox v-if="item.roleName != '超级管理员'" :key="index" :label="item.id" :disabled="item.roleName === '用户'">{{item.roleName}}</el-checkbox>
</template> </template>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -100,7 +104,7 @@
<el-input v-model="form.email" placeholder="请输入邮箱"></el-input> <el-input v-model="form.email" placeholder="请输入邮箱"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="workNumber" label="工号/学号"> <el-form-item prop="workNumber" label="工号/学号">
<el-input v-model="form.workNumber" placeholder="请输入职工工号" @change="workNumberChange"></el-input> <el-input v-model="form.workNumber" placeholder="请输入工号/学号" @change="workNumberChange"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer" v-if="!isDetail"> <span slot="footer" class="dialog-footer" v-if="!isDetail">
@ -302,7 +306,9 @@ export default {
// //
getRole(){ getRole(){
this.$get(`${this.api.listRole}?page=1&size=1000&name=&platformId=${Setting.platformId}`).then(res => { this.$get(`${this.api.listRole}?page=1&size=1000&name=&platformId=${Setting.platformId}`).then(res => {
this.roleList = res.rolePage.records const list = res.rolePage.records
this.roleList = list
if (user) this.form.roleIds.push(user.id)
}).catch(res => {}) }).catch(res => {})
}, },
resetPassword(row){ resetPassword(row){
@ -534,11 +540,7 @@ export default {
.filter{ .filter{
flex-wrap: wrap; flex-wrap: wrap;
li{ li{
width: 30%; width: 22%;
margin-bottom: 16px;
label{
width: 70px;
}
} }
} }
/deep/.dialog{ /deep/.dialog{

@ -17,13 +17,13 @@ const Setting = {
* 基础配置 * 基础配置
* */ * */
// 网页标题的后缀 // 网页标题的后缀
titleSuffix: '或然数据平台', titleSuffix: '数据前瞻',
// 路由模式,可选值为 history 或 hash // 路由模式,可选值为 history 或 hash
routerMode: 'hash', routerMode: 'hash',
// 页面切换时,是否显示模拟的进度条 // 页面切换时,是否显示模拟的进度条
showProgressBar: true, showProgressBar: true,
// 接口请求地址 // 接口请求地址
// apiBaseURL: env === 'development' ? 'http://192.168.31.125:9000' : 'http://39.108.250.202:9000',// 佳坤 // apiBaseURL: env === 'development' ? 'http://192.168.31.151:9000' : 'http://39.108.250.202:9000',// 佳坤
apiBaseURL: env === 'development' ? 'http://192.168.31.151:9000' : 'http://39.108.250.202:9000', apiBaseURL: env === 'development' ? 'http://192.168.31.151:9000' : 'http://39.108.250.202:9000',
// 接口请求返回错误时,弹窗的持续时间,单位:秒 // 接口请求返回错误时,弹窗的持续时间,单位:秒
modalDuration: 3, modalDuration: 3,

Loading…
Cancel
Save