|
|
|
@ -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> {{ 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> {{ 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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|