对接首页的消息和待办
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<div class="JNoData">
|
||||
<a-icon class="icon" type="inbox"/>
|
||||
<br/>
|
||||
{{$t('noData')}}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'JNoData'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.JNoData {;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
text-align: center;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-size: 34px;
|
||||
}
|
||||
</style>
|
||||
@@ -27,6 +27,7 @@ import JSwitch from './JSwitch.vue'
|
||||
import JTime from './JTime.vue'
|
||||
import JTreeTable from './JTreeTable.vue'
|
||||
import JLoading from './JLoading.vue'
|
||||
import JNoData from './JNoData.vue'
|
||||
//jerobiz
|
||||
import JSelectDepart from '../jerobiz/JSelectDepart.vue'
|
||||
import JSelectMultiUser from '../jerobiz/JSelectMultiUser.vue'
|
||||
@@ -70,5 +71,6 @@ export default {
|
||||
Vue.component('JSelectMultiUser', JSelectMultiUser)
|
||||
Vue.component('JSelectRole', JSelectRole)
|
||||
Vue.component('JSelectUserByDep', JSelectUserByDep)
|
||||
Vue.component('JNoData', JNoData)
|
||||
}
|
||||
}
|
||||
@@ -2,37 +2,90 @@
|
||||
<div class="myList-box">
|
||||
<div class="header-text">
|
||||
<div class="header-text-left">{{this.$t('myList')}}</div>
|
||||
<div class="header-text-right">
|
||||
<div class="header-text-right" @click="moreClick">
|
||||
{{$t('more')}}
|
||||
<img src="../../../assets/gengduo.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="myList-box-content">
|
||||
<div class="myList-box-content-box" v-for="item in 4">
|
||||
<div class="myList-box-content" v-if="dataSource.length > 0">
|
||||
<div class="myList-box-content-box" v-for="(item,index) in dataSource" :key="index" @click="prcClick(item)">
|
||||
<div class="top">
|
||||
<span class="top-text">GB 7258 - 2017</span>
|
||||
<span class="top-admin">握手流程</span>
|
||||
<span class="top-text" :title="item.prcNum">{{item.prcNum}}</span>
|
||||
<span class="top-admin" :title="prcTypeName[item.prcType]">{{prcTypeName[item.prcType]}}</span>
|
||||
</div>
|
||||
<div class="button">
|
||||
2022-04-04 12:00:00
|
||||
{{moment(item.createTime).format('YYYY-MM-DD HH:mm:ss')}}
|
||||
</div>
|
||||
<div class="with">
|
||||
{{$t('Pending')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="height: 300px;position: relative">
|
||||
<JNoData/>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'myList'
|
||||
name: 'myList',
|
||||
data() {
|
||||
return {
|
||||
pageSize: 4,
|
||||
pageNo: 1,
|
||||
dataSource: [],
|
||||
loading:false,
|
||||
prcTypeName: {
|
||||
1: this.$t('taskConfirmationProcess')
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.queryProcess()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
queryProcess() {
|
||||
this.loading = true
|
||||
let parmes = {}
|
||||
parmes.current = this.pageNo
|
||||
parmes.size = this.pageSize
|
||||
parmes.userId = this.userInfo().userId
|
||||
postAction('task/todoTaskList', parmes).then((res) => {
|
||||
this.dataSource = res.list || []
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
moreClick() {
|
||||
this.$router.push({
|
||||
path: '/ProcessCenter'
|
||||
})
|
||||
},
|
||||
prcClick(row) {
|
||||
let index = row.taskIds.lastIndexOf(',')
|
||||
row.taskIds = row.taskIds.slice(0, index)
|
||||
if (row.prcType == '1') {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/handshakeProcess',
|
||||
query: row
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.myList-box {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
|
||||
.header-text {
|
||||
width: 100%;
|
||||
@@ -50,6 +103,7 @@
|
||||
font-weight: 400;
|
||||
color: #9B9DA9;
|
||||
margin-top: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +120,7 @@
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 14px;
|
||||
position: relative;
|
||||
|
||||
cursor: pointer;
|
||||
.top {
|
||||
.top-text {
|
||||
font-size: 16px;
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
<div class="myNews-box">
|
||||
<div class="header-text">
|
||||
<div class="header-text-left">{{this.$t('myNews')}}</div>
|
||||
<div class="header-text-right">
|
||||
<div class="header-text-right" @click="moreClick">
|
||||
{{$t('more')}}
|
||||
<img src="../../../assets/gengduo.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="myNews-box-content">
|
||||
<div class="myNews-box-content-box" v-for="item in 4">
|
||||
<div class="myNews-box-content" v-if="dataSource.length > 0">
|
||||
<div class="myNews-box-content-box" v-for="(item,index) in dataSource" :key="index" @click="magClick(item)">
|
||||
<img src="../../../assets/wdxx.png" alt="">
|
||||
<div class="content-box">
|
||||
<div class="top">
|
||||
XX向您推送了标准 GB 7258 - 2017
|
||||
<div class="top" :title="item.msgContent">
|
||||
{{item.msgContent}}
|
||||
</div>
|
||||
<div class="botton">
|
||||
2022-04-04 12:00:00
|
||||
{{item.sendTime}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
@@ -23,18 +23,70 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="height: 300px;position: relative">
|
||||
<JNoData/>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, putAction, deleteAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'myNews'
|
||||
name: 'myNews',
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
list: '/sys/sysAnnouncementSend/getMyAnnouncementSend',
|
||||
readAllMsg: 'sys/sysAnnouncementSend/read'
|
||||
},
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 4,
|
||||
dataSource: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
getAction(this.url.list, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.records || []
|
||||
this.loading = false
|
||||
} else {
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
magClick(row) {
|
||||
getAction(this.url.readAllMsg, { ids: row.id }).then((res) => {
|
||||
})
|
||||
this.$router.push({
|
||||
path: '/system/MessageDetails',
|
||||
query: row
|
||||
})
|
||||
},
|
||||
moreClick() {
|
||||
this.$router.push({
|
||||
path: '/isps/userAnnouncement'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.myNews-box {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
|
||||
.header-text {
|
||||
width: 100%;
|
||||
@@ -52,6 +104,7 @@
|
||||
font-weight: 400;
|
||||
color: #9B9DA9;
|
||||
margin-top: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +118,7 @@
|
||||
border-radius: 4px;
|
||||
height: 68px;
|
||||
margin-bottom: 14px;
|
||||
cursor: pointer;
|
||||
|
||||
img {
|
||||
width: 36px;
|
||||
|
||||
Reference in New Issue
Block a user