|
@@ -3,11 +3,11 @@
|
|
<grid-layout
|
|
<grid-layout
|
|
:layout.sync="layout"
|
|
:layout.sync="layout"
|
|
:col-num="14"
|
|
:col-num="14"
|
|
- :row-height="40"
|
|
|
|
|
|
+ :row-height="30"
|
|
:is-draggable="true"
|
|
:is-draggable="true"
|
|
:is-resizable="true"
|
|
:is-resizable="true"
|
|
:is-mirrored="false"
|
|
:is-mirrored="false"
|
|
- :vertical-compact="false"
|
|
|
|
|
|
+ :vertical-compact="true"
|
|
:margin="[10, 10]"
|
|
:margin="[10, 10]"
|
|
:use-css-transforms="true"
|
|
:use-css-transforms="true"
|
|
>
|
|
>
|
|
@@ -18,64 +18,90 @@
|
|
</el-row>
|
|
</el-row>
|
|
</grid-item>
|
|
</grid-item>
|
|
<grid-item :key="layout[1].i" :x="layout[1].x" :y="layout[1].y" :w="layout[1].w" :h="layout[1].h" :i="layout[1].i">
|
|
<grid-item :key="layout[1].i" :x="layout[1].x" :y="layout[1].y" :w="layout[1].w" :h="layout[1].h" :i="layout[1].i">
|
|
- <el-card class="box-card">
|
|
|
|
|
|
+ <el-card class="card-box">
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
<span>消息提醒</span>
|
|
<span>消息提醒</span>
|
|
- <el-button style="float: right; padding: 3px 0" type="text">更多<i class="el-icon-arrow-right" /></el-button>
|
|
|
|
|
|
+ <el-button style="float: right; padding: 3px 0" type="text">More<i class="el-icon-arrow-right" /></el-button>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
- <el-scrollbar style="height: 100%" :native="false">
|
|
|
|
- <el-tabs class="card-tab-box" value="todo">
|
|
|
|
- <el-tab-pane :label="'待办('+ message.todo + ')'" name="todo">
|
|
|
|
- <div class="filter-box">
|
|
|
|
- <span>筛选条件:</span>
|
|
|
|
- <el-radio-group v-model="message.filter" size="mini">
|
|
|
|
- <el-radio-button label="0">全部</el-radio-button>
|
|
|
|
- <el-radio-button label="1">任务类</el-radio-button>
|
|
|
|
- <el-radio-button label="2">通知类</el-radio-button>
|
|
|
|
- <el-radio-button label="3">超期提醒类</el-radio-button>
|
|
|
|
- </el-radio-group>
|
|
|
|
- </div>
|
|
|
|
- <el-table :data="message.todoData" :show-header="false" size="mini">
|
|
|
|
- <el-table-column width="40">
|
|
|
|
- <template>
|
|
|
|
- <el-avatar shape="square" size="small"><svg-icon icon-class="yujing" /></el-avatar>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column show-overflow-tooltip>
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div>{{ scope.row.title }} <span :class="'priority-box priority-level'+ scope.row.priority">{{ scope.row.priorityName }}</span> </div>
|
|
|
|
- <div>{{ scope.row.appName }}</div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column prop="createDate" width="140" />
|
|
|
|
- <el-table-column prop="createUser" width="70" show-overflow-tooltip />
|
|
|
|
- <el-table-column width="80">
|
|
|
|
- <template>
|
|
|
|
- <el-button size="mini">不再提醒</el-button>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
- </el-tab-pane>
|
|
|
|
- <el-tab-pane :label="'已办('+ message.done + ')'" name="done">已办</el-tab-pane>
|
|
|
|
- </el-tabs>
|
|
|
|
- </el-scrollbar>
|
|
|
|
|
|
+ <el-tabs class="message-content" value="todo">
|
|
|
|
+ <el-tab-pane :label="'待办('+ message.todo + ')'" name="todo">
|
|
|
|
+ <div class="message-filter_box">
|
|
|
|
+ <span>筛选条件:</span>
|
|
|
|
+ <el-radio-group v-model="message.filter" size="mini">
|
|
|
|
+ <el-radio-button label="0">全部</el-radio-button>
|
|
|
|
+ <el-radio-button label="1">任务类</el-radio-button>
|
|
|
|
+ <el-radio-button label="2">通知类</el-radio-button>
|
|
|
|
+ <el-radio-button label="3">超期提醒类</el-radio-button>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </div>
|
|
|
|
+ <el-table :data="message.todoData" :show-header="false" size="mini" height="calc(100% - 30px)">
|
|
|
|
+ <el-table-column width="40">
|
|
|
|
+ <template>
|
|
|
|
+ <el-avatar shape="square" size="small"><svg-icon icon-class="yujing" /></el-avatar>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column show-overflow-tooltip>
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <div>{{ scope.row.title }} <span :class="'priority-box priority-level'+ scope.row.priority">{{ scope.row.priorityName }}</span> </div>
|
|
|
|
+ <div>{{ scope.row.appName }}</div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="createDate" width="140" />
|
|
|
|
+ <el-table-column prop="createUser" width="70" show-overflow-tooltip />
|
|
|
|
+ <el-table-column width="105">
|
|
|
|
+ <template>
|
|
|
|
+ <el-button size="mini">Mark Read</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane :label="'已办('+ message.done + ')'" name="done">
|
|
|
|
+ <div class="message-filter_box">
|
|
|
|
+ <span>筛选条件:</span>
|
|
|
|
+ <el-radio-group v-model="message.filter" size="mini">
|
|
|
|
+ <el-radio-button label="0">全部</el-radio-button>
|
|
|
|
+ <el-radio-button label="1">任务类</el-radio-button>
|
|
|
|
+ <el-radio-button label="2">通知类</el-radio-button>
|
|
|
|
+ <el-radio-button label="3">超期提醒类</el-radio-button>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </div>
|
|
|
|
+ <el-table :data="message.doneData" :show-header="false" size="mini" height="calc(100% - 30px)">
|
|
|
|
+ <el-table-column width="40">
|
|
|
|
+ <template>
|
|
|
|
+ <el-avatar shape="square" size="small"><svg-icon icon-class="yujing" /></el-avatar>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column show-overflow-tooltip>
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <div>{{ scope.row.title }} <span :class="'priority-box priority-level'+ scope.row.priority">{{ scope.row.priorityName }}</span> </div>
|
|
|
|
+ <div>{{ scope.row.appName }}</div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="createDate" width="140" />
|
|
|
|
+ <el-table-column prop="createUser" width="70" show-overflow-tooltip />
|
|
|
|
+ <el-table-column width="105">
|
|
|
|
+ <template>
|
|
|
|
+ <el-button size="mini">不再提醒</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ </el-tabs>
|
|
</el-card>
|
|
</el-card>
|
|
-
|
|
|
|
</grid-item>
|
|
</grid-item>
|
|
<grid-item :key="layout[2].i" :x="layout[2].x" :y="layout[2].y" :w="layout[2].w" :h="layout[2].h" :i="layout[2].i">
|
|
<grid-item :key="layout[2].i" :x="layout[2].x" :y="layout[2].y" :w="layout[2].w" :h="layout[2].h" :i="layout[2].i">
|
|
- <el-card class="box-card">
|
|
|
|
|
|
+ <el-card class="card-box">
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
<span>我的业务</span>
|
|
<span>我的业务</span>
|
|
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
|
|
|
|
|
|
+ <el-button style="float: right; padding: 3px 0" type="text">More<i class="el-icon-arrow-right" /></el-button>
|
|
</div>
|
|
</div>
|
|
</el-card>
|
|
</el-card>
|
|
</grid-item>
|
|
</grid-item>
|
|
<grid-item :key="layout[3].i" :x="layout[3].x" :y="layout[3].y" :w="layout[3].w" :h="layout[3].h" :i="layout[3].i">
|
|
<grid-item :key="layout[3].i" :x="layout[3].x" :y="layout[3].y" :w="layout[3].w" :h="layout[3].h" :i="layout[3].i">
|
|
- <el-card class="box-card">
|
|
|
|
|
|
+ <el-card class="card-box">
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
<span>我的应用</span>
|
|
<span>我的应用</span>
|
|
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
|
|
|
|
|
|
+ <el-button style="float: right; padding: 3px 0" type="text">More<i class="el-icon-arrow-right" /></el-button>
|
|
</div>
|
|
</div>
|
|
<el-carousel height="150px">
|
|
<el-carousel height="150px">
|
|
<el-carousel-item v-for="item in 4" :key="item">
|
|
<el-carousel-item v-for="item in 4" :key="item">
|
|
@@ -85,10 +111,10 @@
|
|
</el-card>
|
|
</el-card>
|
|
</grid-item>
|
|
</grid-item>
|
|
<grid-item :key="layout[4].i" :x="layout[4].x" :y="layout[4].y" :w="layout[4].w" :h="layout[4].h" :i="layout[4].i">
|
|
<grid-item :key="layout[4].i" :x="layout[4].x" :y="layout[4].y" :w="layout[4].w" :h="layout[4].h" :i="layout[4].i">
|
|
- <el-card class="box-card">
|
|
|
|
|
|
+ <el-card class="card-box">
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
<span>专项工具</span>
|
|
<span>专项工具</span>
|
|
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
|
|
|
|
|
|
+ <el-button style="float: right; padding: 3px 0" type="text">More<i class="el-icon-arrow-right" /></el-button>
|
|
</div>
|
|
</div>
|
|
<div v-for="o in 4" :key="o" class="item">
|
|
<div v-for="o in 4" :key="o" class="item">
|
|
{{ '列表内容 ' + o }}
|
|
{{ '列表内容 ' + o }}
|
|
@@ -96,10 +122,10 @@
|
|
</el-card>
|
|
</el-card>
|
|
</grid-item>
|
|
</grid-item>
|
|
<grid-item :key="layout[5].i" :x="layout[5].x" :y="layout[5].y" :w="layout[5].w" :h="layout[5].h" :i="layout[5].i">
|
|
<grid-item :key="layout[5].i" :x="layout[5].x" :y="layout[5].y" :w="layout[5].w" :h="layout[5].h" :i="layout[5].i">
|
|
- <el-card class="box-card">
|
|
|
|
|
|
+ <el-card class="card-box">
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
<span>标准规范</span>
|
|
<span>标准规范</span>
|
|
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
|
|
|
|
|
|
+ <el-button style="float: right; padding: 3px 0" type="text">More<i class="el-icon-arrow-right" /></el-button>
|
|
</div>
|
|
</div>
|
|
<div v-for="o in 4" :key="o" class="item">
|
|
<div v-for="o in 4" :key="o" class="item">
|
|
{{ '列表内容 ' + o }}
|
|
{{ '列表内容 ' + o }}
|
|
@@ -107,10 +133,10 @@
|
|
</el-card>
|
|
</el-card>
|
|
</grid-item>
|
|
</grid-item>
|
|
<grid-item :key="layout[6].i" :x="layout[6].x" :y="layout[6].y" :w="layout[6].w" :h="layout[6].h" :i="layout[6].i">
|
|
<grid-item :key="layout[6].i" :x="layout[6].x" :y="layout[6].y" :w="layout[6].w" :h="layout[6].h" :i="layout[6].i">
|
|
- <el-card class="box-card">
|
|
|
|
|
|
+ <el-card class="card-box">
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
<span>外部应用导航</span>
|
|
<span>外部应用导航</span>
|
|
- <el-button style="float: right; padding: 3px 0" type="text">更多</el-button>
|
|
|
|
|
|
+ <el-button style="float: right; padding: 3px 0" type="text">More<i class="el-icon-arrow-right" /></el-button>
|
|
</div>
|
|
</div>
|
|
<div v-for="o in 4" :key="o" class="item">
|
|
<div v-for="o in 4" :key="o" class="item">
|
|
{{ '列表内容 ' + o }}
|
|
{{ '列表内容 ' + o }}
|
|
@@ -137,27 +163,29 @@ export default {
|
|
return {
|
|
return {
|
|
layout: [
|
|
layout: [
|
|
{ 'x': 0, 'y': 0, 'w': 14, 'h': 2, 'i': '0' },
|
|
{ 'x': 0, 'y': 0, 'w': 14, 'h': 2, 'i': '0' },
|
|
- { 'x': 0, 'y': 2, 'w': 6, 'h': 8, 'i': '1' },
|
|
|
|
- { 'x': 0, 'y': 10, 'w': 6, 'h': 6, 'i': '2' },
|
|
|
|
- { 'x': 6, 'y': 2, 'w': 8, 'h': 6, 'i': '3' },
|
|
|
|
- { 'x': 6, 'y': 8, 'w': 8, 'h': 4, 'i': '4' },
|
|
|
|
- { 'x': 6, 'y': 12, 'w': 8, 'h': 4, 'i': '5' },
|
|
|
|
- { 'x': 0, 'y': 16, 'w': 14, 'h': 2, 'i': '6' }
|
|
|
|
|
|
+ { 'x': 0, 'y': 2, 'w': 6, 'h': 12, 'i': '1' },
|
|
|
|
+ { 'x': 0, 'y': 14, 'w': 6, 'h': 8, 'i': '2' },
|
|
|
|
+ { 'x': 6, 'y': 2, 'w': 8, 'h': 8, 'i': '3' },
|
|
|
|
+ { 'x': 6, 'y': 10, 'w': 8, 'h': 6, 'i': '4' },
|
|
|
|
+ { 'x': 6, 'y': 16, 'w': 8, 'h': 6, 'i': '5' },
|
|
|
|
+ { 'x': 0, 'y': 22, 'w': 14, 'h': 4, 'i': '6' }
|
|
],
|
|
],
|
|
message: {
|
|
message: {
|
|
todo: 10,
|
|
todo: 10,
|
|
done: 45,
|
|
done: 45,
|
|
filter: '0',
|
|
filter: '0',
|
|
todoData: [
|
|
todoData: [
|
|
- { 'id': 1, 'type': '1', 'app': 'zfbapt', 'appName': 'XXXX平台', 'priority': '1', 'priorityName': '紧急', 'title': '消息测试1', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX平台平台', 'priority': '2', 'priorityName': '一般', 'title': '消息测试2消息测试2', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX平台台', 'priority': '2', 'priorityName': '一般', 'title': '我是一条消息3', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX平台台', 'priority': '2', 'priorityName': '一般', 'title': '我是一条消息3', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX平台台', 'priority': '2', 'priorityName': '一般', 'title': '我是一条消息3', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX平台台', 'priority': '2', 'priorityName': '一般', 'title': '我是一条消息3', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX平台台', 'priority': '2', 'priorityName': '一般', 'title': '我是一条消息3', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' },
|
|
|
|
- { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXXXXXXXXXX平台', 'priority': '2', 'priorityName': '一般', 'title': '我也是一条消息4', 'createDate': '2023-07-09 16:01:02', 'createUser': '张三', 'status': '0' }
|
|
|
|
- ]
|
|
|
|
|
|
+ { 'id': 1, 'type': '1', 'app': 'zfbapt', 'appName': 'XXXX System', 'priority': '1', 'priorityName': 'Emergency', 'title': 'message test 1', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX System System', 'priority': '2', 'priorityName': 'Normal', 'title': 'message test 2message test 2', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX System', 'priority': '2', 'priorityName': 'Normal', 'title': 'I am a message 3', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX System', 'priority': '2', 'priorityName': 'Normal', 'title': 'I am a message 3', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX System', 'priority': '2', 'priorityName': 'Normal', 'title': 'I am a message 3', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX System', 'priority': '2', 'priorityName': 'Normal', 'title': 'I am a message 3', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXX System', 'priority': '2', 'priorityName': 'Normal', 'title': 'I am a message 3', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' },
|
|
|
|
+ { 'id': 2, 'type': '2', 'app': 'zfbapt', 'appName': 'XXXXXXXXXXXX System', 'priority': '2', 'priorityName': 'Normal', 'title': 'I am a message too 4', 'createDate': '2023-07-09 16:01:02', 'createUser': 'zhang san', 'status': '0' }
|
|
|
|
+ ],
|
|
|
|
+ todoData2: [],
|
|
|
|
+ doneData: []
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -212,6 +240,7 @@ export default {
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
$gridBgColor: #ffffff;
|
|
$gridBgColor: #ffffff;
|
|
|
|
+$msgCardHeaderHeight: 43px;
|
|
|
|
|
|
.searh-row {
|
|
.searh-row {
|
|
height: 100%;
|
|
height: 100%;
|
|
@@ -219,37 +248,57 @@ $gridBgColor: #ffffff;
|
|
background-color: $gridBgColor;
|
|
background-color: $gridBgColor;
|
|
}
|
|
}
|
|
|
|
|
|
-.box-card {
|
|
|
|
|
|
+.card-box {
|
|
height: 100%;
|
|
height: 100%;
|
|
|
|
|
|
- ::v-deep .el-card__header{
|
|
|
|
- padding: 10px 10px !important;
|
|
|
|
- span{
|
|
|
|
- font-weight: bold;
|
|
|
|
|
|
+ ::v-deep {
|
|
|
|
+ .el-card__header {
|
|
|
|
+ padding: 10px 10px !important;
|
|
|
|
+ height: $msgCardHeaderHeight;
|
|
|
|
+ span{
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
|
|
- ::v-deep .el-card__body {
|
|
|
|
|
|
+ .el-card__body {
|
|
|
|
+ height: calc(100% - #{$msgCardHeaderHeight});
|
|
padding: 0 10px 10px 10px;
|
|
padding: 0 10px 10px 10px;
|
|
|
|
+ &>* {
|
|
|
|
+ height: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-.card-tab-box {
|
|
|
|
|
|
+.message-content {
|
|
|
|
+ .message-filter_box {
|
|
|
|
+ height: 30px;
|
|
|
|
+ &>span {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
::v-deep {
|
|
::v-deep {
|
|
|
|
+ .el-tabs__header {
|
|
|
|
+ height: 40px;
|
|
|
|
+ }
|
|
.el-tabs__item {
|
|
.el-tabs__item {
|
|
font-size: 18px !important;
|
|
font-size: 18px !important;
|
|
}
|
|
}
|
|
|
|
+ .el-tabs__content {
|
|
|
|
+ height: calc(100% - 55px);
|
|
|
|
+
|
|
|
|
+ .el-tab-pane{
|
|
|
|
+ height: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
.el-table .cell {
|
|
.el-table .cell {
|
|
padding-left: 0 !important;
|
|
padding-left: 0 !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-.filter-box>span {
|
|
|
|
- display: inline-block;
|
|
|
|
- font-size: 14px;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
.priority-box{
|
|
.priority-box{
|
|
display: inline-block;
|
|
display: inline-block;
|
|
padding: 0 5px;
|
|
padding: 0 5px;
|