|
|
@@ -16,10 +16,10 @@
|
|
|
<el-col :xs="24" :sm="12" :md="9" :lg="9">
|
|
|
<el-card class="card-group">
|
|
|
<p class="card-title">待办事项</p>
|
|
|
- <el-row :gutter="20">
|
|
|
+ <el-row v-if="dataList.length > 0" :gutter="20">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" v-for="(v,i) in dataList" :key="i">
|
|
|
<div class="card-panel">
|
|
|
- <div class="card-panel-icon-wrapper icon-people">
|
|
|
+ <div class="card-panel-icon-wrapper icon-people" @click="clickNum(v)">
|
|
|
<!-- <svg-icon icon-class="example" class-name="card-panel-icon" />-->
|
|
|
<img class="card-item-icon" :src="require(`../assets/icons/home/${v.taskTypeText}.png`)" alt="">
|
|
|
<div class="card-icon-text">
|
|
|
@@ -38,6 +38,9 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+ <div style="padding: 25px;" v-else>
|
|
|
+ <el-empty description="暂无数据"></el-empty>
|
|
|
+ </div>
|
|
|
</el-card>
|
|
|
</el-col>
|
|
|
|
|
|
@@ -48,9 +51,11 @@
|
|
|
<el-tab-pane>
|
|
|
<span slot="label" class="tab_font">通知公告</span>
|
|
|
<div class="tab-panel">
|
|
|
- <div v-if="msgsList && msgsList.length > 0" class="msg-item" v-for="(v,i) in msgsList" :key="v.id" @click="showMsg(v)">
|
|
|
+ <div v-if="msgsList.length > 0">
|
|
|
+ <div class="msg-item" v-for="(v,i) in msgsList" :key="v.id" @click="showMsg(v)">
|
|
|
<span class="item-title">{{v.title}}</span>
|
|
|
<span class="item-time">{{v.publishTime}}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<el-empty v-else description="暂无数据"></el-empty>
|
|
|
</div>
|
|
|
@@ -58,12 +63,15 @@
|
|
|
<el-tab-pane label="知识库">
|
|
|
<span slot="label" class="tab_font">知识库</span>
|
|
|
<div class="tab-panel">
|
|
|
- <div class="file-item" v-for="(v,i) in fileList" :key="i">
|
|
|
- <a :href="imageUrl(v.url)" target="_blank">
|
|
|
- <span><i class="el-icon-document"></i>{{v.name}}</span>
|
|
|
- <span>{{v.createTime}}</span>
|
|
|
- </a>
|
|
|
+ <div v-if="fileList.length > 0">
|
|
|
+ <div class="file-item" v-for="(v,i) in fileList" :key="i">
|
|
|
+ <a :href="imageUrl(v.url)" target="_blank">
|
|
|
+ <span><i class="el-icon-document"></i>{{v.name}}</span>
|
|
|
+ <span>{{v.createTime}}</span>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ <el-empty v-else description="暂无数据"></el-empty>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
@@ -73,17 +81,17 @@
|
|
|
|
|
|
<!-- 新闻详情 -->
|
|
|
<DialogCom
|
|
|
- title="详情"
|
|
|
+ title="通知公告"
|
|
|
:visible.sync="show"
|
|
|
width="1000px"
|
|
|
append-to-body
|
|
|
@close="handleClose">
|
|
|
<div class="panel-box" v-if="selectMsg">
|
|
|
<h2>{{selectMsg.title}}</h2>
|
|
|
- <p>{{selectMsg.publishTime}}</p>
|
|
|
+ <p>发布日期:{{selectMsg.publishTime}}</p>
|
|
|
<div class="content-box">
|
|
|
- <p>{{selectMsg.content}}</p>
|
|
|
- <div>
|
|
|
+ <p class="text-box">{{selectMsg.content}}</p>
|
|
|
+ <div v-if="selectMsg.fileList && selectMsg.fileList.length > 0">
|
|
|
附件:
|
|
|
<ul v-if="selectMsg.fileList && selectMsg.fileList.length > 0">
|
|
|
<li v-for="(v,i) in selectMsg.fileList" :key="v.url">
|
|
|
@@ -105,6 +113,7 @@ import CountTo from 'vue-count-to'
|
|
|
import {homeData,fileList} from '@/api/login'
|
|
|
import {imageUrl} from "@/utils/ruoyi";
|
|
|
import dayjs from 'dayjs'
|
|
|
+import {mapGetters} from "vuex";
|
|
|
export default {
|
|
|
name: 'Index',
|
|
|
components: {
|
|
|
@@ -165,6 +174,9 @@ export default {
|
|
|
mounted(){
|
|
|
this.getData();
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(["roleList",'isAdmin']),
|
|
|
+ },
|
|
|
methods: {
|
|
|
imageUrl,
|
|
|
clickNum(item){
|
|
|
@@ -185,22 +197,31 @@ export default {
|
|
|
this.selectMsg = null;
|
|
|
},
|
|
|
getData(){
|
|
|
- homeData().then(res=>{
|
|
|
- this.dataList = res.data;
|
|
|
- });
|
|
|
- fileList().then(res=>{
|
|
|
- let {index1,index2} = res.data;
|
|
|
- if(index1){
|
|
|
- this.msgsList = index1;
|
|
|
- }
|
|
|
- if(!index2)return;
|
|
|
- this.fileList = index2.map(v=>{
|
|
|
- return JSON.parse(v)
|
|
|
+ console.log(this.roleList,'1213')
|
|
|
+ if(this.roleList.length > 0 && this.roleList[0] !== "ROLE_DEFAULT"){
|
|
|
+ homeData().then(res=>{
|
|
|
+ this.dataList = res.data;
|
|
|
});
|
|
|
- this.fileList.forEach(v=>{
|
|
|
- v.createTime = dayjs(v.createTime).format('YYYY-MM-DD')
|
|
|
+ fileList().then(res=>{
|
|
|
+ let {index1,index2} = res.data;
|
|
|
+ if(index1){
|
|
|
+ this.msgsList = index1;
|
|
|
+ }
|
|
|
+ if(!index2)return;
|
|
|
+ this.fileList = index2.map(v=>{
|
|
|
+ return JSON.parse(v)
|
|
|
+ });
|
|
|
+ this.fileList.forEach(v=>{
|
|
|
+ v.createTime = dayjs(v.createTime).format('YYYY-MM-DD')
|
|
|
+ })
|
|
|
})
|
|
|
- })
|
|
|
+ } else {
|
|
|
+ if(!this.isAdmin){
|
|
|
+ this.$alert('请尽快联系管理员设置角色信息', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -256,6 +277,7 @@ export default {
|
|
|
background: linear-gradient(to right, #71bfe3, #fff);
|
|
|
}
|
|
|
.card-group{
|
|
|
+ height: 528px;
|
|
|
.card-title{
|
|
|
margin: 0;
|
|
|
}
|
|
|
@@ -390,6 +412,7 @@ export default {
|
|
|
.panel-box{
|
|
|
>h2{
|
|
|
text-align: center;
|
|
|
+ margin-top: 0;
|
|
|
}
|
|
|
>p{
|
|
|
font-size: 14px;
|
|
|
@@ -397,15 +420,19 @@ export default {
|
|
|
text-align: end;
|
|
|
}
|
|
|
.content-box{
|
|
|
- max-height: 600px;
|
|
|
- overflow: auto;
|
|
|
>p{
|
|
|
text-indent: 2em;
|
|
|
word-break: break-word;
|
|
|
white-space: pre-wrap;
|
|
|
text-align: justify;
|
|
|
- width: 100%;
|
|
|
+ margin-left: 34px;
|
|
|
+ margin-right: 34px;
|
|
|
color: #777;
|
|
|
+ height: 450px;
|
|
|
+ overflow: auto;
|
|
|
+ background-color: #f5f5f5;
|
|
|
+ padding: 10px;
|
|
|
+ line-height: 1.5;
|
|
|
}
|
|
|
>div{
|
|
|
>ul{
|