kilo 2 years ago
parent
commit
15125e9a1e
  1. 212
      src/views/dashboard/HomePage.vue

212
src/views/dashboard/HomePage.vue

@ -2,50 +2,67 @@
<div style="height: 100% ;padding: 0 10px">
<div style="height: 40%; width: 100%;display: flex;justify-content: stretch;" >
<!--待办任务-->
<a-card title="待办" style="height: 100%;overflow: hidden;">
<a-table
rowKey="id"
:scroll="{x: false, y: 300 }"
:loading="loading"
:show-header="false"
:columns="columns"
:dataSource="tasks"
:pagination="false"
:customRow="rowClick"
>
</a-table>
<a-card id="todo" style="float: left; width: 33%; height: 100%;padding-bottom: 10px;" :body-style="{height: '95%', overflow:'hidden'}">
<div style="height: 40px;font-weight: 600; font-size: 16px;line-height: 40px">
待办
</div>
<div id="todoDiv" style="height: 250px;overflow-y: auto;margin: 10px 0 0 0;" @scroll="heightScrollTodo()">
<a-table
rowKey="id"
:loading="loading"
:show-header="false"
:columns="columns"
:dataSource="tasks"
:pagination="false"
:customRow="rowClick"
>
</a-table>
</div>
</a-card>
<!--站内消息-->
<a-card ref="cardH" title="站内消息" style="height: 100%;overflow: hidden;margin: 0 10px">
<a-table style="height: 100%;"
rowKey="id"
:scroll="{x: false, y: 300 }"
:show-header="false"
:columns="msgColumns"
:dataSource="msgContent"
:pagination="false"
:customRow="rowClickToDo"
>
</a-table>
<a-card id="message" style="width: 32%; height: 100%;margin: 0px 1%;padding-bottom: 10px;" :body-style="{height: '95%', overflow:'hidden'}">
<div style="height: 40px;font-weight: 600; font-size: 16px;line-height: 40px">
站内消息
</div>
<div id="messageDiv" style="height: 250px;overflow-y: auto;margin: 10px 0 0 0;" @scroll="heightScrollMessage()">
<a-table
rowKey="id"
:loading="loading"
:show-header="false"
:columns="msgColumns"
:dataSource="msgContent"
:pagination="false"
:customRow="rowClickToDo"
>
</a-table>
</div>
</a-card>
<!--登录日志-->
<a-card title="登录日志" style="height: 100%;overflow: hidden">
<a-table style="height: 100%;"
rowKey="id"
:scroll="{x: false, y: 300 }"
:show-header="false"
:columns="loginColumns"
:dataSource="loginLogs"
:pagination="false"
>
</a-table>
<a-card id="log" style="width: 33%; height: 100%;padding-bottom: 10px;" :body-style="{height: '95%', overflow:'hidden'}">
<div style="height: 40px;font-weight: 600; font-size: 16px;line-height: 40px">
登录日志
</div>
<div id="logDiv" style="height: 250px;overflow-y: auto;margin: 10px 0 0 0;" @scroll="heightScroll()">
<a-table
rowKey="id"
:loading="loading"
:show-header="false"
:columns="loginColumns"
:dataSource="loginLogs"
:pagination="false"
>
</a-table>
</div>
</a-card>
</div>
<!--全部应用-->
<a-card class="bottom-card" title="全部应用" style="height:60%; margin-top: 15px; overflow-y: hidden" :headStyle="{}" :bodyStyle="{height:'100%' , overflow:'hidden'}" >
<a-card class="bottom-card" title="全部应用" style="width: 100%; height:60%; margin-top: 11px; overflow-y: hidden" :headStyle="{}" :bodyStyle="{height:'100%' , overflow:'hidden'}" >
<div style="max-height: 370px;overflow-y: auto;">
<span class="ant-col-md-3" v-for="(item,index) in userChildren" @click="goRouteView(item.path)" :title="item.meta.title" style="display: inline-block; margin: 20px;">
<a-icon :type="item.meta.icon" style="font-size: 25px"></a-icon> &nbsp;&nbsp;{{ item.meta.title }}
<span class="ant-col-md-3" v-for="(item,index) in userChildren" @click="goRouteView(item.path)" :title="item.meta.title"
style="display: inline-block; margin: 20px;">
<a-icon :type="item.meta.icon" :style="{'color':item.color}" style="font-size: 25px"></a-icon> &nbsp;&nbsp;{{ item.meta.title }}
</span>
</div>
</a-card>
@ -53,12 +70,11 @@
</template>
<script>
import { getAction } from '@api/manage'
import { JVXETypes } from '@/components/jeecg/JVxeTable/index'
import store from '@/store'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import userMenu from '@comp/tools/UserMenu'
import { colorList } from '@/components/tools/setting'
export default {
@ -67,6 +83,7 @@ export default {
components:{
JVXETypes,
},
data() {
return {
//
@ -85,6 +102,7 @@ export default {
listMseeage: '/sys/sysAnnouncementSend/getMyAnnouncementSend',
},
//
taskPage:1,
columns:[
{
align:"left",
@ -124,8 +142,10 @@ export default {
sorter: true
},
],
pageSizeLog:1,
loginLogs:[],
//
pageSizeMessage:1,
msgColumns:[
{
align: "left",
@ -140,7 +160,8 @@ export default {
userMean:[],
//
userChildren:[],
routerGo:""
routerGo:"",
colors:[],
}
},
created() {
@ -148,9 +169,64 @@ export default {
this.loginList();
this.systemMessage();
this.getChildrenMenu();
this.colorLists();
},
methods: {
//
heightScrollTodo(){
if (document.getElementById("todoDiv").scrollTop + document.getElementById("todoDiv").offsetHeight >= document.getElementById("todoDiv").scrollHeight) {
let param
this.taskPage = this.taskPage+1
param.pageNo = this.taskPage
getAction(this.url.todoManger,param).then((res) => {
if (res.success) {
for (let i = 0; i < res.result.length; i++) {
this.tasks.push(res.result[i])
}
}
})
}
},
//
heightScrollMessage(){
if (document.getElementById("messageDiv").scrollTop + document.getElementById("messageDiv").offsetHeight >= document.getElementById("messageDiv").scrollHeight) {
let queryUnRead = {
readFlag: '0'
}
let param = Object.assign({},queryUnRead,this.isorter);
this.pageSizeMessage = this.pageSizeMessage+1;
param.pageNo=this.pageSizeMessage;
getAction(this.url.listMseeage,param).then((res) => {
if (res.success) {
for (let i = 0; i < res.result.records.length; i++) {
this.msgContent.push(res.result.records[i])
}
}
})
}
},
//
heightScroll() {
if (document.getElementById("logDiv").scrollTop + document.getElementById("logDiv").offsetHeight >= document.getElementById("logDiv").scrollHeight) {
let param = Object.assign({}, this.queryParam, this.isorter);
this.pageSizeLog=this.pageSizeLog+1;
param.pageNo=this.pageSizeLog;
getAction(this.url.lists,param).then((res) => {
if (res.success) {
for (let i = 0; i < res.result.records.length; i++) {
this.loginLogs.push(res.result.records[i])
}
}
})
console.log("到底了")
}
},
colorLists(){
for (let i = 0; i < 6; i++) {
this.colors.push(colorList[i].color)
}
},
goRouteView(item){
this.$router.push(item)
},
@ -173,8 +249,12 @@ export default {
}
}
this.userChildren = childrenMean
console.log("this.userChildren")
console.log(this.userChildren)
for (let i in this.userChildren){
let j =i%6
this.$set(this.userChildren[i],'color',colorList[j].color)
}
// console.log("this.userChildren")
// console.log(this.userChildren)
},
//()
rowClick: function(record, index) {
@ -231,7 +311,7 @@ export default {
console.log("resMessage")
this.loading = false
this.msgContent = res.result.records
console.log(res.result)
console.log(res.result.records)
}
})
},
@ -253,8 +333,8 @@ export default {
}
}
</script>
</script>
<style scoped>
@import url("http://at.alicdn.com/t/c/font_3733417_ws9m9bvag1h.css");
@ -269,35 +349,6 @@ export default {
color: #18aeff;
}
/deep/.ant-table-fixed-header > .ant-table-content > .ant-table-scroll > .ant-table-body {
height: 100%;
}
/deep/.ant-table {
height: 100%;
}
/deep/.ant-table-scroll{
height: 100%;
}
/deep/.ant-table .ant-table-content {
height: 100%;
}
/deep/.ant-spin-container {
height: 100%;
}
/deep/.ant-spin-nested-loading{
height: 100%;
}
/deep/.ant-table-wrapper{
height: 100%;
}
/deep/.ant-card-head{
border-bottom:0px;
}
@ -309,7 +360,7 @@ export default {
}
/deep/.ant-table-tbody .ant-table-row td{
padding: 3% 0 0 0;
padding: 2% 0 0 0;
}
/deep/.ant-table-tbody > tr > td {
@ -326,15 +377,6 @@ export default {
background: white;
}
.bottomClick {
text-align: center;
margin: 1% 0 3% 0;
}
.bottomClick:hover {
cursor: pointer;
color: #5cb6ff;
}
/deep/.ant-card-head-title{
font-weight: 600;
@ -342,7 +384,7 @@ export default {
/deep/.ant-card-body{
height: 80%;
padding: 10px 24px;
padding: 0px 24px;
}

Loading…
Cancel
Save